Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Portada » Foros Linux » Desarrollo » Programación


Nuevo tema Responder al tema
 [ 11 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Nuevo
Forista Nuevo
Avatar de Usuario

Registrado: Dom Jun 18, 2006 7:00 am
Mensajes: 32

Nota Publicado: Mar May 01, 2007 1:31 am 
Arriba  
Reescribo la pregunta, como le hago para tener un esquema de crear y cerrar una Sesion, en mi pagina Web, con PHP, como el que tienen aca en Espacio Linux

 Perfil  

Desconectado
Forista Mayor
Forista Mayor
Avatar de Usuario

Registrado: Mié Mar 17, 2004 8:00 am
Mensajes: 986
Ubicación: Caracas - Venezuela

Nota Publicado: Mié May 02, 2007 9:33 pm 
Arriba  
Tu pregunta es muy genérica. Es como si preguntaras ¿Cómo armo una computadora?
No sabría por donde comenzar a decirte.

Ahora si dices que estás haciendo un proyecto con PHP y MYSQL, estas haciendo tal cosa... las respuestas serían diferente.


No estoy seguro pero creo que Espacio Linux usa PHP Nuke ó NUKE ET.

Puedes buscar estos manejadores de contenidos en Google para que estudies su código.


Saludos.

_________________
Usuario Linux #397558
http://www.joserafael.com.ve

 Perfil WWW ICQ YIM  

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Vie Sep 23, 2005 7:00 am
Mensajes: 358
Ubicación: Guadalajara, México

Nota Publicado: Jue May 03, 2007 5:59 pm 
Arriba  
PeterSteiner escribió:
Reescribo la pregunta, como le hago para tener un esquema de crear y cerrar una Sesion, en mi pagina Web, con PHP, como el que tienen aca en Espacio Linux

Para una pregunta tan general una respuesta de igual manera http://www.php.net/manual/es/ref.session.php espero te sirva

_________________
TolerantX
Mi Blog | Linux User #385226

 Perfil WWW YIM  

Desconectado
Moderador
Moderador
Avatar de Usuario

Registrado: Jue Abr 19, 2007 7:00 am
Mensajes: 1354
Ubicación: Cojutepeque, El Salvador C. A.

Nota Publicado: Vie May 04, 2007 12:43 am 
Arriba  
Bueno, no soy un alquimista en PHP pero te puede servir esto (Ojo, no es validación HTTP).

//primero que nada, pon una validacion previa hacia tu base de datos
//supongo que utilizaras mysql

<?
if($_POST['entrar']){
$validando=mysql_query("select * from usuarios where id_usuario = '" .$_POST["id_usuario"]. "' and password = ' " . $_POST["password_encriptado"] ."'");

if(mysql_num_rows($validando)==1){
$_SESSION["id_usuario_validado"]=$_POST["id_usuario"];
}else{
echo "Nombre de usuario y password incorrectos";
}
}

if(!$_SESSION["id_usuario_validado"]){//vemos si está declarada la variable
echo "PON TU GRAN FORMULARIO DE VALIDACION";
}else{//si no esta declarada es que no han logueado
echo "PON LO QUE QUIERAS PARA EL USUARIO VALIDADO";
}
?>

ojo, que esto puede ir en index.php, pero si te intentan accesar desde, bueno, digamos mipagphp4.php, pon lo siguiente:

<?php
if(!$_SESSION["id_usuario_validado"]){//vemos si está declarada la variable, pero no en el index.
echo "NECESITA LOGGEAR AL SITIO";
}else{
echo "permiteles ver el contenido de tu pag";
}
?>

Espero te sirva, y no pruebes mucho con éste código, aunque para mi, es una pauta de validación por Sesiones en PHP.

Gracias por quitarme el óxido... #-o

Tengo días de no programar en PHP. (Ahora cuento pollos en una avícola...)

_________________
Grüße...
Maiku

Full linux alchemist!!!

 Perfil WWW  

Desconectado
Moderador
Moderador
Avatar de Usuario

Registrado: Jue Abr 19, 2007 7:00 am
Mensajes: 1354
Ubicación: Cojutepeque, El Salvador C. A.

Nota Publicado: Vie May 04, 2007 12:54 am 
Arriba  
Upssa, olvide tambien, que en tu función genérica de acceso o coneción a tu base de datos debes poner session_start();

así:

<?php
session_start();
function conexion(){
if (!($link=mysql_connect("localhost","",""))){
echo "No se pudo conectar al servidor MySQL";
}
if (!mysql_selectdb("basededatos",$link)){
echo "Error crítico \nNo existe conexión a la base de datos de biblioteca";
exit();
}
return $link;
}

//líneas de código referentes a la conexión con los servidores de bases de datos
?>

y aún más importante, a la parte de validación (en el mensaje de arriba), le falta el $link (Lo que te retorna la función de conexión...



$validando=mysql_query("select * from usuarios where id_usuario = '" .$_POST["id_usuario"]. "' and password = ' " . $_POST["password_encriptado"] ."'",$link);

y que en index.php, debes poner la llamada a tu función (que supongo la pondrías en algún archivo a parte porque en todas las páginas las vas a llamar siempre)

así:

include("archivo_conexion.php");

$link=conexion();

Espero te sirva, y bueno, ya se hizo enorme la info, pero debes leer un buen manual para guiarte.

_________________
Grüße...
Maiku

Full linux alchemist!!!

 Perfil WWW  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Lun Jul 25, 2005 7:00 am
Mensajes: 1609
Ubicación: El Fuerte/Sinaloa/México

Nota Publicado: Sab May 05, 2007 3:03 am 
Arriba  
bueno como yo he estado trabajando algo con eso de las sesiones aqui te dejo un pequeño ejemplo de como seria una sesion.

primero que nada vas a crear un nuevo archivo con el nombre de session.php y este sera el contenido:
Código:
<?php

if(isset($HTTP_POST_VARS["password"]) && isset($HTTP_POST_VARS["usuario"])){
    $password=$HTTP_POST_VARS["password"];
    $usuario=$HTTP_POST_VARS["usuario"];
     if ($usuario="administrator" && $password="otrebor"){
       session_name("sesiondirh");
      session_start();
      $_SESSION['usuario']=$usuario;
      $_SESSION['password']=$password;
      Header ("Location: infophp.php");
                     }
   else{
        echo "<center><b>Datos de acceso incorrectos</b></center>";
        } 
}
?>


<html>
[body]
<br><br>
<center><b>Favor de introducir usuario y password para accesar</b></center>
<table align="center" valign="middle"><tr><td  rowspan=2>
<form action="<? $PHP_SELF ?>" method="POST">
<fieldset>
<table border="0">
<tr><td>Usuario:</td><td width=80><input type=text name="usuario" size=20></td></tr>
<tr><td>Password:</td><td width=80><input type=password name="password" size=20></td></tr>
<tr><td></td><td width=80 align=center><input type="submit" height=20 width=80 value="Accesar"></td></tr>
</table>
</fieldset>
</form>
</td></tr></table>
[/body]
</html>



segundo paso necesitas un segundo archivo que llevara el nombre de infophp.php y este sera su contenido:
Código:
<?
session_name("sesiondirh");
session_start();
if(isset($_SESSION['usuario']) && isset($_SESSION['password'])){
   phpinfo();
   printf("<center><a href='cerrarsesion.php'>Cerrar Sesion</a></center>");
   }
   else{
   echo "<center><b>Error de acceso: Necesitas iniciar sesion</b></center>";
   }
?>


tercer paso tercer archivo con el nombre de cerrarsesion.php y este es su contenido:
Código:
<?
session_name("sesiondirh");
session_start();
session_unset();
session_destroy();
Header ("Location: session.php");
?>


ahora aqui va la explicacion de como trabaja esto:
ya que tengas los 3 archivos intentas accesar desde tu navegador web al archivo infophp.php y te debe de salir un error de acceso ya que necesitas tener una sesion iniciada para poder accesar....ya que confirmes que no puedes entrar directamente a infophp.php accesas al archivo session.php el cual te mostrara un pequeño formulario que te pedira usuario y password, el usuario es administrator y el password es otrebor una ves que acceses bien los datos te debe de enviar ala pagina de infophp.php el cual te mostrara la configuracion de tu php

ahora ya que estes en la pagina infophp.php puedes accesar a cualquier otra pagina por ejemplo google o espaciolinux, ya que cargues alguna otra pagina luego accesa de nuevo a infophp.php y debe de accesar sin problemas ¿porque? pues porque la sesion esta abierta y no se ha cerrado.

ahora al final de la pagina de infophp.php tienes un link que dice cerrar sesion, si le das en el link llamara a la tercera pagina cerrarsesion.php el cual se encargara de destruir la sesion que teniamos y si tratas de accesar directamente de nuevo ala pagina infophp.php ya no debe de dejarte entrar a menos que primero pases por la pagina de session.php

PD1: si te fijas en unas partes del codigo session.php use [ ] en lugar de < > , eso fue porque me marca error al momento de quererlo postear .... lo que puse entre [ ] es en la parte del body al momento de abrirlo y cerrarlo solo tienes que hacer el cambio.
PD2:espero que se le entienda ya que es mucho texto...alomejor no necesitaba explicacion pero ya nimodos ya la puse :P
PD3:existen formas de crear sesiones mas seguras.

saludos!!

_________________
Debian Etch->Lenny
Ubuntu Edgy->Feisty->Gutsy
Melodic Death Metal

Mess with the best...die like the rest!


Última edición por Otrebor el Mié Ene 09, 2008 1:54 am, editado 3 veces en total
 Perfil  

Desconectado
Forista Nuevo
Forista Nuevo
Avatar de Usuario

Registrado: Dom Jun 18, 2006 7:00 am
Mensajes: 32

Nota Publicado: Sab May 12, 2007 12:18 am 
Arriba  
Hola a todos, muchas gracias por las respuestas, me han servido de mucho.
Al final, lo he echo con sessiones. Estaba probando tambien dos variables
$PHP_AUTH_USER
$PHP_AUTH_PW.
Esa fue mi primer opcion, pero no funciono.

Las sesiones si.

De nuevo muchas gracias.

 Perfil  

Desconectado
Forista Nuevo
Forista Nuevo
Avatar de Usuario

Registrado: Lun Jun 04, 2007 7:00 am
Mensajes: 38
Ubicación: En alguna parte de Colombia

Nota Publicado: Mar Jun 05, 2007 10:45 pm 
Arriba  
Hola PeterSteiner.

Lo mas probable por que no te haya funcionado dicha forma, es que esas instrucciones se utilizan para cuando php està instalado como mòdulo de Apache y no como cgi.

Còmo tienes instalado php, como cgi??

Saludos!

_________________
Hicimos un trato con Dios: Él no desarrolla sistemas, nosotros no hacemos milagros...
He fallado una... y otra... y otra vez en mi vida... Es por eso que he triunfado. (Michael Jordan)

 Perfil WWW  

Desconectado
Forista Nuevo
Forista Nuevo
Avatar de Usuario

Registrado: Jue Jul 10, 2008 7:00 am
Mensajes: 1

Nota Publicado: Vie Jul 11, 2008 5:25 am 
Arriba  
Para crear una sesion es
session_start();
$_SESSION['login'] ="n texto";

--------------------------------------
Cerrer sesion
session_destroy();

----------------------------------------------
Diseño Web Peru
Diseño Web
desarrollo de software

 Perfil  

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Lun Mar 04, 2013 12:28 am
Mensajes: 1

Nota Publicado: Lun Mar 04, 2013 12:34 am 
Arriba  
En el siguiente link se explica bien ese tema, se los recomiendo:

http://happystudy-alextkd.blogspot.com/

 Perfil  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Lun Mar 31, 2008 8:00 am
Mensajes: 1979

Nota Publicado: Lun Mar 04, 2013 1:33 am 
Arriba  
Cuesta leer la fecha de creación de un post??????

 Perfil  
Mostrar mensajes previos:  Ordenar por  
 [ 11 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


 Temas relacionados   Autor   Respuestas   Vistas   Último mensaje 
cerrar sesión ssh(solucionado)

en Redes y Servidores

candelario

6

1476

Vie Nov 20, 2009 10:45 pm

candelario Ver último mensaje

Cerrar sesión de usuario por consola

en Programación

lucaszxc22

8

28649

Vie Feb 25, 2011 9:37 pm

piscucho Ver último mensaje

Como cerrar y/o reiniciar la sesion desde el terminal

en Sistema

akodo

7

21184

Vie Jul 31, 2009 2:27 pm

akodo Ver último mensaje

No puedo cerrar sesion, apagar o reiniciar el sistema en kde 4

en KDE

hipersayan_x

10

1510

Mar Abr 13, 2010 5:01 am

hipersayan_x Ver último mensaje

problema para cerrar sesion y cambiar a gnome (solucionado)

en Sistema

flaco_870

5

320

Jue Sep 30, 2010 3:32 am

mcun Ver último mensaje



¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC + 1 hora [ DST ]
Traducción al español por Huan Manwë
phpBB SEO