Foros del Web » Programando para Internet » PHP »

problema al iniciar sesion

Estas en el tema de problema al iniciar sesion en el foro de PHP en Foros del Web. me registre en mi propia pagina para probar si funciona, y si funciono pero el problema es que a la hora del login no se ...
  #1 (permalink)  
Antiguo 17/09/2012, 08:35
 
Fecha de Ingreso: agosto-2012
Ubicación: Perú
Mensajes: 63
Antigüedad: 11 años, 8 meses
Puntos: 0
Pregunta problema al iniciar sesion

me registre en mi propia pagina para probar si funciona, y si funciono pero el problema es que a la hora del login no se logea.. no sé porque he revisado la sintaxis y está todo bien.
aqui les muestro los archivos:

REGISTER.PHP

Código HTML:
Ver original
  1. <form action="procesarregistro.php" method="post">
  2.     <fieldset>
  3.     <legend><strong>Detalles de la cuenta</strong></legend>
  4.     <table  width="100%">
  5.     <tr><td>   
  6.     <label>Usuario</label>                                                                                                         
  7.         <input type="text" name="usuario" style="width:200%"></td></tr>
  8.     <tr><td>                                                           
  9.     <label>Contraseña</label>                                          
  10.         <input type="password" name="contraseña" style="width:95%"></td>
  11.     <td>                                                               
  12.     <label>Confirmar contraseña</label>                                                
  13.         <input type="password" name="contraseña1" style="width:100%"></td></tr>
  14.     <tr><td>                                                                                                                           
  15. <label>Email</label>                                               
  16.         <input type="text" name="email" style="width:95%"></td>
  17.     <td>                                                               
  18.     <label>Confirmar Email</label>                                                     
  19.         <input type="text" name="email1" style="width:100%"></td></tr>
  20.     </table>   
  21.     </fieldset>
  22.     <fieldset >
  23.     <legend><strong>Información Adicional</strong></legend>
  24.     <table width="100%">
  25.     <tr><td>                                                                                                                                   
  26.     <label>Nombres</label>
  27.         <input type="text" name="nombre" style="width:95%"></td>
  28.     <td>                                                                   
  29.     <label>Apellidos</label>
  30.         <input type="text" name="apellido" style="width:80%"></td></tr>
  31.     <tr><td>
  32.     <label>Sexo:</label>                                                                                                                   
  33.     <select name="sexo">
  34.     <option value="oculto">Oculto</option>
  35.     <option value="Hombre">Hombre</option> 
  36.     <option value="Mujer">Mujer</option>
  37.     </select>
  38.     </td>
  39.     <td>
  40.     <label>Fecha de Nacimiento</label>
  41.         <i>DIA</i>
  42.         <select name="dia" id="ase">
  43.             <option value="1">1</option>
  44.             <option value="2">2</option>
  45.             <option value="3">3</option>
  46.             <option value="4">4</option>
  47.             <option value="5">5</option>
  48.             <option value="6">6</option>
  49.             <option value="7">7</option>
  50.             <option value="8">8</option>
  51.             <option value="9">9</option>
  52.             <option value="10">10</option>
  53.             <option value="11">11</option>
  54.             <option value="12">12</option>
  55.             <option value="13">13</option>
  56.             <option value="14">14</option>
  57.             <option value="15">15</option>
  58.             <option value="16">16</option>
  59.             <option value="17">17</option>
  60.             <option value="18">18</option>
  61.             <option value="19">19</option>
  62.             <option value="20">20</option>
  63.             <option value="21">21</option>
  64.             <option value="22">22</option>
  65.             <option value="23">23</option>
  66.             <option value="24">24</option>
  67.             <option value="25">25</option>
  68.             <option value="26">26</option>
  69.             <option value="27">27</option>
  70.             <option value="28">28</option>
  71.             <option value="29">29</option>
  72.             <option value="30">30</option>
  73.             <option value="31">31</option>
  74.         </select>
  75.         <i>MES</i>
  76.         <select name="mes">
  77.             <option value="1">1</option>
  78.             <option value="2">2</option>
  79.             <option value="3">3</option>
  80.             <option value="4">4</option>
  81.             <option value="5">5</option>
  82.             <option value="6">6</option>
  83.             <option value="7">7</option>
  84.             <option value="8">8</option>
  85.             <option value="9">9</option>
  86.             <option value="10">10</option>
  87.             <option value="11">11</option>
  88.             <option value="12">12</option>
  89.         </select>
  90.         <i>AÑO</i>
  91.         <input type="text" name="año" size="5">
  92.     </td>
  93.     </tr>
  94.     </table>
  95.     <input type="submit" value="Registrar">
  96.     </fieldset>                                                    
  97.     </form>

