Foros del Web » Programando para Internet » PHP »

ayuda con login, no se que falla

Estas en el tema de ayuda con login, no se que falla en el foro de PHP en Foros del Web. buenas estoy intentando hacer un login en php, consultando una bd en mysql esta es la primera página con el formulario PAG1.PHP <?php session_start(); ?> ...
  #1 (permalink)  
Antiguo 08/05/2008, 07:22
 
Fecha de Ingreso: mayo-2008
Mensajes: 69
Antigüedad: 15 años, 11 meses
Puntos: 0
ayuda con login, no se que falla

buenas estoy intentando hacer un login en php, consultando una bd en mysql

esta es la primera página con el formulario

PAG1.PHP

<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>
<body>


<form name="form1" action="pag2.php" method="POST">
<label>Nombre
<input name="nombre" type="text" id="nombre" />
</label>
<p><label>Contraseña
<input name="contraseña" type="password" id="contraseña" />
</label></p>
<p><label>
<input name="enviar" type="submit" id="enviar" value="Enviar" />
</label></p>
</form>



</body>
</html>



y esta es la segunda

PAG2.PHP

<?php
session_start();
?>
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
</head>
<body>
<?php
$nombre = $_POST['$nombre'];
$contraseña = $_POST['$contraseña'];

$connect = mysql_connect ("localhost", "root", "") or die (mysql_error());
mysql_select_db ("empresa") or die (mysql_error());


$consulta = "SELECT usuario, password
FROM usuarios
WHERE usuario='$nombre' and password='$contraseña'";

$result = mysql_query($consulta) or die(mysql_error());

$num= mysql_num_rows($result);


?>

</body>
</html>

el error que me da es este

Notice: Undefined index: $nombre in C:\Archivos de programa\EasyPHP 2.0b1\www\prueba\prueba2\pag2.php on line 10

Notice: Undefined index: $contraseña in C:\Archivos de programa\EasyPHP 2.0b1\www\prueba\prueba2\pag2.php on line 11


Alguien puede decirme que es lo que falla?, porque no lo veo
  #2 (permalink)  
Antiguo 08/05/2008, 07:26
 
Fecha de Ingreso: abril-2008
Ubicación: bcn
Mensajes: 33
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: ayuda con login, no se que falla

hola, es mejor que no uses la Ñ , en el name ni en las variables de php, vamos que seguro que eso te peta. Una vez quites eso a ver si funciona .
  #3 (permalink)  
Antiguo 08/05/2008, 07:27
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: ayuda con login, no se que falla

Pero cual es el error que te esta dando? especifica un poco mas, aunque lo que veo que creo no es necesario es el session_start() en la página del formulario



Saludos.
  #4 (permalink)  
Antiguo 08/05/2008, 07:29
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: ayuda con login, no se que falla

Tienes un error en tu PHP las variables deberían quedar así:

Código PHP:
$nombre $_POST['nombre'];
$contraseña $_POST['contraseña']; 
Saludos.
  #5 (permalink)  
Antiguo 08/05/2008, 07:41
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Re: ayuda con login, no se que falla

