Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/09/2009, 12:19
paulkees
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 6 meses
Puntos: 3
Respuesta: Proteger página con E-mail activado

Gracias whaky por tu dato!

He implementado lo de session_start() para mi fin, de esta manera:

Código PHP:
<?php include($_SERVER['DOCUMENT_ROOT']."Conexión"); ?>

<?php
//datos para establecer la conexion con la base mysql.
MySQL5();

function 
formVerificar(){
?>


<?php
}

// verificamos si se ha enviado la variable necesaria, la que tenemos en nuestro form.
if (isset($_POST["email"])) {
    
$email $_POST["email"];
    echo 
"<div style='text-align:center;font-weight:bold;font-size:250%;color:#005784;margin-top:200px;'>";
    echo 
$email;
    echo 
"</div>";
    
// Comprobamos si el campos E-mail esta en blanco
    
if($email==NULL) {
        echo 
"<div style='font-size:250%;text-align:center;font-weight:bold;color:#B40404;'>Debe ingresar su dirección de correo</div>";
        
formVerificar();
        }else{
            
// Comprobamos si la cuenta de correo existe
            
$checkemail mysql_query("SELECT email FROM encuentro WHERE email='$email'");
            
$email_no_existe mysql_num_rows($checkemail);
            if (
$email_no_existe==NULL) {
                echo 
"<div style='font-size:130%;text-align:center;font-weight:bold;color:#B40404;'>Su E-mail no esta registrado</div>";
                
formVerificar();
        }else{
            
// Comprobamos si la cuenta de correo esta activada
            
$checkestado mysql_query("SELECT email, estado FROM encuentro WHERE email='$email'AND estado='0'");
            
$estado_no_activado mysql_num_rows($checkestado);
            if (
$estado_no_activado==0) {
                echo 
"<div style='font-size:130%;text-align:center;font-weight:bold;color:#B40404;'>Su Email no esta activado</div>";
                
formVerificar();
        }else{
            
session_start();
            
$_SESSION["email"] = $email;
                
header ("Location: listado.php"); ;
        }
        }
        }
        }
        
?>
Y en el archivo a proteger listado.php, en la cabecera antes que cualquier cosa, he puesto esto:

Código PHP:
<?php  
session_start
();
if(isset(
$_SESSION['email'])){
echo 
"OK, tienes el acceso permitido";
}
else {
echo 
"Error, no tienes permiso.";
}
?>
Ahora bien, las sesiones me las crea sin problemas y funciona, pero la página listado.php no me la está protegiendo. Es decir, en la cabecera, si ingreso sin sesión me sale: "Error, no tienes permiso.", si inicio la sesión me sale: "OK, tienes el acceso permitido".

Osea, como que session_start() no está funcionando en la protección.

Por favor, si me pueden ayudar... gracias!!!