PROCESARREGISTRO.PHP

Código PHP:
Ver original
  1. <?php
  2. $contador = 0;
  3.  
  4. if(isset($_POST['usuario']) && !empty($_POST['usuario']) &&
  5. isset($_POST['contraseña']) && !empty($_POST['contraseña']) &&
  6. isset($_POST['contraseña1']) && !empty($_POST['contraseña1']) &&
  7. isset($_POST['email']) && !empty($_POST['email']) &&
  8. isset($_POST['email1']) && !empty($_POST['email1']) &&
  9. isset($_POST['nombre']) && !empty($_POST['nombre']) &&
  10. isset($_POST['apellido']) && !empty($_POST['apellido']) &&
  11. isset($_POST['sexo']) && !empty($_POST['sexo']) &&
  12. isset($_POST['dia']) && !empty($_POST['dia']) &&
  13. isset($_POST['mes']) && !empty($_POST['mes']) &&
  14. isset($_POST['año']) && !empty($_POST['año']))
  15.  
  16. {
  17.     $conexion = mysql_connect(host,user,pw)or die("problemas al conectar bd");
  18.     mysql_select_db(bd,$conexion)or die("problemas al seleccionar bd");
  19.     $consulta = mysql_query("SELECT * FROM registro",$conexion);
  20.  
  21.     while($fila = mysql_fetch_array($consulta)) {
  22.         if($fila['usuario'] == $_POST['usuario']){
  23.             $contador++;
  24.         } else {
  25.  
  26.         }
  27.  
  28.     }
  29.     mysql_close($conexion);
  30.     if($contador == 0) {
  31.  
  32.    
  33.     if($_POST['contraseña']== $_POST['contraseña1']){
  34.  
  35. $conexion = mysql_connect(host,user,pw)or die("problemas al conectar bd");
  36.  
  37. mysql_select_db(bd,$conexion)or die("problemas al seleccionar bd");
  38.  
  39. if(mysql_query("INSERT INTO registro VALUES('$_POST[usuario]','$_POST[contraseña]',
  40. '$_POST[contraseña1]','$_POST[email]','$_POST[email1]','$_POST[sexo]','$_POST[nombre]',
  41.     '$_POST[apellido]','$_POST[dia]','$_POST[mes]','$_POST[año]')",$conexion)){
  42.     echo "<span>Se ha registrado exitosamente</span><br>";
  43.  
  44. ";
  45. }
  46.     } else {
  47.         echo "Las contraseñas no se parecen en nada!<br />";
  48.             echo "<a href='register.php'><font color='blue'>Vuelva</font></a>";
  49.     }
  50.  
  51.         } else {
  52.                 echo "El usuario ya existe";
  53.         }
  54.  
  55.             } else {
  56.                     echo "Coloque todos los campos porfavor<br>";
  57.                     echo "<a href='register.php?action=register'><font color='blue'>Vuelva</font></a>";
  58.             }
  59.  
  60. ?>

Esos 2 archivos son los del registro, solo hagan caso al INSERT porque lo otro es otra cosa que he hecho para ver si los dos passwords son iguales, etc.
Ahora les paso el del login:

LOGIN.PHP

Código HTML:
Ver original
  1. <form action="procesarlogin.php" method="post">
  2.         <div class="roundframe">
  3.             <div class="roundframe1">
  4.                 <strong>Iniciar Sesión</strong>
  5.                 </div>
  6.             <dl>
  7.                 <dt>Usuario</dt>
  8.                 <input name="usuario" size="20" class="input_text" type="text"><br><br>
  9.                 <dt>Contraseña</dt>
  10.                 <input name="contraseña" value="" size="20" type="password">
  11.             </dl>
  12.             <p><input value="Ingresar" type="submit"></p>
  13.             <p class="smalltext"><a href="">¿Olvidaste tu contraseña?</a></p>
  14.             <input name="sdsds" value="" type="hidden">
  15.         </div>
  16.     </form>

PROCESARLOGIN.PHP