yo uso este
login.php
Código PHP:
<?php
include_once ('conect.php');
@
$valid=$_REQUEST['valid'];
if (
$valid==1){
$msj="El usuario o la clave que introdujo no son vàlidas. Por favor intente nuevamente!.";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>
<link href="style/CCS.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
.style5 {color: #666666}
.style6 {color: #333333}
.style7 {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
}
.style9 {line-height: normal; font-weight: normal; text-align: left; height: auto; letter-spacing: normal; vertical-align: middle; word-spacing: normal; width: auto; left: auto; top: 5px; right: auto; bottom: auto; font-variant: normal; ´;font-style: normal;}
-->
</style>
<link href="estilos.css" rel="stylesheet" type="text/css" />
</head>

<body>
<table width="46%" height="347" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td height="184" valign="top" class="text"><p align="center" class="style7"><span class="style9"><br />
    </span></p>
        <p align="center" class="azulgrs_tah">Secci&oacute;n Privada</p>
      <p align="center" class="azulgris_verd_nrm">Bienvenido al Panel Adminstrativo Integral, coloque su usuario y clave para ingresar </p>
  <form action="includes/login.php" method="post" name="login_form" id="login_form">
          <p align="center">&nbsp;</p>
        <table width="200" border="0" align="center">
            <tr>
              <td width="61" class="text"><span class="azulgrs_tah">Usuario</span>:</td>
              <td width="123"><input type="text" name="email" value="" /></td>
            </tr>
            <tr>
              <td class="azulgrs_tah">Clave:</td>
              <td><input type="password" name="clave" value="" /></td>
            </tr>
            <tr>
              <td class="text">&nbsp;</td>
              <td align="right"><div align="center">
                  <input name="btn_aeptar" type="submit" class="TxSimple" value="Aceptar" />
              </div></td>
            </tr>
          </table>
        <p align="center">
            <?=$msj?>
          </p>
        <p>&nbsp;</p>
        <p>&nbsp;</p>
        <p>&nbsp;</p>
      </form></td>
  </tr>
</table>
</body>
</html>
login.php <-en otra carpeta
Código PHP:
<?php
session_start
();
include 
"../conect.php";
$email strtolower ($_REQUEST["email"]);
$clave strtolower ($_REQUEST["clave"]);
//echo $email."....".$clave;
/*        
        $sql="select * from usuario"; //LOGIN DE USUARIOS
        $sql_exec = mysql_query($sql);
        //$rec = mysql_fetch_array($sql_exec);
        while($rec = mysql_fetch_array($sql_exec)){
        echo $rec['email']."---".$rec['clave']."<br>";
        }
*/


    
if(empty($email) or empty($clave)){
    
//error tipo: 1 campos vacios.
    
header("Location: ../login.php");
    }else{

        
$sql="select * from usuario where email='".$email."' and clave='".$clave."' "//LOGIN DE USUARIOS
        
$sql_exec mysql_query($sql);
        
$rec mysql_fetch_array($sql_exec);
        
//echo mysql_num_rows($sql_exec);
        //echo mysql_error();
                
if ($rec['email'] == $email  and $rec['clave'] == $clave  ){
                

                                    
$_SESSION['id']=$rec["id"];//ID DEL USUARIO
                                    
$_SESSION['nombre']=$rec["nombre"];//nombre del usuario
                                    
$_SESSION['email']=$rec["email"];//email
                                    
$_SESSION['id_tipo_usuario']=$rec["id_tipo_usuario"];//ID DEL USUARIO
 
                                    
header("Location: ../ficha_users.php");
                }else{ 
                
$msj="Error";
                
//error tipo: 2 usuarios no esta registrado en la base de datos    
                
header("Location: ../login.php");
                }
    }    
    
?>
saludos :)
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #6 (permalink)  
Antiguo 08/05/2008, 07:44
 
Fecha de Ingreso: mayo-2008
Mensajes: 69
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: ayuda con login, no se que falla

he modificado lo que me habeis dicho de manera que ahora queda asi:

------------------------------------- PAG1.PHP

<?php
session_start();
?>
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
</head><h2></h2>
<body>


<form name="form1" action="pag2.php" method="POST">
<label>Nombre
<input name="nombre" type="text" id="nombre" />
</label>
<p><label>Contraseña
<input name="contraseña" type="password" id="pass" />
</label></p>
<p><label>
<input name="enviar" type="submit" id="enviar" value="Enviar" />
</label></p>
</form>



</body>
</html>


------------------------------------- PAG2.PHP


<?php
session_start();
?>
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
</head>
<body>
<?php
$nombre = $_POST['$nombre'];
$pass = $_POST['$pass'];

$connect = mysql_connect ("localhost", "root", "") or die (mysql_error());
mysql_select_db ("empresa") or die (mysql_error());


$consulta = "SELECT usuario, password
FROM usuarios
WHERE usuario='$nombre' and password='$pass'";

$result = mysql_query($consulta) or die(mysql_error());

$num= mysql_num_rows($result);


?>

</body>
</html>


Pero el error que me da sigue siendo el mismo... no creo que sea por el session de la pag1.php

ERROR

Notice: Undefined index: $nombre in C:\Archivos de programa\EasyPHP 2.0b1\www\prueba\prueba2\pag2.php on line 10

Notice: Undefined index: $pass in C:\Archivos de programa\EasyPHP 2.0b1\www\prueba\prueba2\pag2.php on line 11
  #7 (permalink)  
Antiguo 08/05/2008, 07:45
 
Fecha de Ingreso: mayo-2008
Mensajes: 69
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: ayuda con login, no se que falla

lo que me lia +, es el metodo que debo utilizar para pasar los datos
  #8 (permalink)  
Antiguo 08/05/2008, 07:47
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: ayuda con login, no se que falla

Cita:
Iniciado por Carlojas Ver Mensaje
Tienes un error en tu PHP las variables deberían quedar así:

Código PHP:
$nombre $_POST['nombre'];
$contraseña $_POST['contraseña']; 
Saludos.

Creo que no leiste lo que escribí estas pasando mal tus variables
$nombre = $_POST['$nombre']; -> esto es incorrecto.
$contraseña = $_POST['$pass']; -> esto es incorrecto y ademas pass no existe en tu formulario tu control se llama contraseña.





Saludos.
  #9 (permalink)  
Antiguo 08/05/2008, 07:50
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Re: ayuda con login, no se que falla

cierto lo q dice Carlojas tu codigo quedaria asi
Código PHP:
<?php
session_start
();
?>
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
</head>
<body>
<?php
$nombre 
$_POST['nombre'];
$pass $_POST['pass'];

$connect mysql_connect ("localhost""root""") or die (mysql_error());
mysql_select_db ("empresa") or die (mysql_error());


$consulta "SELECT usuario, password
FROM usuarios 
WHERE usuario='$nombre' and password='$pass'"
;

$result mysql_query($consulta) or die(mysql_error());

$nummysql_num_rows($result);


?>

</body>
</html>
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #10 (permalink)  
Antiguo 12/05/2008, 22:03
 
Fecha de Ingreso: mayo-2008
Mensajes: 69
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: ayuda con login, no se que falla

ok, ya me funciona, lo siento x no haber podido responder antes, muchas thankkkks (estas son las tipicas novatadas)
  #11 (permalink)  
Antiguo 14/05/2008, 06:17
 
Fecha de Ingreso: mayo-2008
Mensajes: 69
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: ayuda con login, no se que falla

1 cosilla + sobre la que dudo. Si al incio de cada página pongo el
<?php
session_tart();
?>

luego hace falta que ponga el metodo post?, porque me han dicho que no hace falta, pero lo he probado solo con el sesion y me dice esto:


Notice: Undefined variable: nombre in C:\Archivos de programa\EasyPHP 2.0b1\www\prueba\empresa\pag2.php on line 17

Notice: Undefined variable: pass in C:\Archivos de programa\EasyPHP 2.0b1\www\prueba\empresa\pag2.php on line 17
Has accedido correctamente
  #12 (permalink)  
Antiguo 14/05/2008, 06:23
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 7 meses
Puntos: 18
Re: ayuda con login, no se que falla

eso depende de register_globals. si está en On, se puede. si está en Off, no
  #13 (permalink)  
Antiguo 14/05/2008, 07:00
 
Fecha de Ingreso: mayo-2008
Mensajes: 69
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: ayuda con login, no se que falla

ok asi que, en mi caso los tengo en off, entonces el session sirve de algo?¿
  #14 (permalink)  
Antiguo 14/05/2008, 07:14
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 7 meses
Puntos: 18
Re: ayuda con login, no se que falla

pero para usar $_POST no hace falta session_start, ojo.
session_start es para sesiones
mírate esto http://www.google.es/url?sa=t&ct=res...5UivckoJxyJSGQ
  #15 (permalink)  
Antiguo 22/05/2008, 06:55
 
Fecha de Ingreso: mayo-2008
Mensajes: 69
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: ayuda con login, no se que falla

hola de nuevo, tengo un problema ahora:

esta sigue siendo la primera página:

Código PHP:
<?php
session_start
();
?>
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
</head><h2></h2>
<body>


<form name="form1" action="verificacion.php" method="post">
<br>
<br>
<label> <div align="left"></div>
</label>
  <p align="left"><label></label>
  </p>
  <p align="left"><label></label></p>
  <table width="200" border="0">
    <tr>
      <td>Nombre</td>
      <td><input name="nombre" type="text" id="nombre" /></td>
    </tr>
    <tr>
      <td>Contraseña</td>
      <td><input name="pass" type="password" id="pass" /></td>
    </tr>
    <tr>
      <td><input name="enviar" type="submit" id="enviar" value="Enviar" /></td>
      <td>&nbsp;</td>
    </tr>
  </table>
</form>
  


</body>
</html>
y esta seria la segunda

Código PHP:
<?php
session_start
();
?>
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
</head>
<body>
<?php
    $nombre 
$_POST['nombre'];
    
$pass $_POST['pass'];

$connect mysql_connect ("localhost""root""") or die (mysql_error());
mysql_select_db ("empresa") or die (mysql_error());


$consulta "SELECT usuario, password
             FROM usuarios 
            WHERE usuario='$nombre' and password='$pass'"
;

$result mysql_query($consulta) or die(mysql_error());
$nummysql_num_rows($result);

if (
$num =0)

    echo 
"El usuario o la contraseña no son correctos";
}
else 
{
    echo 
"Has accedido correctamente";
}


?>

</body>
el problema esque siempre me muestra has accedido correctamente, y si se lo quito pues no pasa nada, supongo que las estructura debe estar mal, pero he estado mirando la estructura simple del if... y no lo veo, a ve ris alguien ayuda a este pedazo de noob php-ero
  #16 (permalink)  
Antiguo 22/05/2008, 07:37
 
Fecha de Ingreso: mayo-2008
Mensajes: 69
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: ayuda con login, no se que falla

bueno finalmente lo he sacado era ==
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 17:24.