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:
el script del login es:<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>
Código:
El script del logout es:<?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>'; ?>
Código:
Parece ser que hay algo mal en la configuración.<?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>'; ?>
¿Algún alma caritativa puede echarme una mano? :confused:
Si necesitáis que adjunte algo más no hay problema