Código PHP:
Ver original
  1. <?php
  2.  
  3. $_POST['usuario'];
  4. $_POST['contraseña'];
  5.  
  6. $conexion = mysql_connect(host,user,pw)or die("No se ha podido conectar");
  7. mysql_select_db(bd,$conexion)or die("No se ha podido seleccionar");
  8.  
  9. $consulta = mysql_query("SELECT * FROM registro",$conexion);
  10.  
  11. while($fila=mysql_fetch_array($consulta)){
  12. $userdb = $fila['usuario'];
  13. $passdb = $fila['contraseña'];
  14.  
  15. if($_POST['usuario'] == $userdb & $_POST['contraseña'] == $passdb){
  16.  
  17. $_SESSION['usuario'] = $_POST['usuario'];
  18. $_SESSION['contraseña'] = $_POST['contraseña'];
  19.  
  20. ';
  21. }else { echo "me sale este mensaje y no se logea...";}
  22. }
  23. ?>

Bueno ahi están las sintaxis, no sé porque me pasa esto pero bueno espero que me puedan ayudar porfavor.
A otra cosa que quería saber a la hora de logear me mandara a la pagina principal ya logeado, pero lo malo es que se vera igual los enlaces de "Registrate" y "Inicia sesión", como hago para desaparecer todo eso y que solo salga "salir", "panel del usuario", etc como en toda web no sé si me entienden.

muchas gracias!
  #2 (permalink)  
Antiguo 17/09/2012, 08:43
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 17 años, 11 meses
Puntos: 58
Respuesta: problema al iniciar sesion

Primero que el tema de las 'ñ' suele dar problemas al igual que las tildes. Así que sería mejor cambiarla por una n o similar tanto en el HTML como en el PHP como en el campo de la base de datos.
POr otro lado, en vez de recorrer todos los registros de la tabla buscando uno que coincida, ¿no sería mejor hacer una consulta directa a un registro que tuviera ese usuario y esa contraseña? Si obtienes resultados es que existe y puede iniciar session, si no se obtienen, es que el usuario y la contraseña no coinciden.

Código PHP:
Ver original
  1. $consulta = mysql_query("SELECT * FROM registro WHERE usuario='".$_POST['usuario']."' AND contrasena='".$_POST['contrasena']"'");
  2. if(mysql_num_rows($consulta)>0){
  3.  //existe y se inicia session
  4. }else{
  5.  //este usuario no existe
  6. }
  #3 (permalink)  
Antiguo 17/09/2012, 08:47
Avatar de antoniopol  
Fecha de Ingreso: agosto-2012
Ubicación: Valladolid
Mensajes: 114
Antigüedad: 11 años, 8 meses
Puntos: 21
Respuesta: problema al iniciar sesion

Primero asegurate que en la tabla los datos del registro aparecen, y a la hora del login yo utilizaría una sintaxis mas sencilla y más optima desde mi punto de vista que es cambiar la select a:
Código SQL:
Ver original
  1. $pass=$_POST["contraseña"];
  2. $usuario=$_POST["usuario"];
  3. $consulta = mysql_query("SELECT * FROM registro WHERE usuario='$usuario' and contraseña='$contraseña'",$conexion);

Una vez ejecutada la consulta si devuelve solo un registro esta todo OK, si no, fallo de usuario o contraseña.

Por último, a mi personalmente, no me gusta usar ñ en las variables y no se si realmente se puede, yo lo cambiaría todo a pass o contrasena. En cuanto a mysql_connect, actualmente esta en deprecated y no cuesta nada conocer la sintaxis de mysqli_connect.

Espero haberte podido ayudar
__________________
>> Blog de desarrollo web.
>> @antoniopol06 amante de la Web =D
  #4 (permalink)  
Antiguo 17/09/2012, 08:49
 
Fecha de Ingreso: agosto-2012
Ubicación: Perú
Mensajes: 63
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: problema al iniciar sesion

Cita:
Iniciado por jossss Ver Mensaje
Primero que el tema de las 'ñ' suele dar problemas al igual que las tildes. Así que sería mejor cambiarla por una n o similar tanto en el HTML como en el PHP como en el campo de la base de datos.
POr otro lado, en vez de recorrer todos los registros de la tabla buscando uno que coincida, ¿no sería mejor hacer una consulta directa a un registro que tuviera ese usuario y esa contraseña? Si obtienes resultados es que existe y puede iniciar session, si no se obtienen, es que el usuario y la contraseña no coinciden.

