Ver Mensaje Individual
  #8 (permalink)  
Antiguo 09/07/2010, 13:57
Avatar de miguec04
miguec04
 
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 15 años, 8 meses
Puntos: 15
Respuesta: Datos visibles solo para usuarios registrados

Bueno parcero creo saber donde esta tu error

Código PHP:
Ver original
  1. <?php
  2.      
  3. mysql_connect("localhost","miusuario","micontraseña");
  4. mysql_select_db("mibase") or die('No se puede seleccionar la base de datos');
  5.      
  6.  
  7.  
  8. /*AQUI ESTA TU ERROR estas condicionando una cadena de caracteres y lo tenes que hacer con comillas no puedes hacer la comparación de esta forma.*/
  9. if($_SERVER['PHP_SELF']=registro.php)
  10. {
  11. $url= "index.php";
  12. }
  13. else
  14. {
  15. $url= $_SERVER['HTTP_REFERER'];
  16. }
  17.  
  18.  
  19.  
  20. // !empty me dice si la variable existe y viene llena
  21. if (!empty($_POST['usuario']) && !empty($_POST['contraseña'])) {
  22.  
  23. //la funcion addslashes me ayuda con la seguridad para eviatar injections
  24. $user=addslashes($_POST['usuario']);
  25. $pass=addslashes($_POST['contraseña']);
  26.      
  27. $query = mysql_query("SELECT usuario,contraseña FROM usuarios WHERE usuario = '$user' && contraseña='$pass' ") or die(mysql_error());
  28. $cant=mysql_num_rows($query);
  29.  
  30. if($cant==1)
  31. {
  32. $_SESSION["autentificado"]= "SI";
  33. header ("Location: " .$url);
  34. }
  35. else
  36. {
  37. echo '<script>alert("Este usuario no existe"); location.href="registro.php";</script>';
  38. }
  39.  
  40. }
  41. else
  42. {
  43. //retornamos un mensaje diciendo que todos los datos no fueron diligenciados;
  44. echo '<script>alert("Todos los campos son obligatorios"); location.href="registro.php";</script>';
  45. }
  46. ?>

lo correcto seria:

Código PHP:
Ver original
  1. <?php
  2.      
  3. mysql_connect("localhost","miusuario","micontraseña");
  4. mysql_select_db("mibase") or die('No se puede seleccionar la base de datos');
  5.      
  6.  
  7.  
  8. /*Esta es la forma correcta.*/
  9. if($_SERVER['PHP_SELF']=="registro.php")
  10. {
  11. $url= "index.php";
  12. }
  13. else
  14. {
  15. $url= $_SERVER['HTTP_REFERER'];
  16. }
  17.  
  18. // !empty me dice si la variable existe y viene llena
  19. if (!empty($_POST['usuario']) && !empty($_POST['contraseña'])) {
  20.  
  21. //la funcion addslashes me ayuda con la seguridad para eviatar injections
  22. $user=addslashes($_POST['usuario']);
  23. $pass=addslashes($_POST['contraseña']);
  24.      
  25. $query = mysql_query("SELECT usuario,contraseña FROM usuarios WHERE usuario = '$user' && contraseña='$pass' ") or die(mysql_error());
  26. $cant=mysql_num_rows($query);
  27.  
  28. if($cant==1)
  29. {
  30. $_SESSION["autentificado"]= "SI";
  31. header ("Location: " .$url);
  32. }
  33. else
  34. {
  35. echo '<script>alert("Este usuario no existe"); location.href="registro.php";</script>';
  36. }
  37.  
  38. }
  39. else
  40. {
  41. //retornamos un mensaje diciendo que todos los datos no fueron diligenciados;
  42. echo '<script>alert("Todos los campos son obligatorios"); location.href="registro.php";</script>';
  43. }
  44. ?>

ahora vi otro error, estabas poniendo la condición con un solo igual (=) y esto no se puede así, tenes que hacerlo con doble igual (==) en .net si se maneja un solo igual para condición y para asignación.

espero haberte ayudado con esta primera inquietud voy a leer la siguiente a ver que pasa.
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co