Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/08/2010, 06:20
varuk
 
Fecha de Ingreso: abril-2004
Mensajes: 107
Antigüedad: 20 años
Puntos: 0
Pregunta El método Location no redirige en mi hosting

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"))
{

$busquedamysql_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 ^^