Código PHP:
Ver original
  1. $consulta = mysql_query("SELECT * FROM registro WHERE usuario='".$_POST['usuario']."' AND contrasena='".$_POST['contrasena']"'");
  2. if(mysql_num_rows($consulta)>0){
  3.  //existe y se inicia session
  4. }else{
  5.  //este usuario no existe
  6. }
Cita:
Iniciado por antoniopol Ver Mensaje
Primero asegurate que en la tabla los datos del registro aparecen, y a la hora del login yo utilizaría una sintaxis mas sencilla y más optima desde mi punto de vista que es cambiar la select a:
Código SQL:
Ver original
  1. $pass=$_POST["contraseña"];
  2. $usuario=$_POST["usuario"];
  3. $consulta = mysql_query("SELECT * FROM registro WHERE usuario='$usuario' and contraseña='$contraseña'",$conexion);

Una vez ejecutada la consulta si devuelve solo un registro esta todo OK, si no, fallo de usuario o contraseña.

Por último, a mi personalmente, no me gusta usar ñ en las variables y no se si realmente se puede, yo lo cambiaría todo a pass o contrasena. En cuanto a mysql_connect, actualmente esta en deprecated y no cuesta nada conocer la sintaxis de mysqli_connect.

Espero haberte podido ayudar
a perfecto gracias por ese consejo, lo probaré ahora.
entonces no es necesario el while o si ?
y si el usuario si aparece en la base de datos.
y sobre la otra cosa que dije porfavor también si alguien me ayuda.
  #5 (permalink)  
Antiguo 17/09/2012, 08:58
 
Fecha de Ingreso: mayo-2006
Mensajes: 475
Antigüedad: 17 años, 11 meses
Puntos: 58
Respuesta: problema al iniciar sesion

Ah vale, no me había fijado en la segunda parte jejej.
En tu pagina de inicio tendrías que poner algo similar a esto:
Código PHP:
Ver original
  1. <?php if(!isset($_SESSION['usuario'])){//no existe session usuario
  2. ?>
  3. <a href="login.php">Login</a><a href="registro.php">Registrarse</a>
  4. <?php }else{//si ya está logeado
  5. ?>
  6. <a href="salir.php">Salir</a>
  7. <?php } ?>
  #6 (permalink)  
Antiguo 17/09/2012, 09:20
 
Fecha de Ingreso: agosto-2012
Ubicación: Perú
Mensajes: 63
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: problema al iniciar sesion

Cita:
Iniciado por jossss Ver Mensaje
Ah vale, no me había fijado en la segunda parte jejej.
En tu pagina de inicio tendrías que poner algo similar a esto:
Código PHP:
Ver original
  1. <?php if(!isset($_SESSION['usuario'])){//no existe session usuario
  2. ?>
  3. <a href="login.php">Login</a><a href="registro.php">Registrarse</a>
  4. <?php }else{//si ya está logeado
  5. ?>
  6. <a href="salir.php">Salir</a>
  7. <?php } ?>
gracias por eso bro.
perdon por molestarte de nuevo es necesario el while con lo demás?
aver si me explicas porfavor ya he probado con while y sin while pero me manda error por eso es mejor si me puedes decir como seria la sintaxis apartir del query solamente porfavor espero no haberte fastidiado.
  #7 (permalink)  
Antiguo 17/09/2012, 12:38
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema al iniciar sesion

Yo te aconsejo encriptar la contraseña en primer lugar en el registro

por ejemplo con sha1

