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

Sistema de Logueo de Usuarios.

Buenas noches...
He creado un sistema de logueo de usuario que me funciona perfectamente en mi localhost... Lo he subido a 1and1 y cuando pulso sobre el boton entrar despues de introducir un usuario y contraseña en vez de saltar a la pagina privada se queda en la que esta pero logueado... Es decir se loguea bien pero no salta ala pargina privada que le he asignado.
Podrian decirme a que se debe?
Muchas gracias
0
Puntos
2067
Visitas
4
Resp
Por Rogelio hace 116 meses
Principiante
Respuesta #1
esto pasa por que no funciona el header de php que es el que se encarga de hacer la redirección, es posible que tengas algun espacio en blanco en el script php que se encarga de hacer el login

si quieres pon el código de tu login.php y le hechamos un vistazo
0
Puntos
Por alber hace 116 meses
Administrador
Respuesta #2
<?php require_once('../Connections/Conexion.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
?>
<?php
mysql_select_db($database_Conexion, $Conexion);
$query_Recordset1 = "SELECT * FROM usuarios";
$Recordset1 = mysql_query($query_Recordset1, $Conexion) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
$_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['usuario'])) {
$loginUsername=$_POST['usuario'];
$password=$_POST['password'];
$MM_fldUserAuthorization = "";
$MM_redirectLoginSuccess = "acceso-ok.php";
$MM_redirectLoginFailed = "acceso-error.php";
$MM_redirecttoReferrer = false;
mysql_select_db($database_Conexion, $Conexion);

$LoginRS__query=sprintf("SELECT nombreusuario, passusuario FROM usuarios WHERE nombreusuario=%s AND passusuario=%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));

$LoginRS = mysql_query($LoginRS__query, $Conexion) 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;

if (isset($_SESSION['PrevUrl']) && false) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];
}
header("Location: " . $MM_redirectLoginSuccess );
}
else {
header("Location: ". $MM_redirectLoginFailed );
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>..:: Intranet Tour 10 Canarias ::..</title>
<link href="../estilos.css" rel="stylesheet" type="text/css" />
<script src="../SpryAssets/SpryValidationTextField.js" type="text/javascript"></script>
<link href="../SpryAssets/SpryValidationTextField.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="contenido-sin-logueo">
<p class="botonaltas">&nbsp;</p>
<form id="form1" name="form1" method="POST" action="<?php echo $loginFormAction; ?>">
<table width="330" border="0" align="center" cellpadding="5" cellspacing="0">
<tr>
<td width="66" align="right" valign="middle">Usuario:</td>
<td width="234" align="left"><span id="user">
<input name="usuario" type="text" id="usuario" />
<span class="textfieldRequiredMsg">*</span></span></td>
</tr>
<tr>
<td align="right" valign="middle">Contrase&ntilde;a:</td>
<td align="left"><label for="password"></label>
<span id="pass">
<input name="usuario" type="password" id="usuario" />
<span class="textfieldRequiredMsg">*</span></span></td>
</tr>
<tr>
<td>&nbsp;</td>
<td align="right"><input name="submit" type="submit" id="button" value="Entrar" /></td>
</tr>
</table>

<label for="usuario"></label>
</form>
<br />
</div>
</div>
<br />

<script type="text/javascript">
var sprytextfield1 = new Spry.Widget.ValidationTextField("user", "none", {validateOn:["blur"]});
var sprytextfield2 = new Spry.Widget.ValidationTextField("pass", "none", {validateOn:["blur"]});
</script>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>
0
Puntos
Por Rogelio hace 116 meses
Principiante
Respuesta #3
Para los comentarios en el foro hay una opción llamada "Insertar fragmentos de código" para que coloques los códigos allí :)

Y pues, como dice alber, el problema es por el header() Yo siempre tengo ese problema y aunque todos dicen "Es por espacios en blanco".. No lo he resuelto xD Pero hay una alternativa..

En vez de escribir
header("Location; /ruta/ ");
Lo reemplazas por
echo "<script>window.location.href='/ruta/'<script>";

La verdad no me gusta mucho usar eso porque echo en realidad es para mostrar en pantalla, no para realizar funciones de redirección. Pero bueno es lo que hay jaja. De todas maneras espero que tú si puedas solucionar el problema de "los espacios en blanco" para que tu web sea más profesional usando header() y que no se vea tan "pirata" usando echo.
xD
5
Puntos
Por Jose hace 116 meses
Experto Sitio web
Respuesta #4
Muchas gracias por la ayuda...

De momento continua fallando...

Aun no comprendo bien por que se produce el fallo... Es por la configuracion del php.ini de los servidores de 1and1?

Lo comento por que en local me funciona todo perfectamente...

Saben de algun servidor que no de estos problemas ( en caso de ser de culpa de ellos)?

Muchas gracias de nuevo por la ayuda...

Saludos...
-5
Puntos
Por Rogelio hace 116 meses
Principiante
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate