Foros del Web » Programando para Internet » PHP »

Acceso Usuario

Estas en el tema de Acceso Usuario en el foro de PHP en Foros del Web. Hola tengo este codigo para acceder a un area restrigida pero no me obedece que problema hay? Cita: <?php $usuario = "usuario"; $clave = "clave"; ...
  #1 (permalink)  
Antiguo 10/08/2010, 06:17
 
Fecha de Ingreso: mayo-2008
Mensajes: 253
Antigüedad: 15 años, 10 meses
Puntos: 8
Acceso Usuario

Hola tengo este codigo para acceder a un area restrigida pero no me obedece que problema hay?

Cita:
<?php

$usuario = "usuario";
$clave = "clave";
$usar_session = false;

?>

<h1>Mostar contenido protegido</h1>

<form name="form" method="post" action="">
<p><label for="usuario">Usuario:</label>
<br /><input type="text" title="Inserta el nombre de usuario" name="usuario" /></p>

<p><label for="clave">Clave:</label>
<br /><input type="password" title="Inserta tu clave" name="clave" /></p>

<p><input type="submit" name="Submit" value="Acceso" /></p>

</form>

<?php

if ($_POST['usuario'] == $usuario && $_POST['clave'] == $clave || isset($_SESSION['protegido'])) {

if($usar_session){
@session_start();
$_SESSION['protegido'] = $usuario;
}

$mostrar_contenido = false;

echo "<p><a href= 'http://accesialarea.com' ></a></p>";


} else{

echo "<p>Usuario no valido</p>";

}

?>
Gracias
  #2 (permalink)  
Antiguo 10/08/2010, 07:40
 
Fecha de Ingreso: octubre-2005
Mensajes: 15
Antigüedad: 18 años, 5 meses
Puntos: 0
Respuesta: Acceso Usuario

Buenas, si que te funciona, lo único que te falta es añadirle el texto del enlace cuando logeas el usuario, es decir:

en la linea donde pones:

Código PHP:
echo "<p><a href= 'http://accesialarea.com' ></a></p>"
deberías poner:

Código PHP:
echo "<p><a href= 'http://accesialarea.com' >nombre del link</a></p>"
Aún así, te dejo tu código un poco modificado porque creo que te quedará mejor, te añado comentarios en lo que he cambiado:

Código PHP:
<?php
//iniciamos las sesiones al principio de la página
@session_start();
        
$usuario "usuario";
$clave "clave";

//recojo el contenido de la variable POST y lo pasa por una expresion regular que 
//elimina todo lo que no sean letras (mayusculas y minusculas),numeros y el guion bajo "_"
$usuario_form=preg_replace("/[^a-z0-9\_]*/i","",$_POST['usuario']); 

//recojo el contenido de la variable POST y lo pasa por una expresion regular que 
//elimina todo lo que no sean letras (mayusculas y minusculas) y numeros
$clave_form=preg_replace("/[^a-z0-9]*/i","",$_POST['clave']);

?>

<h1>Mostar contenido protegido</h1>

<form name="form" method="post" action="">
<input type="hidden" name="submit_form" value="1"> <!-- este campo nos indicará si se ha hecho submit en el formulario -->
<p><label for="usuario">Usuario:</label>
<br /><input type="text" title="Inserta el nombre de usuario" name="usuario" /></p>

<p><label for="clave">Clave:</label>
<br /><input type="password" title="Inserta tu clave" name="clave" /></p>

<p><input type="submit" name="Submit" value="Acceso" /></p>

</form>

<?php
if($_POST["submit_form"]==1){
    if (
$usuario_form == $usuario && $clave_form == $clave) {
        
$_SESSION['protegido'] = $usuario;
        
$mostrar_contenido false;
        echo 
"<p><a href= 'http://accesialarea.com' >nombre del link</a></p>";
    }else{
        echo 
"<p>Usuario no valido</p>";
    }
}
?>
Espero que te sirva de ayuda.

Un saludo
  #3 (permalink)  
Antiguo 10/08/2010, 07:43
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Acceso Usuario

Hola

Prueba a seperar los bloques a evaluear
Código PHP:
Ver original
  1. if ((($_POST['usuario'] == $usuario) && ($_POST['clave'] == $clave)) || (isset($_SESSION['protegido']))) {
Otra cosa al evaluar esta condición if($usar_session) nunca se cumple. Para que se cumpliera tendría que ser if(!$usar_session)

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 10/08/2010, 07:53
 
Fecha de Ingreso: mayo-2008
Mensajes: 253
Antigüedad: 15 años, 10 meses
Puntos: 8
Respuesta: Acceso Usuario

muchas gracias, pero al acceder con los datos correctos no se me abre la ventana automaticamente.

Muchas gracias sois unos soles

Etiquetas: 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 16:54.