Código PHP:
Ver original
  1. if(mysql_query("INSERT INTO registro VALUES('$_POST[usuario]','sha1($_POST[contraseña])',
  2. 'sha1($_POST[contraseña1])','$_POST[email]','$_POST[email1]','$_POST[sexo]','$_POST[nombre]',
  3.    '$_POST[apellido]','$_POST[dia]','$_POST[mes]','$_POST[año]')",$conexion)){
  4.     echo "<span>Se ha registrado exitosamente</span><br>";

en segundo a la hora de procesar el login para que coincida con el que guardaste en la bd

Código PHP:
Ver original
  1. $pass=sha1($_POST["contraseña"]);
  2. $usuario=$_POST["usuario"];
  3. $consulta = mysql_query("SELECT * FROM registro WHERE usuario='$usuario' and contraseña='$contraseña'",$conexion);
  #8 (permalink)  
Antiguo 19/09/2012, 10:24
 
Fecha de Ingreso: agosto-2012
Ubicación: Perú
Mensajes: 63
Antigüedad: 11 años, 8 meses
Puntos: 0
Pregunta Respuesta: problema al iniciar sesion

Cita:
Iniciado por jossss Ver Mensaje
Ah vale, no me había fijado en la segunda parte jejej.
En tu pagina de inicio tendrías que poner algo similar a esto:
Código PHP:
Ver original
  1. <?php if(!isset($_SESSION['usuario'])){//no existe session usuario
  2. ?>
  3. <a href="login.php">Login</a><a href="registro.php">Registrarse</a>
  4. <?php }else{//si ya está logeado
  5. ?>
  6. <a href="salir.php">Salir</a>
  7. <?php } ?>
Hola nuevamente porfavor me podrías ayudar con lo que te dije porfavor.
he tratado de diferentes maneras pero no hay solución por eso es mejor que me digas como es la sintaxis porfavor solo 1 minuto
  #9 (permalink)  
Antiguo 19/09/2012, 10:59
 
Fecha de Ingreso: septiembre-2012
Ubicación: Argentina
Mensajes: 9
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: problema al iniciar sesion

if($_POST['usuario'] == $userdb & $_POST['contraseña'] == $passdb)
debe ser &&
  #10 (permalink)  
Antiguo 19/09/2012, 11:14
 
Fecha de Ingreso: agosto-2012
Ubicación: Perú
Mensajes: 63
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: problema al iniciar sesion

Cita:
Iniciado por prodavetc Ver Mensaje
if($_POST['usuario'] == $userdb & $_POST['contraseña'] == $passdb)
debe ser &&
Si yo también pensaba eso pero ya lo probe y no funka igual..
me podrias ayudar en lo que me recomendo el usuario "josss"
en su primer comentario porfavor.
  #11 (permalink)  
Antiguo 20/09/2012, 12:04
 
Fecha de Ingreso: septiembre-2012
Ubicación: Argentina
Mensajes: 9
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: problema al iniciar sesion

cambia esto <input name="contraseña" value="" size="20" type="password">
a esto
<input name="contrasena" value="" size="20" type="password">

tambien cambia el campo contraseña a contrasena
  #12 (permalink)  
Antiguo 20/09/2012, 12:15
 
Fecha de Ingreso: junio-2011
Ubicación: Veracruz
Mensajes: 16
Antigüedad: 12 años, 10 meses
Puntos: 5
Respuesta: problema al iniciar sesion

Hola NobProgram,

Como primera recomendación deberías de utilizar mysqli o PDO....

Otra recomendación... utiliza programación en capas ( de preferencia checa el MVC)...


1.- Cambia esto $_POST['contraseña'] por $_POST['contrasena']

2.-Se supone que si es un loggin no deberias de meterlo en un ciclo, porque solo deberia de arrojarte un solo resultado... cambia eso ...

Código PHP:
<?php
session_start
();
*
$conexion mysql_connect(host,user,pw)or die("No se ha podido conectar");
mysql_select_db(bd,$conexion)or die("No se ha podido seleccionar");
*
$consulta mysql_query("SELECT * FROM registro",$conexion);
*
// se supone que si es un loggin no deberias de meterlo en un ciclo
while($fila=mysql_fetch_array($consulta)){
    
$userdb $fila['usuario'];
    
$passdb $fila['contraseña'];
*
    if(
$_POST['usuario'] == $userdb $_POST['contraseña'] == $passdb){
        
$_SESSION['usuario'] = $_POST['usuario'];
        
$_SESSION['contraseña'] = $_POST['contraseña'];
    }else { echo 
"me sale este mensaje y no se logea...";}
}
?>
to codigo deberia de ser asi:

Código PHP:
$c mysql_connect("miserver.com""usuario""contraseña");
mysql_select_db("basedatos");
$resultado mysql_query("SELECT * FROM registro where usuario =  '".$_POST['usuario']."' AND contrasena = '"$_POST['contrasena']."'");
$fila mysql_fetch_assoc($resultado);
        
$_SESSION['usuario'] = $fila['usuario'];
        
$_SESSION['contraseña'] = $fila['contrasena'];
        
$_SESSION['contraseña'] = $fila['nid_user']; 
Saludos

Última edición por rodrigodeoz; 20/09/2012 a las 12:32
  #13 (permalink)  
Antiguo 20/09/2012, 18:40
 
Fecha de Ingreso: agosto-2012
Ubicación: Perú
Mensajes: 63
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: problema al iniciar sesion

Cita:
Iniciado por rodrigodeoz Ver Mensaje
Hola NobProgram,

Como primera recomendación deberías de utilizar mysqli o PDO....

Otra recomendación... utiliza programación en capas ( de preferencia checa el MVC)...


1.- Cambia esto $_POST['contraseña'] por $_POST['contrasena']

2.-Se supone que si es un loggin no deberias de meterlo en un ciclo, porque solo deberia de arrojarte un solo resultado... cambia eso ...

Código PHP:
<?php
session_start
();
*
$conexion mysql_connect(host,user,pw)or die("No se ha podido conectar");
mysql_select_db(bd,$conexion)or die("No se ha podido seleccionar");
*
$consulta mysql_query("SELECT * FROM registro",$conexion);
*
// se supone que si es un loggin no deberias de meterlo en un ciclo
while($fila=mysql_fetch_array($consulta)){
    
$userdb $fila['usuario'];
    
$passdb $fila['contraseña'];
*
    if(
$_POST['usuario'] == $userdb $_POST['contraseña'] == $passdb){
        
$_SESSION['usuario'] = $_POST['usuario'];
        
$_SESSION['contraseña'] = $_POST['contraseña'];
    }else { echo 
"me sale este mensaje y no se logea...";}
}
?>
to codigo deberia de ser asi:

Código PHP:
$c mysql_connect("miserver.com""usuario""contraseña");
mysql_select_db("basedatos");
$resultado mysql_query("SELECT * FROM registro where usuario =  '".$_POST['usuario']."' AND contrasena = '"$_POST['contrasena']."'");
$fila mysql_fetch_assoc($resultado);
        
$_SESSION['usuario'] = $fila['usuario'];
        
$_SESSION['contraseña'] = $fila['contrasena'];
        
$_SESSION['contraseña'] = $fila['nid_user']; 
Saludos
Lo cambie por la segunda sintaxis que dejaste y ahora me redirecciona a la pagina principal como tiene que ser pero a la vez hay este error

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\****\procesarlogin.php on line 13

y en la pagina principal sale lo mismo registrate/login .. y no sé porque
porque hice lo mismo que me dijo josss pero no funciono o el error hace que no funcione..
y porsiacaso ya cambie de contraseña a contrasena :)
  #14 (permalink)  
