PHP - Quiero entenderlo,necesito ayuda,porque este formulario no me funciona,saludos

 
Vista:
sin imagen de perfil

Quiero entenderlo,necesito ayuda,porque este formulario no me funciona,saludos

Publicado por dev3rt (12 intervenciones) el 13/04/2017 14:03:35
SESIONES
No me funciona el archivo contingut.php y validacio.php,los he intentado arreglar pero continuar sin funcionar correctamente porque el contingut.php debe de mostrar el mensaje cuando ha entrado sessión y cuando no.
Utilizaremos cuatro archivos:
A. formulari.html
Este archivo será simplemente un formulario que nos pida un nombre de usuario y un password. El archivo nos enviará a validacio.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<html>
<head>
<title>LOGIN</title>
</head>
<body>
<form method="post" action="validacio.php">
<p>Introdueix el nom d'usuari:
<input type="text" name="usuari"><br>
</p>
<p>Introdueix la contrasenya:
<input type="password" name="contrasenya"><br>
</p>
<input type="submit" value="Submit">
</form>
</body>
</html>

B. validacio.php
Este archivo utilizará la función comprovaPassword (login) para saber si la pareja usuario / password es correcto. En este caso, iniciará sesión dando valor a la variable de sesión login y nos redirigirá a la página contingut.php. Si comprovaPassword devuelve false, nos redirigirá al formulario inicial con la instrucción header ( "Location: formulari.html");
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
include 'funcions.inc';
$usuari = $_POST['usuari'];
$contrasenya = $_POST['contrasenya'];
//print_r($_POST);
if(login_ok($usuari,$contrasenya)){
	session_start();
	$_SESSION['login']=$usuari;
	$_SESSION['login']=$contrasenya;
	header("Location:  contingut.php");
 
}else{
	header("Location:  formulari.html");
}
?>

C. contingut.php
Será una página en la que, si hemos iniciado sesión, se nos mostrará el mensaje 'Sesión iniciada' y en caso contrario nos mostrará 'Sesión no iniciada' y un link a formulari.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
 
session_start();
 
if(isset($_SESSION['login'])){
 
echo "SESSION INICIADA";
 
}else{ // este mensaje deberia salir al entrar mal y no sale 
 
echo "SESSION NO INICIADA".'<a href="formulari.html">Formulari</a>';
 
}
 
?>

D. funcions.inc
Este archivo contendrá las funciones necesarias para el proyecto (como mínimo, comprovaPassword).

1
2
3
4
5
6
7
8
9
10
11
12
<?php
function login_ok($usuari,$contrasenya){
 
	if($usuari == "Tom" && $contrasenya == "Patata"){
 
		return true;
	}else{
		return false;
 
	}
}
?>

SALUDOS Y GRACIAS,espero que alguien pueda explicarmelo porque no funciona y ayudarme porque no quiero que nadie me haga las cosas simplemente entenderlo.
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
Imágen de perfil de xve
Val: 3.084
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Quiero entenderlo,necesito ayuda,porque este formulario no me funciona,saludos

Publicado por xve (6933 intervenciones) el 13/04/2017 21:14:23
Pon el session_start() en la segunda linea de cada archivo, debajo del <?php... tiene que ser la primera linea de código PHP!!!

prueba y coméntanos, ok?
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
sin imagen de perfil

Quiero entenderlo,necesito ayuda,porque este formulario no me funciona,saludos

Publicado por dev3rt (12 intervenciones) el 13/04/2017 23:29:32
Lo he probado y no me funciona esto, el problema esta en la hora de poner usuario y contraseña que en ese caso para entrar es Tom y Patata,pues dice Session INICIADA pero cuando entras con Tom y otra contaseña(es decir incorrecta) debe de mostrarte el link de formulari.html y que diga session No iniciada.
Pero si pones otro usuario por ejemplo Luz y contraseña Patata te envía al formulario inicial para poner usuario y contraseña pero no te dice nada,y creo que debería decirlo no?
saludos y espero que me puedas ayudar,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 xve
Val: 3.084
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Quiero entenderlo,necesito ayuda,porque este formulario no me funciona,saludos

Publicado por xve (6933 intervenciones) el 14/04/2017 08:02:40
Pero si el usuario o contraseña no coinciden, tu lo envías a la pagina "formulari", no lo envías a contingut.php para mostrar el mensaje!!!
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
sin imagen de perfil

Quiero entenderlo,necesito ayuda,porque este formulario no me funciona,saludos

Publicado por dev3rt (12 intervenciones) el 14/04/2017 18:28:05
O sea,que esta bien lo que esta mal es el enunciado no?
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