Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/06/2014, 11:33
boistoc
 
Fecha de Ingreso: junio-2014
Mensajes: 60
Antigüedad: 9 años, 11 meses
Puntos: 0
Pregunta ¿Podrían revisar mi código es que no me respeta las sesiones de los usuarios?

Hola, disculpen soy novato en php y estaba viendo como crear mi login y un registro de usuarios pero no me respeta las sesiones de los usuarios, podrían verlo y decirme que me falta y en donde va, gracias.

en mi index.php solo tengo mi formulario, osea es puro html,

Código HTML:
Ver original
  1. <form action="ingresar.php" method="post">
  2.         <span class="Aisaka">Usuario: <input name="username" type="text">
  3.         Contrase&ntilde;a: <input name="password" type="password">
  4.         <input type="submit" name="entrar" value="Entrar">
  5.         </span>
  6. </form>



ingresar.php:

Código PHP:
Ver original
  1. <?php
  2. require('configuracion.php');
  3.  
  4. if ($_POST['entrar']) {
  5.         $username=$_POST['username'];
  6.         $password=md5($_POST['password']);
  7.     if($username==NULL|$password==NULL) {
  8.         echo "un campo está vacio.";
  9.     }else{
  10.         $query = mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
  11.         $udata = mysql_fetch_array($query);
  12.         if($udata['username'] != $username) {
  13.         echo "Usuario incorrecto.";
  14.     }else{
  15.         $query = mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
  16.         $data = mysql_fetch_array($query);
  17.     if($data['password'] != $password) {
  18.         echo "contraseña incorrecta.";
  19.     }else{
  20.         $query = mysql_query("SELECT username,password FROM users WHERE username = '$username'") or die(mysql_error());
  21.         $row = mysql_fetch_array($query);
  22.         $_SESSION["s_username"] = $row['username'];
  23.         header("Location: me");
  24.                 }
  25.             }
  26.         }
  27.     }
  28. ?>


en mi registro de usuarios osea registro.html

Código HTML:
Ver original
  1. <form action="validar.php" method="post">
  2.     <div id="reg">
  3.     <div id="datos">
  4.   <label for="name" style="position: relative; top: 10px;">Nombre:<input type="text" name="username"></label>
  5.   <label for="mail" style="position: relative; top: 25px;">Email:<input type="text" name="mail"></label>
  6.   <label for="pass" style="position: relative; top: 35px;">Contraseña:<input type="password" name="password"></label>
  7.   <label for="repass" style="position: relative; top: 45px;">Repite Contraseña:<input type="password" name="repassword"></label>
  8.   </div>
  9.   <div id="gender" style="position: relative; top: 55px;">Genero: <input type="radio" name="M" value="M">Masculino<img src="../imagenes/index/registro/boy.png">
  10.   <input type="radio" name="F" value="F">Femenino<img src="../imagenes/index/registro/girl.png">    </label>
  11.     </div>
  12.     <label for="acepto" style="position: relative; top: 75px; font-size: 12px">Aceptar Terminos y Condiciones
  13.     <input type="checkbox" name="condiciones" value="1"></label>
  14.     <input type="submit" id="registrar" name="registrar" value="Registrate">
  15.     <input type="button" id="atras" name="atras" value="Mejor No :c" onclick="history.back()">
  16. </div>
  17. </div>
  18. </form>

y aqui mi validar.php
Código PHP:
Ver original
  1. include('configuracion.php');
  2.  
  3. if(!isset($_SESSION['s_username'])) {
  4.     if(isset($_POST['registrar'])) {
  5.        if (isset($_POST['condiciones']) && $_POST['condiciones'] == '1')
  6.       echo '<div style="color:green">Has aceptado correctamente las condiciones de uso.</div>';
  7.    else
  8.       echo '<div style="color:red">Debes aceptar las condiciones de uso.</div>';
  9.  
  10.         $espacios = count_chars($_POST['username'], 1);
  11.         if(!empty($espacios[10])) {  
  12.             echo "El campo username no debe contener espacios en blanco.";
  13.         }elseif(empty($_POST['username'])) {
  14.             echo "No haz ingresado tu usuario.";
  15.         }elseif(empty($_POST['mail'])) {
  16.             echo "No haz ingresado tu e-mail.";
  17.         }elseif(empty($_POST['password'])) {
  18.             echo "No haz ingresado contraseña.";
  19.         }elseif($_POST['password'] != $_POST['repassword']) {
  20.             echo "Las contraseñas ingresadas no coinciden.";
  21.         }elseif(!valida_email($_POST['mail'])) {  
  22.             echo "El email ingresado no es válido.";
  23.         }else {
  24.             $username = mysql_real_escape_string($_POST['username']);
  25.             $password = mysql_real_escape_string($_POST['password']);
  26.             $mail = mysql_real_escape_string($_POST['mail']);
  27.             $sql = mysql_query("SELECT username FROM users WHERE username='".$username."'");
  28.             if(mysql_num_rows($sql) > 0) {
  29.                 echo "El nombre usuario elegido ya ha sido registrado anteriormente.";
  30.             }else {
  31.                 $password = md5($password);
  32.                 $reg = mysql_query("INSERT INTO users (username, password, mail) VALUES ('".$username."', '".$password."', '".$mail."')");
  33.                 header("location: me");
  34.                 if($reg) {
  35.                     echo "Datos ingresados correctamente.";
  36.                 }else {
  37.                     echo "ha ocurrido un error y no se registraron los datos.";
  38.                 }
  39.             }
  40.         }
  41.     }
  42. }

Gracias por su atención.