Antiguo 20/09/2012, 19:48
 
Fecha de Ingreso: febrero-2012
Mensajes: 49
Antigüedad: 12 años, 2 meses
Puntos: 2
Respuesta: problema al iniciar sesion

Mira te paso mi archivo de login, vos adaptalo a tus necesidades...

Código HTML:
Ver original
  1. <form name="login" method="post" id="login" action="log.php">
  2.                 <fieldset> 
  3.                     <input type="text" name="usuario" id="usr" placeholder="Usuario"/>
  4.                     <input type="password" name="pass" id="pass" maxlength="20" placeholder="Password"/>
  5.                     <button type="submit" class="action">Login</button>
  6.                     <a href="register.php" class="button action">Registrarte!</a>
  7.                     <a class="recupero" href="account.php">¿No puedes acceder a tu cuenta?</a>
  8.                 </fieldset>
  9.             </form>

Fíjate que el campo "Pass" no tiene value.

Acá te paso el archivo de LOG.PHP...

Código PHP:
Ver original
  1. <?php
  2.    
  3.     $usuario = $_POST["usuario"]; //Ponele alguna funcion de seguridad porque estas jodido sino.
  4.     $pass = $_POST["pass"];
  5.    
  6.     if(empty($usuario) || empty($pass)) {
  7.         header("location: index.php?msg=usuarioopassincorrecta"); //Fijate que esto es propio de mi aplicacion asiq modificalo si o si.
  8.     }else{
  9. // FIJATE QUE USO MSQLI"""
  10.         $link = mysqli_connect("localhost","root","","tubase");
  11.         $query = "SELECT usuario,pass  FROM usuarios WHERE usuario = '$usuario' AND pass = '$pass'";
  12.         $result = mysqli_query($link, $query);
  13.         $row = mysqli_fetch_array($result, MYSQLI_ASSOC);
  14.         mysqli_free_result($result);
  15.         mysqli_close($link);
  16.         //Cierro y limpio mis resultados, los limpio porq los cargue en la variable $row.
  17.         if($row['pass'] == $_POST['pass'] && $row['usuario']== $_POST['usuario']){
  18.             if($row['activo']==1){ //verifico que el tipo este activo.
  19.                 session_start();  
  20.                 $date=date("d-m-Y H:m:s");
  21.                 $link = mysqli_connect("localhost","root","","tubase");
  22.                 $query = "UPDATE usuarios SET ult_log = '$date' WHERE usuario = '$usuario'"; //actualizo el ultimo logueo.
  23.                 $result = mysqli_query($link, $query);
  24.                 mysqli_free_result($result);
  25.                 mysqli_close($link);
  26.                 header("location: adondevosquieras.php");
  27.                
  28.             }
  29.             else{
  30.                
  31.                 header("location: index.php?msg=ctanoactiva"); //como antes, esto es algo de mi aplicacion, vos modificalo.
  32.             }
  33.         }
  34.         else{
  35.             header("location: index.php?msg=usuarioopassincorrecta");
  36.         }
  37.     }
  38. ?>

