Foros del Web » Programando para Internet » PHP »

Sistema de Login y Password

Estas en el tema de Sistema de Login y Password en el foro de PHP en Foros del Web. Como estan amigos de este foro. Me encuentro haciendo un sistema de login y Password basado en PHP, dicho login viene representado por el número ...
  #1 (permalink)  
Antiguo 28/06/2004, 11:58
Avatar de JoeMx  
Fecha de Ingreso: febrero-2003
Ubicación: A Km de Aquí.
Mensajes: 1.154
Antigüedad: 21 años, 1 mes
Puntos: 4
Sistema de Login y Password

Como estan amigos de este foro.
Me encuentro haciendo un sistema de login y Password basado en PHP, dicho login viene representado por el número de cedula y el Password por una clave (Login=Cedula Password=Clave)

Tengo un formulario en html el cual dentro de su acción se va a un archivo .php que contiene la programación para acceder o no a las paginas que quiero según el nivel de usuario (admin. y/o user).

Este archivo que contiene la programación se llama procingreso.php. Pero al momento de enviar el formulario me da el siguiente error.

Notice: Undefined variable: enviar in C:\Inetpub\php\am\procingreso.php on line 23
Warning: Cannot modify header information - headers already sent by (output started at C:\Inetpub\php\am\procingreso.php:23) in C:\Inetpub\php\am\procingreso.php on line 42

En la linea 23 lo que tengo es esto: if($enviar=="Enviar"){
Y en la linea 42 esto: header("Location: http://localhost/am/error.php");

En resumidas cuenta lo que trato de realizar es una pagina de autentificación que según el tipo de perfil de usuario (admin y/o usuario) pueda entrar a una pagina en especifico.
Ahora bien si alguien de ustedes puede ayudarme se los agradeceria de por vida o si conocen alguna manera mas sencilla de hacer esto que quiero hacer tambien se los agradezco.

Muchas Gracias de Antemano y gracias por leer este mensaje.

Mi archivo procingreso.php contiene lo siguiente:
---------------------------------------------------------------------------
<?php
function Validar($LO,$PA,&$mensaje1,$mensaje2){
global $mensaje1; //1
$link=mysql_connect("localhost","root"); //2
mysql_select_db("estadodecuenta",$link); //3
$sqltext="select cedula, clave from estadodecuenta where cedula='".$LO."' or clave='".$PA."'"; //4
$BUS=mysql_query($sqltext,$link);
$log=true; //5
if(!$row=mysql_fetch_array($BUS)){ //6
if(($row["cedula"]!=$LO) || ($row["clave"]!=$PA)) //7
{
$mensaje1="los datos de la cedula y la clave no corresponden a un usuario registrado"; //8
$log=false; //9
}
}
else
$mensaje2=$row["perfil"]; //10
return $log; //11
}
$mensaje1 = "";
$mensaje2 = "";

if($enviar=="Enviar"){ //12
if(!Validar($cedula,$clave,$mensaje1,$mensaje2,$pe rfil)) { //13
header("Location: http://localhost/am/valingreso.php?mensaje1=".$mensaje1);
exit;
}
else{
if($mensaje2=="0") {
header("Location: http://localhost/am/informacion.php"); //14
exit;
}

else{
header("Location: http://localhost/am/informacionadmin.php"); //15
exit;
}
}
}

else{
header("Location: http://localhost/am/error.php"); //16
exit;
}
?>
__________________
"Si lo piensas, es porque si lo puedes hacer"
  #2 (permalink)  
Antiguo 29/06/2004, 07:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
El nivel de mensajes de error que muestra PHP lo tienes configurado de tal forma que te avise de ciertas actitudes de programación no correctas como por ejemplo .. no comprobar la existencia de una variable en el método esperado antes de usarla.

si tu $enviar llega de tu formulario con método POST deberías usar:

$_POST['enviar'] .. lo mismo con el resto de variables que recojas de tu formulario (según el method que indiques será GET o POST el array superglobal a emplear).

a su vez .. debes verificar que exista esa variable antes de usarla con un condicional tipo:

Código PHP:
if (isset($_POST['enviar'])){
// entonces .. la usas


Pero, .. el nivel de mensajes de error se puede ajustar para "silenciar" (esto no implica que no se estén produciendo esos errores sino que no muestras los mensajes de error) con la función: error_reporting() o bien con la directiva de mismo nombre en tu PHP.ini para que afecte a todo script/aplicación que uses bajo tu servidor ...

www.php.net/error_reporting

Un saludo,
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:41.