PHP y PEAR

josephz
23 de Mayo del 2006
Hola a todos, tengo dudas usando php con pear. Para eso realice lo que dice el manual de pear una forma de autenticar usuarios. El codigo es el siguiente:

<?
require_once("PEAR.php");
require_once("DB.php");
require_once("DB/mysql.php");
require_once("Auth/Auth.php");

$params = array(
"dsn" => "mysqli://root:[email protected]/prueba",
"table" => "usuario",
"username" => "username",
"password" => "password"
);

$a = new Auth("DB", $params );
$a->start();

if ($a->getAuth()) {
if($_GET[act] == "logout") {
// Log user out
$a->logout();
echo "You have been logged out!<br />n";
echo "<a href="$PHP_SELF?act=login">Login</a><br />n";
} else {
printf("Welcome user <b>%s</b>!<br />n", $a->getUsername() );
echo "<a href="$PHP_SELF?act=logout">Logout</a><br />n";
}
} else {
echo "<center>No estas autenticado.<br />n";
}
?>
pero el detalle es que despues de estar logueado y luego deslogueado se puede regresar al estado logueado retornando con el boton hacia atras del browser y eso es un problema grave en el codigo. Como se podria mejorar el codigo ya que no se usa las variables S_SESSION usando pear?
Gracias por las respuestas que me puedan dar.

peperoni
23 de Mayo del 2006
Yo tengo un ejemplo bastante parecido al tuyo pero en mi caso no puedo iniciar sesion por que siempre me dice Wrong Login Data. No se que hacer, sera que me puedes ayudar

<?php

/**
* Prueba de PEAR + Auth
*
* Marconi 19/05/2006
* @version $Id$
* @copyright 2006
*/

require_once 'libPEAR.php';
require_once 'libDB.php';
require_once 'libDBmysql.php';
require_once 'libAuth.php';

$parametros = array(
"dns" => "mysql://root:[email protected]/test",
"table" => "usuario",
"usernamecol" => "login",
"passwordcol" => "passwd"
);

$a = new Auth("DB", $parametros);

$a->start();

if ($a->getAuth()) {
if ($_GET[act]=="logout") {
$a->logout();
echo "Has salido de la sesion";
echo "<a href="$PHP_SELF?act=login">Login</a><br />n";
}
else {
printf ("Welcome User <b>%s</b>",$a->getUsername());
echo "<a href="$PHP_SELF?act=logout">Logout</a><br />n";
}
}
else {
echo "No esta autentificado<br>";
echo "Intente con pp/pp o karen/karen";
}

?>