Título: registrar.php que no hace nada??
Publicado por: Anonx en 12 Febrero 2013, 22:32 pm
hola, verán, llevo como 3 horas intentando hacer que funcione bien el código, mirando sus errores y tal, ya comente en otros temas aqui en el foro, y me ayudaron bastante pero ahora el archivo registrar.php no hace absolutamente nada! me intento registrar bien y no funciona, los <form> </form> están en su sitio, el código de registrar.php es este: <?php include "config.php"; function quitar($mensaje) { $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["email"]) != "") { $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(); ?> y el código de config.php es este: <? mysql_connect("mysql.host.com", "u193829845_admin","PASSWORD") or die(mysql_error()); mysql_select_db("u193829845_name") or die(mysql_error()); ?> y cuando le doy a registrar me aparece: Debe llenar como minimo los campos de email y passwordy confiero si lo rellene y si, lo rellené todo lo del formulario y me aparece el mismo mensaje, si os hace falta algún otro archivo que creáis que es el responsable del error me lo decís y lo pongo, muchas gracias, espero que me podáis ayudar. un saludo.
Título: Re: registrar.php que no hace nada??
Publicado por: EFEX en 12 Febrero 2013, 23:34 pm
$HTTP_POST_VARS es obsoleta utiliza $_POST. Podrias mostrar tambien el formulario, viendo el codigo solo verifica que las variables 'nick' y 'email' no sean vacias olvidandose de 'password' y 'nombre' ;-)
hay muchos tutoriales, aqui algunos para que leas y te entretengas hasta mañana ;)
http://forum.sa-mp.com/showthread.php?t=126773 http://www.php-hispano.net/archivos/Manuales/51/1/Sistema-de-registro-de-usuarios1.html http://www.computersneaker.com/registration-form-php-script/ http://www.computersneaker.com/php-login-script/ http://net.tutsplus.com/tutorials/php/user-membership-with-php/
Título: Re: registrar.php que no hace nada??
Publicado por: Anonx en 12 Febrero 2013, 23:58 pm
gracias, el formulario de registro: <form action="registrar.php" method="post" autocomplete="off" <input name="nick" placeholder="Nombre de usuario" type="text"> <input name="email" placeholder="Email" type="text"> <input name="password" placeholder="Contraseña" type="password"> <input name="nombre" placeholder="Nombre" type="text"> <button type="submit">Registrarse</button> </form> y formulario de login: <form action="ingresar.php" method="post" autocomplete="off" <input name="nick" placeholder="Nombre de usuario" type="text"> <input name="password" placeholder="Contraseña" type="password"> <button type="submit">Acceder</button> </form> y por si acaso, el ingresar xD: <?php include "config.php"; function quitar($mensaje) { $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"]) != "") { $nickN = quitar($HTTP_POST_VARS["nick"]); $passN = quitar($HTTP_POST_VARS["password"]);
$result = mysql_query("SELECT password FROM usuarios WHERE nick='$nickN'"); if($row = mysql_fetch_array($result)) { if($row["password"] == $passN) { //90 dias dura la cookie setcookie("usNick",$nickN,time()+7776000); setcookie("usPass",$passN,time()+7776000); ?> Ingreso exitoso, ahora sera dirigido a la pagina principal. <SCRIPT LANGUAGE="javascript"> location.href = "index.php"; </SCRIPT> <? } else { echo "Password incorrecto"; } } else { echo "Usuario no existente en la base de datos"; } mysql_free_result($result); } else { echo "Debe especificar un nick y password"; } mysql_close(); ?> ah, una pregunta, para cambiar el... por ejemplo, en esta linea de codigo if(trim($HTTP_POST_VARS["nick"]) el $HTTP_POST_VARS solo hace falta cambiar $HTTP_POST_VARS por $_POST? ?? un saludo
Título: Re: registrar.php que no hace nada??
Publicado por: EFEX en 13 Febrero 2013, 00:15 am
el $HTTP_POST_VARS solo hace falta cambiar $HTTP_POST_VARS por $_POST? ?? Si, fijate en el formulario de registro falta cerrar la etiqueta form. <form action="registrar.php" method="post" autocomplete="off">
|