Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/01/2003, 19:57
Avatar de lochorui
lochorui
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 22 años, 2 meses
Puntos: 2
Problemas con script (Autentificator)

cluster hola al final use tu codigo y sigo con problemas:

mi php tiene todo activado podes verlo aqui
yo meto mediante el siguiente form los datos en la base que compruebo y estan bien , meto manual el nivel d acceso y se lo pongo a 10 .

Cita:
Código PHP:
<?php
      
$valido 
true;
if ((
$nombre_grupo == "") || ($nombre_grupo == "?????"))
{
    echo 
"Por favor indica el nombre del grupo.<br>";
    
$valido false;
}


if ((
$usuario == ""))
{
    echo 
"Especifique un nombre de usuario por favor.<br>";
    
$valido false;
}
Else
{
    
$dbh mysql_connect("localhost""musikaid_lord""pringaos");
    
mysql_select_db ("musikaid_altas"$dbh);
    
$sql "SELECT * FROM grupos WHERE usuario='".$usuario."'";
    
$result mysql_query($sql);
    if (
$row mysql_fetch_array($result))
        {
            echo 
"El nombre de usuario que ha seleccionado ya existe , seleccione otro por favor..<br>";
            
$valido false;
        }
    
}

if ((
$pass == "") || ($pass2 == "") || ($pass <> $pass2))
{
echo 
"Ha introducido incorrectamente las contraseñas .<br>";
$valido false;
}




if (!(
ereg("^.+@.+\\..+$"$email)) || ($email <> $email2)){
echo 
"El e-mail ingresado no es valido, por favor reviselo.<br>";
$valido false;
}
Else
{
    
$dbh mysql_connect("localhost""musikaid_user""pass");
    
mysql_select_db ("musikaid_altas"$dbh);
    
$sql "SELECT * FROM grupos WHERE email='".$email."'";
    
$result mysql_query($sql);
    if (
$row mysql_fetch_array($result))
        {
            echo 
"El e-mail que ha intruducido ya está en nuestra base de datos .<br>";
    
$valido false;
        }


}


if (
$valido == true){
$dbh mysql_connect("localhost""musikaid_user""pass");
     
mysql_select_db ("musikaid_altas"$dbh);
     
$sql "INSERT INTO grupos (nombre_grupo, usuario, pass, email,nivel_acceso)";
     
$sql .= "VALUES ('$nombre_grupo', '$usuario', '$pass', '$email', 'nivel_acceso')";
     
$result mysql_query($sql);
echo 
mysql_error();
     echo 
"<h4><font face='Georgia, Times New Roman, Times, serif'>$nombre ¡Gracias! Los siguientes datos han sido recibidos.En unos instantes recibira un e-mail con los datos paar continuar con el alta de su grupo.\n<br><br>";
     echo 
"Nombre del grupo:$nombre_grupo<br>";
     echo 
"Nombre de usuario:$user<br>";
     echo 
"Contraseña:$pass<br>";
echo 
"E-mail:$email<br>";



mail($sdestinatario,$ssubject,$shtml,$sheader);




     }
Else
{
echo 
"<br><br><center><input type='button' style='cursor:hand' value='Volver' name='volver' onclick='javascript=history.back()'></center>";
}

     
?>

para inentar autentificar hago el siguiente form:

Cita:
Código PHP:
 <BODY>
