Título: Un register.php que no registra! HELP Publicado por: jeanbkn en 14 Octubre 2011, 02:51 am Buenas, Seré breve para que no se aburran: Compré un hosting basico... busque un codigo en php que sirve de register, lo encontre, ese register va a registrar.php, y ese registrar.php tiene un include "conexion...", los datos estan bien puestos(70% de que esten bien) y el error que me da es /*Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/jean/public_html/METHOD.php on line 12 *\
register.php Código: <body> <body style="background:#64BDD8"> <p class="margtitule"><biglined>Undefined site</biglined></p> <p class="marg"> <FORM ACTION="METHOD.php" METHOD="post"> Nick: <INPUT TYPE="text" NAME="nick" SIZE="20" MAXLENGTH="20"> <BR> Email: <INPUT TYPE="text" NAME="email" SIZE="28" MAXLENGTH="100"> <BR> Password: <INPUT TYPE="password" NAME="password" SIZE="28" MAXLENGTH="20"> <BR> Nombre: <INPUT TYPE="text" NAME="nombre" SIZE="28" MAXLENGTH="100"> <BR> <INPUT TYPE="submit" CLASS="boton" VALUE="Registrar"> </FORM> </p> </body> METHOD.PHP Código: <?php // y el mysqlconect.php{ include("MYSQLCONECT.php"); { $mensaje = str_replace("<","<",$mensaje); $mensaje = str_replace(">",">",$mensaje); $mensaje = str_replace("'","'",$mensaje); $mensaje = str_replace("'","'",$mensaje); $mensaje = str_replace("\\","\",$mensaje); return $mensaje; } if(trim($HTTP_POST_VARS["nick"]) != trim($HTTP_POST_VARS["password"]) !=) { $sql = "SELECT id FROM usuarios WHERE nick='".quitar($HTTP_POST_VARS["nick"])."'"; $result = mysql_query($sql); if($row = mysql_fetch_array($result)) { echo "Error, nick escogido por otro usuario"; } else { $sql = "INSERT INTO usuarios (nick,password,nombre,email) VALUES ("; $sql .= "'".quitar($HTTP_POST_VARS["nick"])."'"; $sql .= ",'".quitar($HTTP_POST_VARS["password"])."'"; $sql .= ",'".quitar($HTTP_POST_VARS["nombre"])."'"; $sql .= ",'".quitar($HTTP_POST_VARS["email"])."'"; $sql .= ")"; mysql_query($sql); echo "Registro exitoso!"; } mysql_free_result($result); } else { echo "Debe llenar como minimo los campos de email y password"; } mysql_close(); ?> Código: <?php function Conectarse() { if (!($link=mysql_connect("localhost","jean_xd","MD5CHECKSUM"))) {echo "Error en el nombre de usuario y contrase単a,revisa el archivo conex.php"; exit(); } if (!mysql_select_db("jean_db",$link)) {echo "Error en el nombre de la base de datos,revisa el archivo conex.php"; exit(); } return $link; } ?> PD: por cierto quiero hacer el registro vulnerable para practicar un poco las vulnerabilidades. Porque me da problema con la linea 12 = gracias :D Título: Re: Un register.php que no registra! HELP Publicado por: diego_lp en 14 Octubre 2011, 15:19 pm Hola, la sintaxis de METHOD.php esta mal, modifiqué algunas partes a ver si ahora no te da error, prueba reemplazar el código de ese archivo por ésto:
Código: <?php // Primero respalda el archivo original por si éste código no te funciona.{ include("MYSQLCONECT.php"); { $mensaje = str_replace("<","<",$mensaje); $mensaje = str_replace(">",">",$mensaje); $mensaje = str_replace("'","'",$mensaje); $mensaje = str_replace("'","'",$mensaje); $mensaje = str_replace("\\",'\"',$mensaje); return $mensaje; } if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["password"]) != "") { $sql = "SELECT id FROM usuarios WHERE nick='".quitar($HTTP_POST_VARS["nick"])."'"; $result = mysql_query($sql); if($row = mysql_fetch_array($result)) { echo "Error, nick escogido por otro usuario"; } else { $sql = "INSERT INTO usuarios (nick,password,nombre,email) VALUES ("; $sql .= "'".quitar($HTTP_POST_VARS["nick"])."'"; $sql .= ",'".quitar($HTTP_POST_VARS["password"])."'"; $sql .= ",'".quitar($HTTP_POST_VARS["nombre"])."'"; $sql .= ",'".quitar($HTTP_POST_VARS["email"])."'"; $sql .= ")"; mysql_query($sql); echo "Registro exitoso!"; } mysql_free_result($result); } else { echo "Debe llenar como minimo los campos de email y password"; } mysql_close(); } ?> Suerte. Saludos. Título: Re: Un register.php que no registra! HELP Publicado por: jeanbkn en 14 Octubre 2011, 16:59 pm Hola, la sintaxis de METHOD.php esta mal, modifiqué algunas partes a ver si ahora no te da error, prueba reemplazar el código de ese archivo por ésto: Bueno con el codigo que me diste, ahora queda en blanco la pagina xD, en verdad ya no se que hacer he buscado 50codigos y ni uno funciona, con el method.php antiguo me sale: Primero respalda el archivo original por si éste código no te funciona. Suerte. Saludos. Código: Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/jean/public_html/METHOD.php on line 12 y la linea 12 es esta: Código: if(trim($HTTP_POST_VARS["nick"]) != trim($HTTP_POST_VARS["password"]) !=) Ya no se que hacer :S y por cierto si lo hago con ASP seria mejor, peor o igual ? D:Título: Re: Un register.php que no registra! HELP Publicado por: cassiani en 14 Octubre 2011, 18:24 pm Código: Ya no se que hacer :S lo que debes hacer es dejar de copiar código a lo loco y estudiar lo que estas haciendo, si no lo entiendes y no te propones entenderlo, conseguirás nada. prueba este y avisa como te va: Código
Título: Re: Un register.php que no registra! HELP Publicado por: jeanbkn en 14 Octubre 2011, 20:02 pm Con tu codigo me sigue dando error la linea 12 aver si mañana tengo tiempo tratare de aprender un poco mas de SQL , y con respecto al mysql_real_escape... supongo que es como las magic quotes no? si lo quiero hacer vulnerable le saco eso? y el ASP que tan bueno es para registro?
Título: Re: Un register.php que no registra! HELP Publicado por: cassiani en 15 Octubre 2011, 13:42 pm se me escapo un paréntesis, cambialo por:
linea 12: Código: if (mysql_num_rows($result) > 0){ Código: http://php.net/manual/es/function.mysql-real-escape-string.php |