Foros del Web » Programando para Internet » PHP »

Luego del login no me direcciona a la página correcta

Estas en el tema de Luego del login no me direcciona a la página correcta en el foro de PHP en Foros del Web. Estimados, luego de hacer el login correcto, no me lleva a la página prensa.php, les dejo el código: <?php error_reporting(0); // Se hace la conecion ...
  #1 (permalink)  
Antiguo 11/02/2013, 19:28
 
Fecha de Ingreso: enero-2013
Mensajes: 9
Antigüedad: 11 años, 3 meses
Puntos: 0
Luego del login no me direcciona a la página correcta

Estimados, luego de hacer el login correcto, no me lleva a la página prensa.php, les dejo el código:

<?php
error_reporting(0);
// Se hace la conecion a la base de datos
$host = "localhost"; // nombre del Host
$user = "v0040209"; // Usuario
$psw = "lolaZUte44"; // Contraseña
$db = "v0040209_lamarque"; // Nombre de la base de datos
function Conectarse()
{
global $host, $user, $psw, $db;
if (!($link=mysql_connect("$host","$user","$psw")))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("$db",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}

$link = Conectarse();
// Recuperacion y creacion de variables
$a = $_POST['a'];
$nombre = htmlspecialchars ($_POST['nombre']) ;
//$password = md5 (htmlspecialchars($_POST['password']));
$password = htmlspecialchars($_POST['password']);

function form(){
echo "
<link href=\"estilo.css\" rel=\"stylesheet\" type=\"text/css\">
<body scroll=\"auto\">
<SCRIPT LANGUAGE=\"JavaScript\">
function llenar() {
if (form.nombre.value == \"\") {
alert ('Debes llenar el campo de Nombre');
return false;
}
if (form.password.value == \"\") {
alert ('Debes de ingresar tu contraseña');
return false;
}
return true;
}
</SCRIPT>
<form action=\"$PHP_SELF\" method=\"POST\" name=\"form\" onSubmit=\"return llenar()\"><input type=\"hidden\" name=\"a\" value=\"1\">
<table width=\"70%\" border=\"1\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"windowbg2\">
<tr>
<td><div align=\"center\">
<table width=\"65%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">
<tr>
<td colspan=\"2\">Bienvenido al sistema por favor llena
los siguientes campos... </td>
</tr>
<tr>
<td>Nombre</td>
<td><input name=\"nombre\" type=\"text\" class=\"colour1\"></td>
</tr>
<tr>
<td>Contrase&ntilde;a</td>
<td><input name=\"password\" type=\"password\" class=\"colour1\"></td>
</tr>
<tr>
<td><input name=\"enviar\" type=\"submit\" value=\"Enviar datos\" class=\"button\"></td>
<td><input name=\"borrar\" type=\"reset\" value=\"Borrar formulario\" class=\"button\"></td>
</tr>
</table>
</div></td>
</tr>
</table>
<br>
</form>
<SCRIPT language=\"JavaScript\">
<!--
document.forms[0].nombre.focus();
//-->
</SCRIPT>
<table width=\"70%\" border=\"1\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"windowbg2\">
<tr>
<td><div align=\"justify\">
<p>Ten en cuenta que el sistema difiere entre mayusculas y minusculas
en la contrase&ntilde;a, asi que por favor escribe bien tu contrase&ntilde;a,
si aun no estas registrado, olvidaste tu contrase&ntilde;a, o tienes
duda de como utilizar el sistema contacta al administrador de este sitio,
cuando estan mal escritos los datos del formulario, seras redirigido
a esta pagina y no puedes accesar al sistema...<br>
Atte: <a href=\"mailto:[email protected]\">Webmaster </a></p>
</div></td>
</tr>
</table> "; }


switch ($a) {
case 1:

//Sentencia SQL para buscar un usuario con esos datos
$c_usuario = "SELECT * FROM usuarios WHERE usuario='$nombre' and password='$password'";
//Ejecuto la sentencia
$r_usuario = mysql_query("$c_usuario",$link) or die(mysql_error());
$r_ok = mysql_fetch_array($r_usuario);
////////////////////////////////////////////////////////
if($r_ok['usuario'] != $nombre && $r_ok['password'] != $password){
$acceso = "no";
echo "<center>Nombre de usuario o contraseña incorrecta<br>
por favor <b>intena de nuevo</b></a></center>";
form();
}
else{
$user_dat = mysql_query("SELECT * FROM usuarios WHERE ID='$user_ID'") or die(mysql_error());
$datos = mysql_fetch_array($user_dat);
$user_ID = $r_ok['ID'];
$user = $r_ok['usuario'];
$acceso = "ok";
setcookie("nombre",$user_ID,time()+3600);
setcookie("password",$password,time()+3600);
header("LOCATION: prensa.php"); // Aqui en lugar de "acceso.php" pones el archivo que quieras que salga despues de que se ingesen bien los datos
}

break;
default:
$acceso = "no";
form ();
break;
}
mysql_close($link); //cierra la conexion
?>
  #2 (permalink)  
Antiguo 11/02/2013, 19:42
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: Luego del login no me direcciona a la página correcta

No he mirado todo el código, pero la llamada a header() deberías hacerla antes de generar cualquier salida HTML.
En general, en cualquier página, primero procesa las acciones (formularios), y después, genera el html.Te evitas problemas.
  #3 (permalink)  
Antiguo 12/02/2013, 04:35
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Respuesta: Luego del login no me direcciona a la página correcta

OJO. Después de cualquier header location debes poner un EXIT; porque aunque no lo parezca el código se sigue ejecutando después de estos.
  #4 (permalink)  
Antiguo 12/02/2013, 05:58
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: Luego del login no me direcciona a la página correcta

Hola, por favor decir si te da algun error?
__________________
El talento se educa en la KARMA y el carácter en la tempestad.
Gabriel De Los Santos
  #5 (permalink)  
Antiguo 12/02/2013, 08:38
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 1 mes
Puntos: 35
Respuesta: Luego del login no me direcciona a la página correcta

Buenos días a todos.
Opino ..... que si en vez de usar header, hace uso del JS location ?? .... no ??
__________________
I am ME, Soo Who You ?? ... You Not me.
Web
@fjrueda_fmurdah
  #6 (permalink)  
Antiguo 12/02/2013, 11:43
 
Fecha de Ingreso: enero-2013
Mensajes: 9
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Luego del login no me direcciona a la página correcta

Les dejo otro misterio con respecto al tema, cuando lo ejecuto en forma local con el wampserver funciona 10 puntos, pero cuando lo ejecuto desde el hosting no me manda a la página
  #7 (permalink)  
Antiguo 12/02/2013, 11:48
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: Luego del login no me direcciona a la página correcta

te hice una pregunta para poder ayudarte.... si da algun error?
__________________
El talento se educa en la KARMA y el carácter en la tempestad.
Gabriel De Los Santos
  #8 (permalink)  
Antiguo 12/02/2013, 12:35
 
Fecha de Ingreso: enero-2013
Mensajes: 9
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Luego del login no me direcciona a la página correcta

Cita:
Iniciado por gldelossantos Ver Mensaje
te hice una pregunta para poder ayudarte.... si da algun error?
No, no me da ningún error. Decía que lo pruebo en forma local con el wampserver y funciona. Pero cuando lo abro con el hosting donde está a lojada la página no se dirige a la página especificada. Tendrá que ver con las tablas en la base de datos??
  #9 (permalink)  
Antiguo 12/02/2013, 16:12
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 1 mes
Puntos: 35
Respuesta: Luego del login no me direcciona a la página correcta

no creo que tenga nada que ver con la BD, a no ser que las rutas de direccionamiento las este sacando una BD ... pero al parecer no.

Porque hace esto ?? >> header("LOCATION: prensa.php"); << tengo entendido que segun la versión usada el header requiere una dirección completa.

por eso le digo que mejor haga uso del "JS location".
__________________
I am ME, Soo Who You ?? ... You Not me.
Web
@fjrueda_fmurdah
  #10 (permalink)  
Antiguo 15/02/2013, 22:57
Avatar de sonickseven  
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 11 años, 4 meses
Puntos: 2
Respuesta: Luego del login no me direcciona a la página correcta

hay señor la verdad despues de ver TOOODO ese codigo (no muy bien) bueno primero te complicas demaciado la vida solo con unas cuantas sentencias ya lo tienes y lo del direccionamiento es mejor con header o asi yo hago siempre!!

solo que debes tener bn la direccion por ejemplo como hago yo:

Código PHP:
Ver original
  1. if($_POST['txt_usuario']==$row['usuario'])
  2. {
  3.   if($_POST['txt_password']==$row[password])
  4.      {
  5.      header ('Location: plantilla/index.php');
  6.      //listos sin tanta cosa
  7.      }else{echo'error en la contraseña';}
  8. }else{echo'usuario no existe'}

y ya breve amigo trata de que tu codigo sea lo mas eficiente y seguro posible para que no mates al servidor!!
  #11 (permalink)  
Antiguo 16/02/2013, 08:09
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Luego del login no me direcciona a la página correcta

Perdon, fui a secar mis ojos ya que me sangraban al ver tanto código tirado sin resaltador.

Si no va a PRENSA.php.. a donde va?
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Etiquetas: correcta, formulario, html, login, mysql, página, select, sql, usuarios, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:22.