Espero que te sirva, cualquier duda avisame.
Un abrazo!
__________________
@vindt89
  #15 (permalink)  
Antiguo 20/09/2012, 21:14
 
Fecha de Ingreso: agosto-2012
Ubicación: Perú
Mensajes: 63
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: problema al iniciar sesion

Cita:
Iniciado por vindt89 Ver Mensaje
Mira te paso mi archivo de login, vos adaptalo a tus necesidades...

Código HTML:
Ver original
  1. <form name="login" method="post" id="login" action="log.php">
  2.                 <fieldset> 
  3.                     <input type="text" name="usuario" id="usr" placeholder="Usuario"/>
  4.                     <input type="password" name="pass" id="pass" maxlength="20" placeholder="Password"/>
  5.                     <button type="submit" class="action">Login</button>
  6.                     <a href="register.php" class="button action">Registrarte!</a>
  7.                     <a class="recupero" href="account.php">¿No puedes acceder a tu cuenta?</a>
  8.                 </fieldset>
  9.             </form>

Fíjate que el campo "Pass" no tiene value.

Acá te paso el archivo de LOG.PHP...

Código PHP:
Ver original
  1. <?php
  2.    
  3.     $usuario = $_POST["usuario"]; //Ponele alguna funcion de seguridad porque estas jodido sino.
  4.     $pass = $_POST["pass"];
  5.    
  6.     if(empty($usuario) || empty($pass)) {
  7.         header("location: index.php?msg=usuarioopassincorrecta"); //Fijate que esto es propio de mi aplicacion asiq modificalo si o si.
  8.     }else{
  9. // FIJATE QUE USO MSQLI"""
  10.         $link = mysqli_connect("localhost","root","","tubase");
  11.         $query = "SELECT usuario,pass  FROM usuarios WHERE usuario = '$usuario' AND pass = '$pass'";
  12.         $result = mysqli_query($link, $query);
  13.         $row = mysqli_fetch_array($result, MYSQLI_ASSOC);
  14.         mysqli_free_result($result);
  15.         mysqli_close($link);
  16.         //Cierro y limpio mis resultados, los limpio porq los cargue en la variable $row.
  17.         if($row['pass'] == $_POST['pass'] && $row['usuario']== $_POST['usuario']){
  18.             if($row['activo']==1){ //verifico que el tipo este activo.
  19.                 session_start();  
  20.                 $date=date("d-m-Y H:m:s");
  21.                 $link = mysqli_connect("localhost","root","","tubase");
  22.                 $query = "UPDATE usuarios SET ult_log = '$date' WHERE usuario = '$usuario'"; //actualizo el ultimo logueo.
  23.                 $result = mysqli_query($link, $query);
  24.                 mysqli_free_result($result);
  25.                 mysqli_close($link);
  26.                 header("location: adondevosquieras.php");
  27.                
  28.             }
  29.             else{
  30.                
  31.                 header("location: index.php?msg=ctanoactiva"); //como antes, esto es algo de mi aplicacion, vos modificalo.
  32.             }
  33.         }
  34.         else{
  35.             header("location: index.php?msg=usuarioopassincorrecta");
  36.         }
  37.     }
  38. ?>

Espero que te sirva, cualquier duda avisame.
Un abrazo!
bueno ya lo hice pero ahora me sale este error y ya no me redirecciona a la pagina principal.

Warning: mysqli_connect() [function.mysqli-connect]: (28000/1045): Access denied for user 'user'@'localhost' (using password: YES) in C:\AppServ\www\****\procesarlogin.php on line 7
No se ha podido conectar
  #16 (permalink)  
Antiguo 21/09/2012, 15:56
 
