toy_land Posted August 23, 2008 Report Share Posted August 23, 2008 (edited) Les paso el codigo .php ya que el html es un mero formlulario sin nada fuera de lo comun: <?php mysql_connect("xxx","xxx"); mysql_select_db("xxx") or die ("Error al seleccionar la Base de Datos"); 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(); ?> Al momento de llenar el formulario y llamar a registrar.php me aparece el siguiente error: "Debe llenar como minimo los campos de email y password " Lo que entiendo es que no esta agarrando los campos de email y password por lo tanto debe haber problemas en esta sentencia : if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["email"]) != "") o no?? porfa que alguien me ayude no cacho mucho de php y esto me tiene parado. graciasss. de antemano chicos ahora edite el script pero me guarda espacions en blanco en todos los campos, excepto el de id, por k pasa eso?? les pego el script. <?php $nick=$_POST['nick']; $email=$_POST['email']; $password=$_POST['password']; $nombre=$_POST['nombre']; mysql_connect("localhost","root"); mysql_select_db("prueba") or die ("Error al seleccionar la Base de Datos"); 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; } $sql = "SELECT id FROM usuarios WHERE nick='".quitar($HTTP_POST_VARS["nick"])."'"; $result = mysql_query($sql); $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_close(); ?> Edited August 23, 2008 by toy_land Link to comment Share on other sites More sharing options...
shadowoh1 Posted August 23, 2008 Report Share Posted August 23, 2008 Aqui tienes el codigo, para que puedas continuar... <--Formulario--> <html> <head> <title>Formulario</title> </head> <body> <form name="form1" method="post" action="registrar.php"> <table width="80" border="1"> <tr> <td>Nick:</td> <td><input type="text" name="nick"></td> </tr> <tr> <td>Nombre:</td> <td><input type="text" name="nombre"></td> </tr> <tr> <td>password <td><input type="password" name="password"></td> </tr> <tr> <td>email</td> <td><input type="text" name="email"></td> </tr> <tr> <td colspan="2"><button type="submit">Enviar</button></td> </tr> </table> </form> </body> </html> <-- Registrar --> <? /* Funcion para conectarse a la base de datos Mysql */ function Conectarse() { if (!($link=mysql_connect("servidor","usuario","password"))) { echo "Error conectando a la base de datos."; exit(); } if (!mysql_select_db("base de datos",$link)) { echo "Error seleccionando la base de datos."; exit(); } return $link; } function quitar($mensaje) { $mensaje = str_replace("<","<",$mensaje); $mensaje = str_replace(">",">",$mensaje); $mensaje = str_replace("\'","'",$mensaje); $mensaje = str_replace('\"',"",$mensaje); return $mensaje; } /* realizo el link de conexion a la base de datos */ $link=Conectarse(); $nombre=$_POST['nombre']; $nick=$_POST['nick']; $email=$_POST['email']; $password=$_POST['password']; if(trim($HTTP_POST_VARS["nick"]) != "" && trim($HTTP_POST_VARS["nombre"]) != "" && trim($HTTP_POST_VARS["email"]) != "" && trim($HTTP_POST_VARS["password"]) != "") { $sql ="SELECT * 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 { mysql_query("insert into usuarios (nombre,nick,email,password) values ('$nombre','$nick','$email','$password')"); echo "Registro exitoso!"; } mysql_free_result($result); } else { echo "Debe llenar todos los campos"; } mysql_close(); ?> <-- Tabla Base de datos --> CREATE TABLE `usuarios` ( `id` int(255) NOT NULL auto_increment, `nick` varchar(255) NOT NULL, `password` text NOT NULL, `nombre` text NOT NULL, `email` text NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; Bueno espero que te sirva de mucho,suerte y animo para que aprendas mucho de este lindo mundo que es PHP.... Link to comment Share on other sites More sharing options...
toy_land Posted August 24, 2008 Author Report Share Posted August 24, 2008 viejo me sigue mostrando el mensaje debe llenar todos los campos.... nu cacho Link to comment Share on other sites More sharing options...
shadowoh1 Posted August 24, 2008 Report Share Posted August 24, 2008 (edited) vertifica que este llegando los datos desde el formulario: crea un nuevo archivo registrar.php <-- registrar.php --> <? $nombre=$_POST['nombre']; $nick=$_POST['nick']; $email=$_POST['email']; $password=$_POST['password']; echo 'Datos desde el Formulario<br>'; echo 'Nombre '.$nombre.'<br>'; echo 'nick '.$nick.'<br>'; echo 'email '.$email.'<br>'; echo 'password '.$password.'<br>'; ?> si llegan los datos todo deviera funcionar ok, ademas me indicas que version de php utilizas. Ahora si no llega nada, el problema esta en el formulario, y de ser haci pon el formulario que te indique en el primer post. Saludos.. :) :) :) Edited August 24, 2008 by shadowoh1 Link to comment Share on other sites More sharing options...
toy_land Posted August 31, 2008 Author Report Share Posted August 31, 2008 (edited) viejo hice todo lo que dijiste y me sigue apareciendo :"debe llenar todos los campos", verifique creando un nuevio registrar.php y me devuelve a la perfeccion. edito el copdigo y lo dejo de la siguiente manera, e inserta pefecto: <?php //conectamos y seleccionamos db mysql_connect("localhost","root"); mysql_select_db("prueba1") or die ("Error al seleccionar la Base de Datos"); $nombre=$_POST['nombre']; $nick=$_POST['nick']; $email=$_POST['email']; $password=$_POST['password']; mysql_query("insert into usuarios (nombre,nick,email,password) values ('$nombre','$nick','$email','$password')"); echo "Registro exitoso!"; mysql_close(); ?> Mi version de php es 5.2.6 Utilizo WAMP 5. Si lo dejo asi esta bien, pero la idea es que haya comprobacion de campos, que no este el usuario ya en la BD. etc buejo ojala me puedas seguir ayudando me tiene metio esta huea.. por mientras me empiezo a meter en hacer un Login SALUDOS Edited August 31, 2008 by toy_land Link to comment Share on other sites More sharing options...
shadowoh1 Posted September 6, 2008 Report Share Posted September 6, 2008 (edited) Verifica con esta modificacion: /* ARCHIVO PHP */ <? function Conectarse() { if (!($link=mysql_connect("servidor","user","pass"))) { echo "Error conectando a la base de datos."; exit(); } if (!mysql_select_db("bd",$link)) { echo "Error seleccionando la base de datos."; exit(); } return $link; } function quitar($mensaje) { $mensaje = str_replace("<","<",$mensaje); $mensaje = str_replace(">",">",$mensaje); $mensaje = str_replace("\'","'",$mensaje); $mensaje = str_replace('\"',"",$mensaje); return $mensaje; } $link=Conectarse(); $nombre=$_POST['nombre']; $nick=$_POST['nick']; $email=$_POST['email']; $password=$_POST['password']; if($nick!= "" && $nombre!= "" && $email!= "" && $password!= "") { $sql ="SELECT * FROM usuarios WHERE nick='".quitar($nick)."'"; $result =mysql_query($sql); if($row =mysql_fetch_array($result)){ echo "Error, nick escogido por otro usuario"; } else { mysql_query("insert into usuarios (nombre,nick,email,password) values ('$nombre','$nick','$email','$password')"); echo "Registro exitoso!"; } mysql_free_result($result); } else { echo "Debe llenar todos los campos"; } mysql_close(); ?> De no funcionar te subiré otro código con otra solución que también es viable Saludos :) :) Edited September 6, 2008 by shadowoh1 Link to comment Share on other sites More sharing options...
mario.2403 Posted November 16, 2008 Report Share Posted November 16, 2008 oe ocupa el Dreamweaver y listo hace todo rapido :) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now