Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: soru13 en 4 Abril 2012, 17:02 pm



Título: problema pasar variable a la base de datos
Publicado por: soru13 en 4 Abril 2012, 17:02 pm
hola, resulta que estoy haciendo un sistema de usuarios, el login me funciona correctamente. Mi problema es que cuando creo usuarios con el formulario, al pasar la variable nombre, me la pasa aparentemente bien, pero luego al hacer un mysql_num_rows para hacer el login, me da error:

Código:
"INSERT INTO ajaxusers (user, passwd, email) VALUES ('$nombre', '$pass','$email')"

Mientras que si en vez de pasar la variable escribo yo el nombre, paso la función mysql_num_rows y si que me funciona.

Código:
"INSERT INTO ajaxusers (user, passwd, email) VALUES ('pepito', '$pass','$email')"

¿Porqué me da error al pasar la variable y si escribo el nombre de usuario no?


registrarse.php
Código
  1. <?php
  2. $nombre = $_POST['usuario'];
  3. $pass = md5($_POST['pass1']);
  4. $email = $_POST['email'];
  5. //1. Crear conexión a la Base de Datos
  6. $conexion = mysql_connect("localhost","root","root");
  7. if (!$conexion) {
  8. die("Fallo la conexión a la Base de Datos: " . mysql_error());
  9. }
  10. //2. Seleccionar la Base de Datos a utilizar
  11. $seleccionar_bd = mysql_select_db("ajaxtests", $conexion);
  12. if (!$seleccionar_bd) {
  13. die("Fallo la selección de la Base de Datos: " . mysql_error());
  14. }
  15. //4. Insertar campos en la Base de Datos (No inserto el id_empleado ya que se genera automaticamente)
  16. $insertar = mysql_query("INSERT INTO ajaxusers (user, passwd, email)
  17. VALUES ('$nombre', '$pass','$email')", $conexion);
  18. if (!$insertar) {
  19. die("Fallo en la insercion de registro en la Base de Datos: " . mysql_error());
  20. }
  21. echo $insertar;
  22. //4. Cerrar conexión a la Base de Datos
  23. mysql_close($conexion);
  24. echo "<br><h1 align=center>REGISTRADO</h1>";
  25. ?>
  26.  

Código
  1. <?php
  2. $nombre = $_POST['usuario'];
  3. $pass = md5($_POST['pass1']);
  4. $con = mysql_connect("localhost", "root", "root");
  5. if (!$con)
  6.  {
  7.  die('Could not connect: ' . mysql_error());
  8.  }
  9.  
  10. $db_selected = mysql_select_db("ajaxtests",$con);
  11. $sql = "SELECT * FROM ajaxusers WHERE user = '$nombre' AND passwd = '$pass'";
  12. $result = mysql_query($sql,$con);
  13. echo mysql_num_rows($result);
  14. ?>

Un saludo y gracias!