Programación Web y Scripting > PHP

 Problema con Sesiones

(1/1)

zaida20:
Hola a todos, os explico:

Estoy haciendo un pequeño foro y necesito que al hacer click en un botón (Nuevo mensaje), me verifique si el usuario ha iniciado sesión, si es así que pueda escribir el mensaje y si no que aparezca un aviso diciendole que tiene que iniciar sesión.
Éste es mi código:

inicio_sesion.php

--- Código: Text ---<form id="validacion_usuario" name="validacion_usuario" method="post" action="../inicio_sesion/comprobar_acceso.php">    <table width="119" border="1" cellpadding="0" cellspacing="0" bordercolor="#CE0000">      <tr>        <td width="115" valign="top" bordercolor="#FFFFFF" bgcolor="#CE0000"><div align="center"><span class="Estilo67 Estilo1">INICIO              SESIÓN </span></div></td>      </tr>      <tr>        <td height="72" valign="top" bgcolor="#FFFFFF"><table width="114" border="0" cellpadding="1" cellspacing="1">            <tr>              <td width="110"><div align="left"><span class="Estilo70 Estilo80 Estilo2"> Usuario</span></div></td>            </tr>            <tr>              <td height="24" valign="top"><div align="center"><span class="Estilo60">                <input name="usuar" type="text"  size="17" style="height:12px;font-size:10px;border:solid 1px;border-color: #CE0000;" />              </span></div></td>            </tr>            <tr>              <td><span class="Estilo83 Estilo2"> Contraseña</span></td>            </tr>            <tr>              <td><div align="center"><span class="Estilo60">                  <input name="contras" type="password"  size="17" style="height:12px;font-size:10px;border:solid 1px;border-color: #CE0000;" />              </span></div></td>            </tr>            <tr>              <td><div align="center"><img src="../img/Bok.gif" width="39" height="20" style="cursor:pointer" onclick="inicio_sesion()"/></div></td>            </tr>            <tr>              <td class="Estilo79"><div align="center" class="Estilo80">                  <div align="left" class="Estilo2"><u>Olvidé la Contraseña </u></div>              </div></td>            </tr>            <tr>              <td class="Estilo79" style="cursor:pointer" onclick="re()"><div align="center" class="Estilo80">                  <div align="left" class="Estilo2"><u>Registrar</u></div>              </div></td>            </tr>        </table></td>      </tr>    </table>  </form> comprobar_acceso.php

--- Código: Text ---<?php //validamos usuario y contraseña ob_start();//para poder enviar en cualquier sitio header require'../conexion.php'; $usuario=$_POST['usuar']; $error=$_POST['error']; $contrasena=$_POST['contras']; if($_POST['usuar']!=NULL) {     $obtener_blog="select id,nick,pass,nombre from usuarios where nick='$usuario' and pass='$contrasena'";     $i=0;     $consulta=mysql_query($obtener_blog,$conexion);     echo $consulta;     if($consulta!=NULL)     {         if(mysql_num_rows($consulta)!=0)         { //            echo "existe";             $fila=mysql_fetch_array($consulta);             $id_usuario=$fila['id'];             $nombre=$fila['nick'];             $nombre_usuario=$fila['nick'];             //Metemos el resultado en variables de sesion             session_start();             //Creo las variables de sesion             unset($_SESSION['id_usuario']);             unset($_SESSION['nick']);             $_SESSION['id_usuario']=$id_usuario;             $_SESSION['nick']=$nombre;             //No chequeamos esta pagina en el navegador             session_cache_limiter('nocache,private');             header('location:acceso_permitido.php');         }         else         {             header('location:acceso.php?error=1');         }     } mysql_close(); } ?>  acceso_permitido.php

--- Código: Text ---<?php  session_start(); //Creo las variables de sesion $nombre=$_SESSION['usuar']; ?> <html> <head> <title>Documento sin título</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="../estilo.css" rel="stylesheet" rev="stylesheet" type="text/css" /> <script> function onload(x) {     top.document.ifr.location.href=x; } </script> <style type="text/css"> <!--  body {     background-color: #FFCC66; } --> </style> </head>  <?php  if($_SESSION['pagina']!=NULL) { ?> <body leftmargin="0" topmargin="0" onLoad="onload('<?php echo $_SESSION['pagina']; ?>')"> <?php } else { ?> <body leftmargin="0" topmargin="0"> <?php } ?> <table width="117" height="84" border="1" cellpadding="0" cellspacing="0" bordercolor="#ce0000">  <tr>     <td width="113" height="15" bordercolor="#ce0000" bgcolor="#ce0000"> <div align="center" class="Estilo3"><font color="#FFFFFF">Tecnología    Solar </font></div></td>  </tr>  <tr>     <td height="65" valign="top" bordercolor="#ce0000"><table width="108" height="61" border="0" align="center" cellpadding="0" cellspacing="0">        <tr>           <td height="26">             <div align="center"><span class="Estilo2">Bienvenido</span><font color="#9900FF"> <?php echo $nombre;?></font></div>          </td>        </tr>        <tr>           <td onClick="top.document.contenido.location.href='inicio2.php';document.location.href='eliminar_acceso.php'" style="cursor:pointer"><div align="center" class="Estilo1">[               quiero cerrar ]</div></td>        </tr>    </table> </td>  </tr></table><div align="center"></div></body></html> foro.php

--- Código: Text ---<script>function nuevo_mensaje(){    document.getElementById('iframe2').style.visibility="visible";}</script><img src="../img/Bnuevo_mensaje.gif" width="100" height="20" style="cursor:pointer" onclick="nuevo_mensaje()" /><div id="iframe2">  <iframe src="nuevo_mensaje.php" name="ifr" width="600px" height="450px" frameborder="0" id="ifr" onload="document.getElementById('iframe2').style.visibilty='hidden'" scrolling="no" ></iframe></div> nuevo_mensaje.php

--- Código: Text ---<?php ob_start(); $_SESSION['pagina']="acceso_permitido.php"; if($_SESSION['id_usuario']!=NULL) { ?> Esta parte corresponde al formulario para escribir el mensaje <?php } else { ?> Para          iniciar sesión deberás ingresar usuario y contraseña en la caja de          la izquierda<?php } ?>  El inicio de sesion lo realiza correstamente, pero inicie sesion o no me aparece el aviso de que necesito iniciar sesión para escribir el mensaje, ¿Qué estoy haciendo mal?

Saludos y mil gracias  :hola:

F_Tanori:
Hola, a primera vista no se ve que tengas


--- Código: Text ---session_start();  en el archivo nuevo_mensaje.php recuerda que necesitas llamar esta funcion cada vez  que ocupes utilizar las sesiones
($_SESSION)


Saludos

zaida20:
Hola F_Tanori
Muchas gracias , simpre ahi para ayudarme

Saludos :hola:

F_Tanori:
:D  ;)

Navegación

[0] Índice de Mensajes

Ir a la versión completa