Fecha de Ingreso: febrero-2012
Mensajes: 49
Antigüedad: 12 años, 2 meses
Puntos: 2
Respuesta: problema al iniciar sesion

Me imagino que no hiciste "Copy/Paste" porque sino nunca te va a funcionar, fíjate que en el código que te deje le faltan partes, esto es porque te deje abierto a que uses esas funciones para actualizar el ultimo logueo o verificar si esta activo, cosas por el estilo. Lo que te figura en los datos de conexión fueron cualquiera. Verifica que el usuario, el password, que la base de datos sean las correctas.
Código PHP:
Ver original
  1. $link = mysqli_connect("localhost","root","","tubase"); // Acá pone los datos de TU BASE DE DATOS

Cualquier cosa avimsame.
__________________
@vindt89
  #17 (permalink)  
Antiguo 25/09/2012, 17:03
 
Fecha de Ingreso: agosto-2012
Ubicación: Perú
Mensajes: 63
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: problema al iniciar sesion

Cita:
Iniciado por vindt89 Ver Mensaje
Me imagino que no hiciste "Copy/Paste" porque sino nunca te va a funcionar, fíjate que en el código que te deje le faltan partes, esto es porque te deje abierto a que uses esas funciones para actualizar el ultimo logueo o verificar si esta activo, cosas por el estilo. Lo que te figura en los datos de conexión fueron cualquiera. Verifica que el usuario, el password, que la base de datos sean las correctas.
Código PHP:
Ver original
  1. $link = mysqli_connect("localhost","root","","tubase"); // Acá pone los datos de TU BASE DE DATOS

Cualquier cosa avimsame.
bueno no he hecho copy paste, lo he vuelto a hacer osea borrar todo y volver a hacer y ya no me manda ningun error que si no me equivoco es señal de que está bien.. pero ahora mi problema es que al logearme sale de nuevo "registrate" ,"logeate" como puedo hacer con eso si me podrías ayudar porfavor.
  #18 (permalink)  
Antiguo 26/09/2012, 04:32
 
Fecha de Ingreso: febrero-2012
Mensajes: 49
Antigüedad: 12 años, 2 meses
Puntos: 2
Respuesta: problema al iniciar sesion

Simple, en el archivo de logueo crea una variable de $_SESSION y ponele de nombre (el que quieras), un ejemplo, logueado y seteala en 1, en el index pone un IF(isset($_SESSION['loguado'])) si es true mostrale el contenido para usuarios logueados, sino mostrale el form de login/registro.
Un abrazo!
__________________
@vindt89
  #19 (permalink)  
Antiguo 28/09/2012, 09:54
 
Fecha de Ingreso: agosto-2012
Ubicación: Perú
Mensajes: 63
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: problema al iniciar sesion

Cita:
Iniciado por vindt89 Ver Mensaje
Simple, en el archivo de logueo crea una variable de $_SESSION y ponele de nombre (el que quieras), un ejemplo, logueado y seteala en 1, en el index pone un IF(isset($_SESSION['loguado'])) si es true mostrale el contenido para usuarios logueados, sino mostrale el form de login/registro.
Un abrazo!
no me funciona ya he probado varias veces pero nada.
sigue saliendo "registrate", "login"..
ojala me puedan ayudar gracias.
  #20 (permalink)  
Antiguo 28/09/2012, 20:14
 
Fecha de Ingreso: febrero-2012
Mensajes: 49
Antigüedad: 12 años, 2 meses
Puntos: 2
Respuesta: problema al iniciar sesion

Mostrame lo que estas haciendo y te voy a poder guiar...
__________________
@vindt89
  #21 (permalink)  
Antiguo 28/09/2012, 22:23
 
Fecha de Ingreso: agosto-2012
Ubicación: Perú
Mensajes: 63
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: problema al iniciar sesion

Cita:
Iniciado por vindt89 Ver Mensaje
Mostrame lo que estas haciendo y te voy a poder guiar...
Código PHP:
Ver original
  1. <?php
  2. if(!isset ($_SESSION['logueo'])){
  3. <span>¡Hola, Invitado! (<a href="login?action=login">Iniciar sesión</a> &#8212; <a href="register.php?action=register">Registrate</a>)</span>
  4. }
  5. ?>
  6. <?php
  7. } else {
  8.   "contenido de mi página"
  9. }
  10. ?>

Última edición por NobProgram; 29/09/2012 a las 10:41

Etiquetas: mysql, registro, sql, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:38.