Hola.
Tengo el código que vais a ver a continuación. Se trata de que si el usuario y contraseña coinciden en la base de datos, están en la misma fila, entonces la variable quede registrada y la página se redirija automáticamente.
En mi ordenador, mi localhost, me iba perfecto. Para colmo me doy cuenta de que estaba usando "register_session" y "register_is_session" y luego he visto que eso está obsoleto y ha cambiado por $_SESSIONO y la función "isset".
He probado a poner en Location una web normal (
http://www.forosdelweb.com) y tampoco iba. ¿Qué puede ser?
Código PHP:
<?php
include("conexion.php");
session_start();
if ($usuario && $contrasena)
{
$resultado = mysql_query("SELECT * FROM administrar WHERE usuario='$usuario' AND contrasena='$contrasena'");
if (mysql_num_rows($resultado)>0)
{
//Si encuentra coincidencias asigna $usuario a la variable "usuario_valido" y registra ésta última.
$_SESSION["usuario_valido"]=$usuario;
}
}
//Si "usuario_vaido ha quedado registrado, porque se ha encontrado el usuario y contraseña, entonces redirige a la página privada
if (isset($usuario_valido))
{
header("Location: admin.php");
exit;
// ese exit lo ponemos para asegurar que no se ejucatará más código después de él
}
echo ("<form method='post' action='$PHP_SELF'>
Usuario</br><input type='text' name='usuario'></br>
Clave</br><input type='text' name='contrasena'></br></br>
<input type='submit' name='Submit' value='Entrar'>
</form>");
?>
Aprovecho para preguntar también, si no es molestia. ¿Cómo en la siguiente página, en admin.php, podría recoger la variable de la sesión ("usuario_valido")? Estaba usando este código en admin.php, para que se viera sólo si "usuario_valido" quedaba registrado, pero me temo que no me va a servir en mi hosting web por lo del register_globals off.
Código PHP:
?php
include("conexion.php");
session_start();
if (session_is_registered("usuario_valido"))
{
$busqueda= mysql_query("SELECT copia, color, encuadernacion FROM precios WHERE ID=1");
$row = mysql_fetch_array($busqueda);
echo ("<form name='form1' method='post' action='admin.php'>
Precio copia</br><input type='text' value='$row[copia]' name='copia'></br>
Precio color</br><input type='text' value='$row[color]' name='color'></br>
Precio encuadernacion</br><input type='text' value='$row[encuadernacion]' name='encuadernacion'></br></br>
<input type='submit' name='Submit' value='Editar'>
</form>");
echo ("<a href=\"admin.php\">Volver</a>");
}
else
{
echo("No estas logueado");
}
?>
Muchas gracias ^^