estoy siguiendo un videotutorial el cual es muy didactico y aprendo bastante bien con eso pero es del 2004 - 2005 y hay algo que creo que ya pasó, esto es las sesiones, en las practicas usan session_register(), session_is_registered() y session_unregister(). No puedo logearme y busque en php manual y ahi dice que no se debe usar eso, que en el php 5 y php6 se usa $_SESSION[''] para session_register() y session_is_registered() y unset() para session_unregister(), hice el remplazo en el codigo y sigo igual, me pueden editar el codigo?
la base de datos se llama pruebaauth
authmain.php
logout.php
la base de datos se llama pruebaauth
Código:
create table auth (
name varchar(10) not null,
pass varchar(30) not null,
primary key (name)
);
insert into auth values
('user', 'pass');
insert into auth values
( 'testuser', password('oooooo') );
Código:
<?
session_start();
if ($userid && $password)
{
// Si el usuario ha intentado hacer log in
$db_conn = mysql_connect("localhost", "nombreusuario", "contraseña");
mysql_select_db("nombreBaseDatos", $db_conn);
$query = "select * from auth "
."where name='$userid' "
." and pass=password('$password')";
$result = mysql_query($query, $db_conn);
if (mysql_num_rows($result) >0 )
{
// si están en la base de datos registra la id de usuario
$valid_user = $userid;
session_register("valid_user");
}
}
?>
<html>
<body>
<h1>Página Inicio</h1>
<?
if (session_is_registered("valid_user"))
{
echo "Ahora estás logged in como: $valid_user <br>";
echo "<a href=\"logout.php\">Log out</a><br>";
}
else
{
if (isset($userid))
{
// si han intentado hacer login y ha fallado
echo "No has podido hacer login";
}
else
{
// si no han intentado hacer login y no han hecho logged out
echo "No has hecho logged in.<br>";
}
// provee el formulario para hacer log in
echo "<form method=post action=\"authmain.php\">";
echo "<table>";
echo "<tr><td>Userid:</td>";
echo "<td><input type=text name=userid></td></tr>";
echo "<tr><td>Contraseña:</td>";
echo "<td><input type=password name=password></td></tr>";
echo "<tr><td colspan=2 align=center>";
echo "<input type=submit value=\"Log in\"></td></tr>";
echo "</table></form>";
}
?>
<br>
<a href="members_only.php">Sección de Miembros</a>
</body>
</html>
Código:
<?
session_start();
$old_user = $valid_user; // almacenado para comprobar si ellos estuvieron logged in
$result = session_unregister("valid_user");
session_destroy();
?>
<html>
<body>
<h1>Log out</h1>
<?
if (!empty($old_user))
{
if ($result)
{
// si estuvieron logged in y no están logged out
echo "Logged out.<br>";
}
else
{
// Estaban logged in y no pueden logged out
echo "No se ha podido hacer logged out.<br>";
}
}
else
{
// si ellos no estaban logged in pero llegan a esta página de algún modo
echo "No estás logged in, y por tanto no puedes hacer logged out.<br>";
}
?>
<a href="authmain.php">Volver a la página principal</a>
</body>