Foros del Web » Programando para Internet » PHP »

problema con formulario

Estas en el tema de problema con formulario en el foro de PHP en Foros del Web. Hola a todos este es mi primera participacion en el foro. Mi problema es el siguiente: Tengo un formulario y quiero que los datos que ...
  #1 (permalink)  
Antiguo 04/12/2009, 14:10
Avatar de mau_87lp  
Fecha de Ingreso: diciembre-2009
Ubicación: La Plata,Buenos Aires.
Mensajes: 72
Antigüedad: 14 años, 11 meses
Puntos: 3
problema con formulario

Hola a todos este es mi primera participacion en el foro.

Mi problema es el siguiente:


Tengo un formulario y quiero que los datos que ingresen se guarden en la BD. Tengo lo siguiente:


Formulario

Código HTML:
<html>
<head>
<title></title>
</head>
<body>
<form action="conexion.php" method="post" >
Nombre: <input type="text" name="nombre"><br/>
Segundo Nombre: <input type="text" name="segnom"><br/>
Apellido: <input type="text" name="ape"><br/>
Telefono: <input type="text" name="tel"><br/>
Telefono trabajo: <input type="text" name="teltra"><br/>
Direccion: <input type="text" name="dir"><br/>
Diriccion de trabajo: <input type="text" name="dirtra"><br/>
Celular: <input type="text" name="cel"><br/>
Celular trabajo: <input type="text" name="celtra"><br/>
E-mail: <input type="text" name="email"><br/>
<input type="submit" value="Guardar">
</form>
</body>
</html> 
y parte php


Código PHP:
<?php
$conexion
=mysql_connect("localhost","root",""
  or die(
"Problemas en la conexion");
mysql_select_db("agenda",$conexion) or
  die(
"Problemas en la seleccion de la base de datos");
mysql_query("insert into datos(nombre,segnom,ape,tel,teltra,dir,dirtra,cel,celtra,email) values 
   ('$_POST["
nombre"]','$_POST["segnom"]','$_POST["ape"]',$_POST["tel"],$_POST["teltra"],'$_POST["dir"]','$_POST["dirtra"]',$_POST["cel"],$_POST["celtra"],'$_POST["email"]';)"
   
$conexion) or die("Problemas en el select".mysql_error());
mysql_close($conexion);
echo 
"El alumno fue dado de alta.";
?>
al ejecutar este formulario me tira el siguiente error:


Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\wamp\www\...........

otra consulta es si en este ejemplo esta bien

Código PHP:
'$_POST["nombre"]' 
o va sin comillas dobles o que esta mal?


a y por las dudas aca esta la bd

nombre varchar(30) Sí NULL
segnom varchar(30) Sí NULL
ape varchar(30) Sí NULL
tel int(20) Sí NULL
teltra int(20) Sí NULL
dir varchar(50) Sí NULL
dirtra varchar(50) Sí NULL
cel int(25) Sí NULL
celtra int(25) Sí NULL
email varchar(50) Sí NULL


desde ya muchas gracias

Un saludo
  #2 (permalink)  
Antiguo 04/12/2009, 14:19
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 15 años
Puntos: 65
Respuesta: problema con formulario

Para mi gusto, desprolijisimo.. Lo que se hace gralmente parano volverte loco cuando tenes este tipo de cosas, es separar cada $_POST en una variable con un nombre mas amigable

Código PHP:
<?php
#mas amigable =)

$nombre=$_POST['nombre'];
$segnom=$_POST['segnom'];
$ape=$_POST['ape'];
$tel=$_POST['tel'];
$teltra=$_POST['teltra'];
$dire=$_POST['dir'];
$dirtra=$_POST['dirtra'];
$cel=$_POST['cel'];
$celtra=$_POST['celtra'];
$mail=$_POST['email'];

#y ahora haces tu consulta asi:

$sql "insert into datos(nombre,segnom,ape,tel,teltra,dir,dirtra,cel,celtra,email)";
$sql .=" values ('$nombre','$segnom','$ape','$tel','$teltra','$dire','$dirtra','$cel','$celtra','$mail')";

$consulta=mysql_query($sql$conexion)or die("Error");

?>
  #3 (permalink)  
Antiguo 04/12/2009, 15:24
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: problema con formulario

Hola

Cita:
Iniciado por mau_87lp Ver Mensaje
otra consulta es si en este ejemplo esta bien

Código PHP:
'$_POST["nombre"]' 
o va sin comillas dobles o que esta mal?
En realidad ha de ir '".$_POST['nombre']."' o ".$_POST['nombre']." aunque lo mejor es hacerlo como te ha indicado jackson666 ya que así puede validar el tipo de datos antes de atacar a la bd

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 04/12/2009, 23:35
Avatar de mau_87lp  
Fecha de Ingreso: diciembre-2009
Ubicación: La Plata,Buenos Aires.
Mensajes: 72
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: problema con formulario

Cita:
Iniciado por jackson666 Ver Mensaje
Para mi gusto, desprolijisimo.. Lo que se hace gralmente parano volverte loco cuando tenes este tipo de cosas, es separar cada $_POST en una variable con un nombre mas amigable

Código PHP:
<?php
#mas amigable =)

$nombre=$_POST['nombre'];
$segnom=$_POST['segnom'];
$ape=$_POST['ape'];
$tel=$_POST['tel'];
$teltra=$_POST['teltra'];
$dire=$_POST['dir'];
$dirtra=$_POST['dirtra'];
$cel=$_POST['cel'];
$celtra=$_POST['celtra'];
$mail=$_POST['email'];

#y ahora haces tu consulta asi:

$sql "insert into datos(nombre,segnom,ape,tel,teltra,dir,dirtra,cel,celtra,email)";
$sql .=" values ('$nombre','$segnom','$ape','$tel','$teltra','$dire','$dirtra','$cel','$celtra','$mail')";

$consulta=mysql_query($sql$conexion)or die("Error");

?>

Perdon por mi ignorancia pero soy nuevo en esto. En el codigo que cito donde pongo la conexion a la base de datos y el select. Este codigo lo tengo que agregar en el codigo? donde lo pongo?


Código PHP:
$conexion=mysql_connect("localhost","root","") or die("Problemas en la conexion");
mysql_select_db("agenda",$conexion) or die("Problemas en la seleccion de la base de datos"); 
Este codigo esta bien, como pregunto lo tengo que sumar al otro codigo?

desde ya muchas gracias a jackson666,Adler y a todos los que dejen su granito de arena.
  #5 (permalink)  
Antiguo 05/12/2009, 06:11
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: problema con formulario

Hola

Sí, claro. Esa es la cadena de conexión a la bd

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:02.