Foros del Web » Programando para Internet » PHP »

problema con insert.php "Parse error...."

Estas en el tema de problema con insert.php "Parse error...." en el foro de PHP en Foros del Web. cuando lleno el formulario de registro de mi pagina (el register.html) me redirige al insert.php pero me tira el sigueinte error Parse error: syntax error, ...
  #1 (permalink)  
Antiguo 12/05/2010, 21:20
 
Fecha de Ingreso: agosto-2009
Mensajes: 12
Antigüedad: 14 años, 8 meses
Puntos: 0
Exclamación problema con insert.php "Parse error...."

cuando lleno el formulario de registro de mi pagina (el register.html) me redirige al insert.php pero me tira el sigueinte error

Parse error: syntax error, unexpected T_VARIABLE in /home/youyoung/public_html/insert.php on line 19

Código PHP:
Ver original
  1. <?
  2.    
  3.     if(isset($_POST['username']) && !empty($_POST['username']) &&
  4.     isset($_POST['password']) && !empty($_POST['password']) &&
  5.     isset($_POST['name']) && !empty($_POST['name']) &&
  6.     isset($_POST['lastname']) && !empty($_POST['lastname']) &&
  7.     isset ($_POST['country']) && !empty($_POST['country']) &&
  8.     isset ($_POST['email']) && !empty($_POST['email']) &&
  9.     isset ($_POST['paypalaccount']) && !empty($_POST['paypalaccount'])) {
  10.    
  11.      
  12.      $link = mysql_connect("localhost","database_name","adfg?k");
  13.         mysql_select_db("database_name",$link);
  14.        
  15.        
  16.          mysql_query("INSERT INTO users (username,password,name,lastname,country,email,paypalaccount)
  17.        VALUES ('{$_POST['username']}','{$_POST['password']}','{$_POST['name']}','{$_POST['lastname']}','{$_POST['country']}','{$_POST['email']}','{$_POST['paypalaccount']}")
  18.      
  19.      $my_error = mysql_error($link);
  20.  
  21.         if(!empty($my_error)) {
  22.  
  23.             echo "Ha habido un error al insertar los valores. $my_error";
  24.  
  25.         } else {
  26.  
  27.             echo "Los datos han sido introducidos satisfactoriamente";
  28.  
  29.         }
  30.  
  31.     } else {
  32.  
  33.         echo "Error, no ha introducido todos los datos";
  34.  
  35.     }
  36.  
  37. ?>



Ojalas me puedan ayudar, Gracias!

Última edición por razzis; 12/05/2010 a las 22:57
  #2 (permalink)  
Antiguo 12/05/2010, 21:23
Avatar de giks  
Fecha de Ingreso: mayo-2010
Ubicación: Santiago, Chile
Mensajes: 17
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: problema con insert.php "Parse error...."

eso pasa cuando hay hay una variable mal escrita o de mas.

(si no me equivoco)
  #3 (permalink)  
Antiguo 12/05/2010, 21:32
Avatar de arthpix  
Fecha de Ingreso: diciembre-2003
Ubicación: Cancún
Mensajes: 2.340
Antigüedad: 20 años, 4 meses
Puntos: 93
Respuesta: problema con insert.php "Parse error...."

Te falta un ";" al final de la función mysql_query(); en la línea 17, por eso te dice que "la variable siguiente es inesperada"
__________________
Antes de hacer rabietas infórmate: Linux != Windows
  #4 (permalink)  
Antiguo 12/05/2010, 21:32
 
Fecha de Ingreso: mayo-2007
Mensajes: 7
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: problema con insert.php "Parse error...."

Hola, por mi experiencia en programación te diré que cuando veas un error no solo veas esa linea si no también fíjate en la linea de código que esta sobre ella, por lo que veo me parece que a la linea de arriba le falta un ")" , un """y el ";", osea estos 3 juntos: "); intenta agregar eso y ve si funciona.
  #5 (permalink)  
Antiguo 12/05/2010, 22:52
 
Fecha de Ingreso: agosto-2009
Mensajes: 12
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: problema con insert.php "Parse error...."

en realidad no era nada de lo que me dijeron si no que era que

Código PHP:
Ver original
  1. #
  2.       VALUES ('{$_POST['username']}','{$_POST['password']}','{$_POST['name']}','{$_POST['lastname']}','{$_POST['country']}','{$_POST['email']}','{$_POST['paypalaccount']}")

el problema era que despues del } venia un " ' " en vez de un " " "

pero ahora me tira el siguiente

Parse error: syntax error, unexpected T_STRING in /home/youyoung/public_html/insert.php on line 23 y la verdad es que no le veo ni le encuentro problemas a la linea 23 haber si me siguen ayudando, gracias!
  #6 (permalink)  
Antiguo 12/05/2010, 23:09
Avatar de arthpix  
Fecha de Ingreso: diciembre-2003
Ubicación: Cancún
Mensajes: 2.340
Antigüedad: 20 años, 4 meses
Puntos: 93
Respuesta: problema con insert.php "Parse error...."

Si quieres concatenar debería ser asi:
Código PHP:
Ver original
  1. echo "Ha habido un error al insertar los valores". $my_error;

Pero no creo que sea eso, me parece que simplemente imprimiría:
"Ha habido un error al insertar los valores. $my_error".

Si tomas en cuenta lo que bien dice DesolatorMagno Todavía puedes seguir teniendo problemas con la parte anterior del código.
__________________
Antes de hacer rabietas infórmate: Linux != Windows
  #7 (permalink)  
Antiguo 13/05/2010, 09:06
 
Fecha de Ingreso: mayo-2007
Mensajes: 7
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: problema con insert.php "Parse error...."

hola la verdad no me había fijado que te faltaba la ' hasta ahora, pero sigo creyendo que te falta lo que te dije, yo siempre tengo guardado en algún lugar ciertos códigos en caso de que me falle algo así que lo busque y aqui tengo el de mysql_query para insertar
Código PHP:
Ver original
  1. mysql_query("insert into clientes (nombre,telefono) values ('$nombre','$telefono')");

como veras termina con un ')");, porque? simplemente por la norma de balance de simbolos hay la misma cantidad que abre que la que cierra en cambio en el tuyo

Código PHP:
Ver original
  1. mysql_query("INSERT INTO users (username,password,name,lastname,country,email,paypalaccount)
  2.        VALUES ('{$_POST['username']}','{$_POST['password']}','{$_POST['name']}','{$_POST['lastname']}','{$_POST['country']}','{$_POST['email']}','{$_POST['paypalaccount']}")

hay 3 "(" y solo 2 ")" por lo que antes de la ultima parte ") deberia ir (agregando la comilla que falta) ') que cierra el paréntesis de value y luego colocar el ") que se encarga de cerrar el parentesis de mysql_query y por ultimo el famoso ; para terminar la expresion, osea algo así

Código PHP:
Ver original
  1. mysql_query("INSERT INTO users (username,password,name,lastname,country,email,paypalaccount)
  2.        VALUES ('{$_POST['username']}','{$_POST['password']}','{$_POST['name']}','{$_POST['lastname']}','{$_POST['country']}','{$_POST['email']}','{$_POST['paypalaccount']}')");

intenta colocarlo y ve si se quita el error.
  #8 (permalink)  
Antiguo 13/05/2010, 19:44
 
Fecha de Ingreso: agosto-2009
Mensajes: 12
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: problema con insert.php "Parse error...."

Desolator, Gracias, se arrego eso pero ahora tira el siguiente error


Parse error: syntax error, unexpected T_IF in /home/youyoung/public_html/insert.php on line 21

el problema es que los codigos no son mi fuerte sinceramente.
  #9 (permalink)  
Antiguo 14/05/2010, 18:35
 
Fecha de Ingreso: mayo-2007
Mensajes: 7
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: problema con insert.php "Parse error...."

En la linea 21 veo que estas usando la funcion mysql_error(), yo normalmente la uso mas o menos asi
Código PHP:
Ver original
  1. $sql= "SELECT * FROM usuario where blahblah";  
  2. $sql2=mysql_query($sql) or die(mysql_error());
no se si es la mas efectiva o si es la peor forma, pero hasta el momento me sirve para lo que necesito pues siempre me encargo de las validaciones antes, siempre trato de comprobar que todas las variables primarias( not null) estén llenas, comprobar que lo que insertare sea correcto y luego compruebo que no existe ese campo clave en la BD y si logra pasar todo ese proceso entonces inserto, por eso tiende a ser difícil que ocurra un error en el insertar y claro igual cuando termino lo pruebo XD.
Debido a eso no estoy muy familiarizado con el uso que le diste, si embargo el código que queda después del insertar en verdad es muy simple y no logre verle ningún problema, intenta poner en comentario todo desde la linea 19 hasta la 29 y ve si deja de dar error, si deja de dar error baja el comentario hasta la linea 21, si aparece error de nuevo entonces el problema es en esa parte XD, si en cambio te da error comenzando entonces es error de la linea 17, por supuesto intenta meter los datos correctamente al hacer la prueba, ya que no hay manejo del error. En casos como ese lo mejor que queda es usar la técnica del tanteo XD.

Etiquetas: register, syntax
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 03:42.