PHP - ayuda en formulario de login y password en varios archivos,abajo lo explico

 
Vista:
sin imagen de perfil

ayuda en formulario de login y password en varios archivos,abajo lo explico

Publicado por dev3rt (12 intervenciones) el 26/03/2017 23:38:30
Utilizaremos cuatro archivos:

A.Formulario.html

Este archivo sera simplemente un formulario que nos pida un nombre de usuario i un password.
El archivo nos mandará a validacion.php
En este archivo esto:
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="validacion.php">
<p>Introduce el nombre de usuario:
<input type="text" name="usuario"><br>
</p>
<p>Introduce la contraseña:
<input type="password" name="contrasena"><br>
</p>
<input type="submit" value="Submit">
</form>
</body>
</html>
B.Validación.php
Este archivo utilizará la funció comprobarPassword(login) para saber si la pareja de usuario/password es correcto.
En este caso,iniciarà sesión dando un valor a la variable de sessión login i nos redirigirá a la página contenido.php.
Si comprueba retorna false,nos redirigirá al formulario inicial con la instrucción header("Location:formulari.html");
Aqui he echo esto:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
include 'funciones.inc';
 
$usuario = $_POST['usuario'];
$contrasena = $_POST['contrasena'];
//print_r($_POST);
 
 
 
$usuari = "Tom";
$contrasenya = "Patata@!"
$_SESSION["usuario"] = $usuario;
$_SESSION["contrasena"] = $contrasena;
 
if(!isset($_SESSION)){
	//inciamos session
	session_start();
	header("Location:  contenido.php");
}else{
	header("Location:  formulario.html");
	exit;
}
 
?>

(pero no esta bien y lo quiero arreglar pero no se como,me podéis ayudar,porfavor)

//este de aqui abajo es otro archivo
C.Contenido
será una pagina en la que,si hemos iniciado sessión,se nos mostrará el mensaje session iniciada i en caso contrario nos mostrará sessión no iniciada y un link a formulario.html
//este archivo no lo hecho porque no me sale el de validación.php por favor aydadme si podéis en el de validación.

D.Funciónes.inc
Este archivo contendrá las funciones necesárias para el proyecto(como minimo compruebapassword)
En este archivo he echo esto:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
function comprovaPassword($usuario,$contrasena){
 
	if(empty($usuario) || empty($contrasena)){
		return false;
 
	}else if($usuario == "Tom" && $contrasena == "Patata@!"){
 
		return true;
 
	}else{
 
		return false;
	}
 
}
?>
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.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

ayuda en formulario de login y password en varios archivos,abajo lo explico

Publicado por xve (6935 intervenciones) el 27/03/2017 07:49:53
Hola dev3rt, creo que estas teniendo un problema con las variables... estas utilizando: $usuario y $usuari, y también estas utilizando: $contrasena y $contrasenya.

Puede ser este el problema?
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 orlando
Val: 103
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

ayuda en formulario de login y password en varios archivos,abajo lo explico

Publicado por orlando (73 intervenciones) el 28/03/2017 17:38:14
Hola dev3rt.

esta mal escrita esta variable: $usuari reemplaza por $usuario y $contrasenya por $contrasena

$usuari = "Tom";

reemplazar por :

$usuario = "Tom";

y

$contrasenya = "Patata@!"

reemplazar por :

$contrasena = "Patata@!"

Puedo visualizar otra cosa que estas haciendo mal:

if(!isset($_SESSION)){

cambia por

if(isset($_SESSION)){


Le quitamos el " ! " , antes le decías que si era la clave volviera al formulario, la pregunta estaba invertida.

queda asi:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
.
.
.
$usuario = "Tom";
$contrasena = "Patata@!";
 
$_SESSION["usuario"] = $usuario;
$_SESSION["contrasena"] = $contrasena;
 
if(isset($_SESSION)){
	//inciamos session
	session_start();
	header("Location:  contenido.php");
}else{
	header("Location:  formulario.html");
	exit;
}
 
?>

Listo!! a mi me corre al pele.

Prueba de nuevo.
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