<form action="pruebaaut.php" method="post">
Usuario: <input type="text" name="usuario">
Passwor: <input type="password" name="pass">
<INPUT TYPE="submit">
<?PHP
// Mostrar error de Autentificación.
include ("aut_mensaje_error.inc.php");
if (isset(
$_GET['error_login'])){
$error=$_GET['error_login']; 
echo 
"Error: $error_login_ms[$error]";

?>
</form>
</BODY>
y la pagan restringida es la siguiente:

Código PHP:
<BODY>
<form action="pruebaaut.php" method="post">
Usuario: <input type="text" name="usuario">
Passwor: <input type="password" name="pass">
<INPUT TYPE="submit">
<?PHP
// Mostrar error de Autentificación.
include ("aut_mensaje_error.inc.php");
if (isset(
$_GET['error_login'])){
$error=$_GET['error_login']; 
echo 
"Error: $error_login_ms[$error]";

?>
</form>
</BODY>

luego el aut_verifica es el siguiente lo unico q hice es cambiar user por usuario y a es el nombre q tengo en mi bd:

Autverifica:
Código PHP:
[require ("aut_config.inc.php");


// chequear página que lo llama para devolver errores a dicha página.

$url explode("?",$_SERVER['HTTP_REFERER']);
$pag_referida=$url[0];
$redir=$pag_referida;
// chequear si se llama directo al script.
if ($_SERVER['HTTP_REFERER'] == ""){
die (
"Error cod.:1 - Acceso incorrecto!");
exit;
}


// Chequeamos si se está autentificandose un usuario por medio del formulario
if (isset($_POST['usuario']) && isset($_POST['pass'])) {

// Conexión base de datos.
// si no se puede conectar a la BD salimos del scrip con error 0 y
// redireccionamos a la pagina de error.
$db_conexionmysql_connect("$sql_host""$sql_usuario""$sql_pass") or die(header ("Location:  $redir?error_login=0"));
mysql_select_db("$sql_db");

// realizamos la consulta a la BD para chequear datos del Usuario.
$usuario_consulta mysql_query("SELECT ID,usuario,pass,nivel_acceso FROM $sql_tabla WHERE usuario='".$_POST['usuario']."'") or die(header ("Location:  $redir?error_login=1"));

 
// miramos el total de resultado de la consulta (si es distinto de 0 es que existe el usuario)
 
if (mysql_num_rows($usuario_consulta) != 0) {

    
// eliminamos barras invertidas y dobles en sencillas
    
$login stripslashes($_POST['usuario']);
    
// encriptamos el password en formato md5 irreversible.
    
$password md5($_POST['pass']);

    
// almacenamos datos del Usuario en un array para empezar a chequear.
     
$usuario_datos mysql_fetch_array($usuario_consulta);
  
    
// liberamos la memoria usada por la consulta, ya que tenemos estos datos en el Array.
    
mysql_free_result($usuario_consulta);
    
// cerramos la Base de dtos.
    
mysql_close($db_conexion);
    
    
// chequeamos el nombre del usuario otra vez contrastandolo con la BD
    // esta vez sin barras invertidas, etc ...
    // si no es correcto, salimos del script con error 4 y redireccionamos a la
    // página de error.
    
if ($login != $usuario_datos['usuario']) {
           
Header ("Location: $redir?error_login=4");
        exit;}

    
// si el password no es correcto ..
    // salimos del script con error 3 y redireccinamos hacia la página de error
    
if ($password != $usuario_datos['pass']) {
        
Header ("Location: $redir?error_login=3");
        exit;}

    
// Paranoia: destruimos las variables login y password usadas
    
unset($login);
    unset (
$password);

    
// En este punto, el usuario ya esta validado.
    // Grabamos los datos del usuario en una sesion.
    
     // le damos un mobre a la sesion.
    
session_name($usuarios_sesion);
     
// incia sessiones
    
session_start();

    
// Paranoia: decimos al navegador que no "cachee" esta página.
    
session_cache_limiter('nocache,private');
    
    
// Asignamos variables de sesión con datos del Usuario para el uso en el
    // resto de páginas autentificadas.

    // definimos usuarios_id como IDentificador del usuario en nuestra BD de usuarios
    
$_SESSION['usuario_id']=$usuario_datos['ID'];
    
    
// definimos usuario_nivel con el Nivel de acceso del usuario de nuestra BD de usuarios
    
$_SESSION['usuario_nivel']=$usuario_datos['nivel_acceso'];
    
    
//definimos usuario_nivel con el Nivel de acceso del usuario de nuestra BD de usuarios
    
$_SESSION['usuario_login']=$usuario_datos['usuario'];

    
//definimos usuario_password con el password del usuario de la sesión actual (formato md5 encriptado)
    
$_SESSION['usuario_password']=$usuario_datos['pass'];


    
// Hacemos una llamada a si mismo (scritp) para que queden disponibles
    // las variables de session en el array asociado $HTTP_...
    
$pag=$_SERVER['PHP_SELF'];
    
Header ("Location: $pag?");
    exit;
    
   } else {
      
// si no esta el nombre de usuario en la BD o el password ..
      // se devuelve a pagina q lo llamo con error
      
Header ("Location: $redir?error_login=2");
      exit;}
} else {

// -------- Chequear sesión existe -------

// usamos la sesion de nombre definido.
session_name($usuarios_sesion);
// Iniciamos el uso de sesiones
session_start();

// Chequeamos si estan creadas las variables de sesión de identificación del usuario,
// El caso mas comun es el de una vez "matado" la sesion se intenta volver hacia atras
// con el navegador.

if (!isset($_SESSION['usuario_login']) && !isset($_SESSION['usuario_password'])){
// Borramos la sesion creada por el inicio de session anterior
session_destroy();
die (
"Error cod.: 2 - Acceso incorrecto!");
exit;
}
}
?> 
asi q todo se supone esta bien y me dice Error: Password no valida


asi q no se cual es el problema...


Un saludo y gracias

Última edición por Cluster; 29/01/2003 a las 20:10