Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Problema con header("Location:".$_SERVER['HTTP_REFERER']);

Hola como estan ? les cuento este es el script que tengo :
<?php
 $loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
  $_SESSION['PrevUrl'] = $_GET['accesscheck'];
}
if (isset($_POST['hs_user'])) {
  $loginUsername=$_POST['hs_user'];
  $password=md5 ($_POST['hs_pass']);
  $MM_fldUserAuthorization = "";
  $MM_redirectLoginSuccess = "../index.php";
  $MM_redirectLoginFailed = "../error.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_config, $config);
  
  $LoginRS__query=sprintf("SELECT hs_user, hs_pass, id, hs_rango FROM hs_user WHERE hs_user=%s OR hs_mail=%s AND hs_pass=%s AND hs_rango>0",
    GetSQLValueString($loginUsername, "text"),
    GetSQLValueString($loginUsername, "text"),
	GetSQLValueString($password, "text")); 
   
  $LoginRS = mysql_query($LoginRS__query, $config) or die(mysql_error());
  $row_ObtenerdeUser = mysql_fetch_assoc($LoginRS);
     
	   $updateSQL = sprintf("UPDATE hs_user SET hs_ultima=now() WHERE id=%s", 
	   GetSQLValueString ($row_ObtenerdeUser["id"], "int"));	
	
	 mysql_select_db($database_config, $config);
     $Result1 = mysql_query($updateSQL, $config) or die(mysql_error());

  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
     $loginStrGroup = "";
    
	if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;	      
    $_SESSION['MM_id'] = $row_ObtenerdeUser["id"];	      

    if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];	
    }
	if (isset($_SESSION['recordarme'])&& $_SESSION['recordarme']=="on"){
		recordar_sesion($password,$_SESSION['MM_Username'],$_SESSION['MM_id'] ); 
		}
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
?>
al cual le puse esto :
    header("Location:".$_SERVER['HTTP_REFERER']); 
en esta zona :
		}
    header("Location: " . $MM_redirectLoginSuccess );   <<<<<<< AQUÍ
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
Pero esto no me da resultado ninguno jejej
0
Puntos
2899
Visitas
7
Resp
Por fernandoury hace 102 meses
Principiante Sitio web
Respuesta #1
Bueno a simple vista no le veo el problema.

Prueba colocando en vez del header, un echo:
echo "Verificando URL :" . $_SERVER["HTTP_REFERER"];
Si no te muestra ese texto es porque no se está cumpliendo la condición
if ($loginFoundUser) { }
Si te muestra el texto pero sin ninguna URL, es decir solo hasta los dos puntos (:) Es porque no hay una página anterior a esa. O sea, se supone que debes venir previamente de una página, por eso REFERER.

Y si te muestra el texto bien, con la URL. Es porque todo debería estar bien jajajaj. Supongo que al colocar el nuevo header, estás quitando el anterior $MM_redirectLoginSuccess.

0
Puntos
Por Jose hace 102 meses
Experto Sitio web
Respuesta #2
lo puse y me muestra esto : Verificando URL :http://localhost/login.php
0
Puntos
Por fernandoury hace 102 meses
Principiante Sitio web
Respuesta #3
hola, cual es el error? no te redirecciona? te redirecciona mal ? si comentas exactamente que ocurre podemos sacarlo y otra cosa estas intentando hacer un login con ajax?
0
Puntos
Por alber hace 102 meses
Administrador
Respuesta #4
no me redirecciona queda en el mismo login y es un común, lo estoy pasando a ajax ahora jeje
0
Puntos
Por fernandoury hace 102 meses
Principiante Sitio web
Respuesta #5
Ya lo pase a ayax
   function login (user,pass){
	
	    if($("#chekar").is(':checked')) {  
		var recordar='on';
		} else {
		var recordar='off';	
		}
		
	
	     if (user=='' || pass==''){
			$('#error2').slideDown(500);
			$('#error2').html('Completa los 2 campos!');
			 }
			 else {			 
		$.ajax({
		type: 'POST',
		url:'inc/login.php',
		data: 'user=' + user + '&pass=' + pass + '&recordar=' + recordar,
		success: function(htmlrespuesta) {
			if (htmlrespuesta=='yes'){
				location.reload();
			}
			else if (htmlrespuesta=='error'){
		    $('#error2').slideDown(500);
			$('#error2').html('Datos incorrectos!');
			
			}
	   }
	});
	}
}
Ahora me hace location.reload(); que no es lo que quiero jejej
0
Puntos
Por fernandoury hace 102 meses
Principiante Sitio web
Respuesta #6
Lo logre!!! caso cerrado jejej
0
Puntos
Por fernandoury hace 102 meses
Principiante Sitio web
Respuesta #7
Excelente fernando jajaja, ¿podrías publicar como lo solucionaste? Para futuras búsquedas de este problema.
0
Puntos
Por Jose hace 102 meses
Experto Sitio web
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate