Foros del Web » Programando para Internet » PHP »

Autentificacion php

Estas en el tema de Autentificacion php en el foro de PHP en Foros del Web. Hola,estoy haciendo una web y necesito saber como se puede validar a un usuario para que cuando se introduzcan los campos de clave y usuario, ...
  #1 (permalink)  
Antiguo 29/02/2008, 11:18
 
Fecha de Ingreso: enero-2008
Mensajes: 111
Antigüedad: 16 años, 2 meses
Puntos: 0
Autentificacion php

Hola,estoy haciendo una web y necesito saber como se puede validar a un usuario para que cuando se introduzcan los campos de clave y usuario, de acceso directo a otra pagina.

Otra duda que tengo es si el resto de paginas exlusivas para usuarios estaran protegidas o no.
Un saludo a todos
  #2 (permalink)  
Antiguo 29/02/2008, 11:22
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Autentificacion php

Mira este link creo que te puede servir para lo que deseas Autentificacion de usuarios en PHP solo es cuestion de que lo adaptes a tus condiciones

Saludos.
  #3 (permalink)  
Antiguo 29/02/2008, 11:27
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 16 años, 6 meses
Puntos: 101
Re: Autentificacion php

Hola,
Lee este tema: http://www.forosdelweb.com/f18/aport...aporte-561417/
Suerte
Salu2
__________________
Half Music - www.halfmusic.com
  #4 (permalink)  
Antiguo 29/02/2008, 11:43
 
Fecha de Ingreso: enero-2008
Mensajes: 111
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Autentificacion php

Gracias pero no me apaño,veras tengo la pag con un marco arriba que solo tiene en campo de la contraseña,el codigo php debe de ir en ese marco no??
  #5 (permalink)  
Antiguo 01/03/2008, 16:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Autentificacion php

El código PHP debe de ir en una página especifica para la validación, no importa si esta en un marco, solo es cuestion que cuando hagas el POST a esa página te devuelva el dato correcto.

Saludos.
  #6 (permalink)  
Antiguo 03/03/2008, 11:17
 
Fecha de Ingreso: enero-2008
Mensajes: 111
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Autentificacion php

Con lo que me han dejado ahi no puedo hacer nada,ya que no necesito nombre de usuario,es solo una contraseña.
¿Despues de hacer esto tengo que proteger el resto de las paginas o se protegen solas?
  #7 (permalink)  
Antiguo 03/03/2008, 11:25
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Re: Autentificacion php

para redirigir a un usuario al entrar con su user y password es colocando un script de java despues del codigo php para la validacion.




Código PHP:
mysql_connect('localhost','user','9999')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('registro')or die ('Error al seleccionar la Base de Datos: '.mysql_error());

function quitar($mensaje)
{
    $nopermitidos = array("'",'\\','<','>',"\"");
    $mensaje = str_replace($nopermitidos, "", $mensaje);
    return $mensaje;
}
if(trim($HTTP_POST_VARS["usuario"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
{
    // Puedes utilizar la funcion para eliminar algun caracter en especifico
    //$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
    //$password = $HTTP_POST_VARS["password"];
    // o puedes convertir los a su entidad HTML aplicable con htmlentities
    $usuario = strtolower(htmlentities($HTTP_POST_VARS["usuario"], ENT_QUOTES));
    $password = $HTTP_POST_VARS["password"];
    $result = mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$usuario.'\'');
    if($row = mysql_fetch_array($result)){
        if($row["password"] == $password){
            $_SESSION["k_username"] = $row['usuario'];
            echo 'Has entrado correctamente '.$_SESSION['k_username'].' <p>';
            echo '<a href="principal2.php">Miembros</a></p>';
            
            
        
        ?>
            <SCRIPT LANGUAGE="javascript">
            location.href = "principal2.php";
            </SCRIPT>
            <?
        
        
}else{
            echo 
'<span class="Estilo5">Password incorrecto</span>';
        }
    }else{
        echo 
'<span class="Estilo5">Usuario no existente</span>';
    }
    }
    
mysql_close();

ves, con este script:

Código PHP:
?>
            <SCRIPT LANGUAGE="javascript">
            location.href = "principal2.php";
            </SCRIPT>
            <?
lo que hace es salir del php ejecutar un java script que te redirige donde quieras, en este caso a principal2.php, pon la que tu quieras.

el resto es un tema algo complicado, si quieres hacer zonas restringidas solo para usuarios registrados, todos los registrados podran entrar en las zonas restringidas,

el otro tema es mas de ponerse a estudiar uno, yo ya empece y una vez que te pones no es tan dificil aprender a entender y sobretodo a adaptarte codigo que encuentras por la red.

Un saludo
  #8 (permalink)  
Antiguo 03/03/2008, 11:54
 
Fecha de Ingreso: enero-2008
Mensajes: 111
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Autentificacion php

A ver en la bd hay una tabla que dentro tiene el campo clave,para validar solo tengo que introducir esa clave,entonces claro como todo lo que veo solo es de meter usuario y clave pues me lio.
  #9 (permalink)  
Antiguo 04/03/2008, 03:13
 
Fecha de Ingreso: enero-2008
Mensajes: 111
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Autentificacion php

Tengo este coidgo,pero no consigo adaptarlo para que solo sea necesaria la contraseña,podriais ayudarme?
Cita:
<?php

$hostname="localhost";
$database="vclub";
$username="esi2v";
$password="esi2v";
session_start();

// Conectar a la base de datos
mysql_connect ($hostname, $username, $password);
mysql_select_db($database) or die('Cannot select database');
session_start();


//Comprobacion del envio del nombre de usuario y password

$password=$_POST['password'];
if ($password==NULL) {
echo "La password no fue enviada";
}else{
$query = mysql_query("SELECT clave FROM configuraciones WHERE clave = '$password'") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['password'] != $password) {
echo "Login incorrecto";
}else{
$query = mysql_query("SELECT clave FROM configuraciones WHERE clave = '$password'") or die(mysql_error());
$row = mysql_fetch_array($query);
$_SESSION["s_password"] = $row['username'];
echo "Has sido logueado correctamente ".$_SESSION['s_username']." y puedes acceder al index.php.";




echo "Has sido logueado correctamente ".$_SESSION['s_username']." y puedes acceder al index.php.";
?>
  #10 (permalink)  
Antiguo 04/03/2008, 06:15
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 1 mes
Puntos: 52
Re: Autentificacion php

lo primero que veo, no soy un experto ,pero es que no recoges las variables del form, tu haces:

Código PHP:
$password=$_POST['password'];
if (
$password==NULL) {
echo 
"La password no fue enviada";
}else{ 
y deberia ser, creo:

Código PHP:

// recojo las variables del form

if (isset($_POST["submit"])) {
    
$password$_POST["password"];
    

    
// Hay campos en blanco
    
if($password==NULL) {
        echo 
"un campo password está vacio.";

}else{
$query mysql_query("SELECT clave FROM configuraciones WHERE clave = '$password'") or die(mysql_error());
$data mysql_fetch_array($query);
if(
$data['password'] != $password) {
echo 
"Login incorrecto";
}else{
$query mysql_query("SELECT clave FROM configuraciones WHERE clave = '$password'") or die(mysql_error());
$row mysql_fetch_array($query);
$_SESSION["s_password"] = $row['username'];
echo 
"Has sido logueado correctamente ".$_SESSION['s_username']." y puedes acceder al index.php.";




echo 
"Has sido logueado correctamente ".$_SESSION['s_username']." y puedes acceder al index.php.";
?> 

la parte del query me imagino que estara bien.

aunque haces dos query, solo con uno te bastaria


Código PHP:

if($row mysql_fetch_array($result)){
        if(
$row["password"] == $password){
            
$_SESSION["k_username"] = $row['usuario'];
            echo 
'Has entrado correctamente '.$_SESSION['k_username'].' <p>';
            echo 
'<a href="principal2.php">Miembros</a></p>';


                }else{
            echo 
'Password incorrecto';
        }
    }    }
    
mysql_close(); 

Última edición por jaronu; 04/03/2008 a las 06:21
  #11 (permalink)  
Antiguo 04/03/2008, 12:14
 
Fecha de Ingreso: enero-2008
Mensajes: 111
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Autentificacion php

Yo paso,gracias de todas formas,esto es imposible.
No hay otra manera menos complicada de hacer que para poder acceder a una pagina sea necesario poner una clave(sin usuario??
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 10:11.