Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/10/2012, 08:38
asfranco88
 
Fecha de Ingreso: octubre-2008
Mensajes: 10
Antigüedad: 16 años, 1 mes
Puntos: 0
Problema con sesión,login y logout

Hola amigos,
Tengo un problema con un script que compré, ya he resuelto varios fallos que daba pero como no tengo muchos conocimientos de scripts esto se me resiste, y quizás sea una tontería, pero ya estoy desesperado y veo que cómo no lo arregle perdí dinero tontamente :(. La web es:

http://www.noticion.net

Resulta que cuando un usuario entra en su cuenta, la sesión entra y sale como le da la gana. Se supone que al estar logeado arriba aparece "gestionar mis anuncios/salir/contacto", pero si te logeas y vuelves a la página principal a veces cambiar de nuevo a "acceder a mi cuenta/contacto". Luego refrescas y de repente vuelves a estar logeado, luego entras en la página de contacto y vuelve a deslogearse, hace cosas muy raras. Podéis probarlo:

noticion.net/acceder
usuario: [email protected]
contraseña: noticion

Lo mismo pasa al deslogearse. Cuando le doy a salir parece que no hace efecto, sigue igual de logeado, pero le das a gestionar anuncios y los anuncios no aparecen y deslogea, de nuevo no funciona bien. Sé que debería funcionar bien porque en la demo original sí funciona y no pasan estas cosas. Los scripts son:

En el main para los enlaces está:
Código:
<div id="header_main"><a href="" ><h1><? echo $h1SEO; ?></h1></a><div id="nav"><ul><? if(!isset($_SESSION['mail'])){ ?><li><a href="acceder" rel="nofollow">Acceder a mi Cuenta</a></li><? }else{ ?><li><a href="mis-anuncios" rel="nofollow">Gestionar Mis Anuncios</a></li>
  <li><a href="salir" rel="nofollow">Salir</a></li>
<? } ?><li class="n"><a href="contactar" rel="nofollow">Contacto</a></li></ul></div><div class="h2"><? echo $h2SEO; ?></div></div>
el script del login es:
Código:
<?php
error_reporting(0);
require_once('../content/config.php');
require_once('sql.php');
if(isset($_POST['mail'])  && !isset($_SESSION['mail'])){
  $mail = mysql_real_escape_string($_POST['mail']); 
  $pass = md5($_POST['pass']);
  
    $result = recoger("usuarios", $a=array('email' => $mail, 'pass' => $pass), "");
	if(count($result) != 0){
         @session_start();
			$_SESSION["id_usuario"] = $result[0]['id_usuario'];
			$_SESSION["mail"] = strtolower($result[0]['email']);
			$_SESSION["pass"] = $result[0]['pass'];
			$sesion = $_SESSION["id_usuario"] . "." . $_SESSION["mail"];
			setcookie("sesion", $sesion, time()+5184000, "/", "noticion.net");
			if($result[0]['chpass']!=1){$url = "../../index.php";}else{$url="../../cambiar-pass/";}
               
	}else{
			$url = "../../acceder";
	}
}else{
	$url = "../../acceder";

}
echo '<script type="text/javascript">
            location.href = "'.$url.'";
            </script>';
?>
El script del logout es:
Código:
<?php
@session_start();
error_reporting(0);
require_once('../content/config.php'); // Aqui me conecto a BD (funtion connectar)
setcookie ("sesion", "", time()-5184000 , "/", "noticion.net");
session_destroy();
echo '<script type="text/javascript">
             location.href = "../../index.php";
            </script>';
?>
Parece ser que hay algo mal en la configuración.
¿Algún alma caritativa puede echarme una mano? :confused:
Si necesitáis que adjunte algo más no hay problema