PHP - Problema con Login en Hosting

 
Vista:

Problema con Login en Hosting

Publicado por Ariel (10 intervenciones) el 24/04/2020 22:24:48
Buenas tardes,

Estuve buscando por todos lados y no encuentro como solucionarlo asi que decidi pedirles ayuda.

Tengo una pagina en la cual hice un login al inicio, el cual al probarla de forma local con Xampp funciona perfectamente. Pero al subirla al hosting gratuito 000WebHost ya no me funciona.

Al momento de loguearse si el acceso es invalido me muestra los mensajes de error, pero si es valido no se redirecciona a la nueva pantalla (bienvenido.php)

Por lo cual pienso que el problema esta en el inicio de sesion o en el header... Lei en varios lados los problemas de poner el header, que no se puede modificar las cabeceras y se debe a que una vez que haya una salida en pantalla, ya sea un echo, print o cualquier otra forma, el header no puede modificar el contenido del <head>... pero no se como solucionarlo.

Si alguien me puede ayudar les agradezco... Saludos!

archivo loguin.php :


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
include("header.php");
?>
 
	<div id="contenido-index">
	<br>
<h1>&nbspAccede con tu usuario y contraseña:</h1>
<br><br>
<form id ="formulario" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF'])?>" method="POST">
<br>
&nbsp&nbsp<label for="">Usuario:</label>
<input type="text" name="usuario">*<br><br>
 
&nbsp&nbsp<label for="">Contraseña:</label>
<input type="password" name="pass">*<br><br>
 
<center><input type="submit" value="Ingresar" name="ingresar"></center>
<br><br>
<center><p>No sos usuario?, <a href="registro.php"><font color= red>registrate!</font></a></p></center>
<br>
 
</form>
<br><br>
<?php
include("validar.php");
?>
 
<?php include("footer.php"); ?>


Archivo validar.php :


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
 
 
/************VALIDACION*****************************/
if(isset($_POST['ingresar'])) {
 
	$usuarios= $_POST['usuario'];
	$pass= $_POST['pass'];
 
	if(empty($usuarios)){
	echo "<p class='error'>* Agrega tu nombre de usuario </p>";
	}
	if(empty($pass)){
	echo "<p class='error'>* Agrega tu contraseña </p>";
	}
	if((!empty($usuarios)) && (!empty($pass))){
/*****************INICIO DE SESION**********************/
include("conexion_sql.php");
 
$query = "SELECT * FROM usuario WHERE nombre_usr ='".$usuarios."' AND password = '".$pass."'";
$q = mysqli_query($conexion, $query);
 
 
 
if(!mysqli_data_seek($q,0)){
    echo "<p class='error'>* Usuario y/o contraseña inexistentes!!! </p>";
}
else{
 
	if($varsesion != null || $varsesion != ''){
		echo "<p class='error'>* Ya se encuentra una sesion iniciada, cierrela y vuelva a intentarlo </p>";
	}
	else{
 
session_start();
$_SESSION['usuario'] = $usuarios;        ////////ESTA ES LA PARTE CUANDO ES VALIDO
header("Location: bienvenido.php");
 
 
	}
}
 
}
 
 
}
 
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema con Login en Hosting

Publicado por Ariel (10 intervenciones) el 25/04/2020 05:30:59
Estuve buscando soluciones y acabo de juntar ambos archivos php en uno solo (index.php). Dejando el header antes que cualquier echo y antes que el html.
Ademas cree el archivo .htaccess con la siguiente linea: php_flag output_buffering on

Con esto al validar que el usuario y contraseña son correctos me redirecciona a bienvenido.php pero... no me mantiene la sesion abierta al pasar a bienvenido.php

Probe y me crea la sesion estando en la misma pagina (index.php) pero al direccionar se pierde. Que puede ser???

Sera por el hosting que es una cuenta gratuita?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema con Login en Hosting

Publicado por joel (1269 intervenciones) el 25/04/2020 08:58:11
Hola Ariel, no se exactamente cual es el problema, pero recuerda que el session_start(); tiene que estar en la primera linea de la pagina... antes que cualquier texto php y html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con Login en Hosting

Publicado por Ariel (10 intervenciones) el 25/04/2020 16:32:02
Si es lo primero que tengo...
La verdad ya no se qué probar porque si es un tema de configuracion del hosting ya no tengo la posibilidad de cambiarlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema con Login en Hosting

Publicado por Julio (830 intervenciones) el 25/04/2020 17:03:38
Hola.

Ve probando cosas para descartar. En un archivo pones:

1
2
session_start();
$_SESSION["prueba"] = "conectado";

Y un enlace a otro archivo donde tengas:

1
2
session_start();
var_dump($_SESSION["prueba"]);

Algo sencillito para comprobar si las variables se envían bien o no.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con Login en Hosting

Publicado por Ariel (10 intervenciones) el 25/04/2020 19:00:26
Si tambien lo probe, en la misma pagina me crea la sesion pero al redireccionar se pierde.

Lo que estoy probando es pasando el id de sesion por url pero ya eso es un berenjenal que no me gusta como queda. Si funciona les comento.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con Login en Hosting

Publicado por Ariel (10 intervenciones) el 27/04/2020 23:37:27
Gente les comento como lo solucione por el momento por si a alguien le sirve.

Mando el ID de usuario por url para luego en cada pagina que abro volver a iniciar sesion, lo cual es un fastidio ya que es un descontrol porque tenes que anda modificando cada enlace para que mande el ID por url.

Ejemplo al iniciar sesion lo hago en la misma pagina lo cual me mantiene la sesion, pero al ir a un enlace a otra pagina hago lo siguiente:

1
2
$link = 'bienvenido.php?usuario='.$_SESSION['usuario'];
echo '<br /><a href='.$link.'>Bienvenido</a>';

Y en la pagina bienvenido.php :

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
include("conexion_sql.php");
 
$n_usuario = mysqli_real_escape_string($conexion, $_GET['id_usuario']);
 
$sql = "SELECT id_usr FROM usuario WHERE id_usr='$n_usuario'";
$result = mysqli_query($conexion, $sql);
$fila_usr = mysqli_fetch_array($result, MYSQLI_BOTH);
$usr_actual = $fila_usr[0];
session_start();
$_SESSION['usuario'] = $usr_actual;
$varsesion = $_SESSION['id_usuario'];
?>


Y asi estaria iniciando sesion en cada pagina pero la verdad que es un chino sabiendo que usando las sesiones normalmente es mas facil.

Por lo que les queria consultar si alguien utiliza un servicio de host gratis en donde les funcione bien las sesiones php??

O de ultima un pago barato y que funcione?

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema con Login en Hosting

Publicado por Julio (830 intervenciones) el 28/04/2020 08:29:23
Por lo visto, ya son varios los que han preguntando por las sesiones en ese hosting y no les van. Es posible que estén desconectadas o algo parecido, pero la cuestión es que en ese hosting gratuito no funcionan.

De la forma en lo que lo has hecho piensa que es tremendamente inseguro. Cualquiera que supiera cuál es el id de algún usuario podría entrar donde quisiera.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con Login en Hosting

Publicado por Ariel (10 intervenciones) el 29/04/2020 04:43:15
Claramente es un tema de la version gratuita de 000WebHost. Ya que me registre en la version paga y las sesiones andan perfectamente como en el localhost.
Gracias a todos !
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar