Autor Tema: [AYUDA] Sesiones  (Leído 1159 veces)

Desconectado Balita

  • PHPer@ Fijo
  • ***
  • Mensajes: 173
  • Karma: 2
  • Sexo: Masculino
  • Dale tiempo al tiempo...
    • Ver Perfil
[AYUDA] Sesiones
« en: 05 de Abril de 2008, 13:41:08 pm »
Hola:
Bueno pues tengo otra duda, estoy con las sesiones y puse todo como en el tutorial de TLX y el de Alienmaster y si cierro el explorador y voy a el panel donde tengo las cosas, sin loguearme ni nada me entra igual con el código de las sesiones puesto, os dejo aquí los archivos donde puede estar el fallo:
Logueo:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>Panel Admin</title>
<
style type="text/css">
<!--
body {
	
background-imageurl(../Imagenes/fondo2.gif);
}
body,td,th {
	
color#FFFFFF;
}
-->
</
style></head>

<
body>
<
div align="justify">
  <
form action="comprobardatos.php" method="POST">
  <
p align="center">&nbsp;</p>
  <
p align="center"Nombre :
    <
input type="text" name="name">
  </
p>
  <
p align="center">Contrase&ntilde;a:
    <
input type="password" name="pass">
    </
p>
	
    <
div align="center">
	
      <
input type="submit" name="Submit" value="Conectar"
	
      <
input type="reset" name="Submit2" value="Restablecer">
          </
p>
        </
div>
  </
form>
  <
p>Panel Admin Creado por Balita </p>
</
div>
</
body>
</
html>

Comprobar datos:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>Documento sin t&iacute;tulo</title>
<
style type="text/css">
<!--
body {
	
background-imageurl(../Imagenes/fondo2.gif);
}
body,td,th {
	
color#FFFFFF;
}
-->
</
style></head>

<
body>
</
body>
</
html>
<?
php
$name
=$_POST[&#39;name&#39;];
$pass=$_POST[&#39;pass&#39;];
//ahí recojo los datos del formulario y ahora los compruebo
if($name==Balita && $pass==pinwi18){
include(&
#39;panel.php&#39;);
}else{
echo 
"la contraseña es erronea. <a href=javascript:history.back()>Volver</a>.";
}
?>

Y aquí el panel, donde se me ven los datos si pongo la misma url al cerrar el explorador. Os he puesto todos por si el error de algunos de los archivos anteriores.
<?
// Definimos que vamos a usar sesiones en este archivo
session_start();
// Creamos la sesion usuario con  una valor cualquiera
$_SESSION[name] = &#39;Balita&#39;;
$_SESSION[pass] = &#39;mipass&#39;;
//Creamos la sesion fecha con el valor de la fecha actual
$_SESSION[fecha] = time();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Panel de Administraci&oacute;n</title>
<style type="text/css">
<!--
body,td,th {
	
color: #FFFFFF;
}
body {
	
background-image: url(../Imagenes/fondo2.gif);
}
-->
</style></head>

<body>
<p>Bienbenido:</p>
<p>- Crear Tema<br />
- Modificar Tema<br />
  - Borrar Tema </p>
</body>
</html>

Un Saludo y gracias de ante mano.
<?php  Balita[PHPeros User];  ?>

Comunidad PHPeros

[AYUDA] Sesiones
« en: 05 de Abril de 2008, 13:41:08 pm »

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re: [AYUDA] Sesiones
« Respuesta #1 en: 05 de Abril de 2008, 15:02:48 pm »
En primer lugar:
if($name==Balita && $pass==pinwi18){

Debes usar "
if($name == "Balita" && $pass == "pinwi18") {

Luego, procura usar ' en las variables
$_SESSION[name] = 'Balita';   =>    $_SESSION['name'] = 'Balita';

Y ahora vamos a por el error en si...
En el panel, no pones ningun condicinal del tipo:
< Si esta creada la session ...>
   < Dejar ver el panel >
< Si no esta creada la session ...>
   < No dejar ver el panel >

Las sessions son como las cookies, primero, cuando se loguea alguien, creas esa sesion, y luego en la pagina que quieres restringir, colocas un condicional if para ver si esta creada la sesion.

Asi que en comprobar datos, si los datos son buenos, debes crear las sesiones, y despues REDIRIGIR (Que es mejor que incluir, aunque tambien se podria hacer incluyendo) al archivo del panel con Header("Location: ...php");
No olvides incluir session_start() al inicio del archivo de comprobar datos

if($name==Balita && $pass==pinwi18){
// Creamos la sesion usuario con  una valor cualquiera
$_SESSION[name] = &#39;Balita&#39;;
$_SESSION[pass] = &#39;mipass&#39;;
//Creamos la sesion fecha con el valor de la fecha actual
$_SESSION[fecha] = time();
header("Location: panel.php");
}else{
echo 
"la contraseña es erronea. <a href=javascript:history.back()>Volver</a>.";
}


Una vez hecho esto, solo nos queda colocar el condicional en el archivo a restringir, en este caso el panel.php

if($_SESSION[&#39;name&#39;]) { // Si existe la session name
   // AQUI
   // PONEMOS
   // TODO
   // EL CODIGO
   // HTML
} else {
   
// Le decimos al usuario que no esta logueado, y no puede ver la pagina
   
echo "Debes loguearte para acceder a este archivo";
}


Saludos!!
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado Balita

  • PHPer@ Fijo
  • ***
  • Mensajes: 173
  • Karma: 2
  • Sexo: Masculino
  • Dale tiempo al tiempo...
    • Ver Perfil
Re: [AYUDA] Sesiones
« Respuesta #2 en: 06 de Abril de 2008, 12:13:08 pm »
Gracias TLX karma +
<?php  Balita[PHPeros User];  ?>

Desconectado Zergio!

  • PHPer@
  • **
  • Mensajes: 74
  • Karma: 0
    • Ver Perfil
Re: [AYUDA] Sesiones
« Respuesta #3 en: 06 de Abril de 2008, 18:34:49 pm »
Para comprobar si está logeado: if(isset($_SESSION['VALOR_DE_LA_SESSION'] && $_SESSION['PASS'])) {

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re: [AYUDA] Sesiones
« Respuesta #4 en: 06 de Abril de 2008, 20:07:05 pm »
Ya con lo que puse si no me equivoco tambien lo comprueba...

Saludos
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado Balita

  • PHPer@ Fijo
  • ***
  • Mensajes: 173
  • Karma: 2
  • Sexo: Masculino
  • Dale tiempo al tiempo...
    • Ver Perfil
Re: [AYUDA] Sesiones
« Respuesta #5 en: 06 de Abril de 2008, 20:49:12 pm »
que partes del html tegno que meter porque me da error en las lineas del html.
ya esta resuelto
« Última modificación: 06 de Abril de 2008, 21:09:48 pm por Balita »
<?php  Balita[PHPeros User];  ?>

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re: [AYUDA] Sesiones
« Respuesta #6 en: 06 de Abril de 2008, 20:51:42 pm »
Di el error, y el codigo que usas.

Saludos
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es

Desconectado Balita

  • PHPer@ Fijo
  • ***
  • Mensajes: 173
  • Karma: 2
  • Sexo: Masculino
  • Dale tiempo al tiempo...
    • Ver Perfil
Re: [AYUDA] Sesiones
« Respuesta #7 en: 06 de Abril de 2008, 21:10:07 pm »
Gracias carlos ya lo solucione ;)
<?php  Balita[PHPeros User];  ?>

Desconectado umberto10531

  • PHPerit@
  • *
  • Mensajes: 23
  • Karma: 0
    • Ver Perfil
Re: [AYUDA] Sesiones
« Respuesta #8 en: 26 de Abril de 2008, 17:33:13 pm »
buenas me gustaria de q manera puedo hacer para q en una pagina en la q entro como usuario normal y corriente pueda en una pagina rellenar un formulario y poner un comentario de como va la pagina y luego enviarselo al correo del administrador