Ver Mensaje Individual
  #7 (permalink)  
Antiguo 28/08/2014, 11:23
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Else no funciona

En realidad lo estabas haciendo bastante bien al principio, pero evaluando incorrectamente lo que obtienes de la base, porque si el usuario es único, y su password también, entonces la query sólo devolvería registros si hay coincidencia, por lo que todo el while() y ese if eran innecesarios.
La cosa podría andar, basándome en tu propio código, mas o menos así:
Código PHP:
Ver original
  1. <?php
  2.  
  3. $usuario = $_POST['usuario'];
  4. $contrasena = $_POST['contrasena'];
  5. $con = mysqli_connect("localhost", "prueba", "prueba", "lolo");
  6. $sen = "SELECT * FROM personal WHERE usuario = '$usuario' AND contrasena = '$contrasena'";
  7. $res = mysqli_query($con, $sen);
  8. if (!res) {
  9.     echo '
  10.        <html>
  11.        <head>
  12.        <meta http-equiv="refresh" content="0;url=../index.php">
  13.        </head>
  14.        </html>
  15.        ';
  16. } else {
  17.     if (mysqli_num_rows($res) > 0) {
  18.         $fila = mysqli_fetch_array($res);
  19.         $usbase = $fila['usuario'];
  20.         $conbase = $fila['contrasena'];
  21.         $_SESSION['usuario'] = $usuario;
  22.         $_SESSION['contrasena'] = $contrasena;
  23.         echo '
  24.        <html>
  25.        <head>
  26.        <meta http-equiv="refresh" content="0;url=../acceso/inicio.php">
  27.        </head>
  28.        </html>
  29.        ';
  30.     } else {
  31.         echo '
  32.        <html>
  33.        <head>
  34.        <meta http-equiv="refresh" content="0;url=../index.php">
  35.        </head>
  36.        </html>
  37.        ';
  38.     }
  39. }
  40. ?>
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)