PHP - Seission avec coockies

xunil2003 Messages postés 765 Date d'inscription   Statut Membre Dernière intervention   -  
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

j'ai une page ou je demande le prénom du visiteur pour lui dire bonjour, bienvenue, avec session_start(); et je voudrai que dans le formulaire ou il tape son prémon que l'ordinateur ce rappelle de son prénom et lui affiche des qu'il vas cliquer sur le formulaire pour réinscrire son prénom, quand il revient, donc je pense au coockies.

j'ai donc récupérai un code que j'ai modifier mais sa ne marche pas.
Quelqu'un pourai t'il m'expliquer pourquoi ?

Merci d'avance, coordialement.

-----------------------le code en entier------------------------------
<?php session_start(); // mettre au début de chaque page obigatoire

// Si il y a un cookie $_COOKIE['login']
if(isset($_COOKIE['login']))
{
// Alors c'est tout bon, on cree donc une session pour etre connecte
$_SESSION['SiteAdmin'] = $_COOKIE['login'];
// Et on envoie le visiteur a la page d'accueil de la gestion du site
header('Location: ./gestion_accueil.php');
}

?>


<!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>Prénom visiteur</title>
</head>

<div class="entete" >

<?php
include('/Program files 2/wamp/www/maison/commun/template/entete.php'); // appel l'entete du site
?>


</div> <div class="pied">

</div>

<body>

<?php
// Si il y a une variable $_POST['login']
if(isset($_POST['login']))
{
// Si la variable $_POST['login'] vaut "Justin"
if($_POST['login'] == 'Justin')
{
// On definit une variable $_SESSION['SIteAdmin'] qui vaut : le login
$_SESSION['SiteAdmin'] = $_POST['login'];

//======= CREATION D'UN COOKIE
// Date d'expiration = Timestamp actuel + 30 000 000 secondes soit presque un an
$date_expiration = time() + 30000000;
// Ecrire le cookie(nom du cookie, valeur du cookie, date d'expiration)
setcookie("login",$_POST['login'],$date_expiration);
//============================

// On envoie l'administrateur sur la page de d'accueil de gestion
header('Location: ./gestion_accueil.php');
}

else // Si le login ou mot de passe est incorrect
{
echo 'Mauvais login et/ou mot de passe';
}
}
// Si il n'y a pas eu de validation du formulaire, on ne fait rien
else { }

?>
<center><h1>bonjour visiteur, veuillez taper votre prénon</h1>
<form id="identification" action="cible.php" method="post" name="identification">
Login : <input type="text" name="login" size="20"/><br />
<input type="submit" name="validation" value="Validation"/>
</form></center>


<?php
include('/Program files 2/wamp/www/maison/commun/template/pied.php3'); // appel le pied de page
$_COOKIE['prenom_visiteur']
?>

</body>
</html>
-----------------------------------fin du code----------------------------------------------
A voir également:

6 réponses

Atropa Messages postés 1940 Date d'inscription   Statut Membre Dernière intervention   274
 
bonsoir,

il faut créer les cookies avant de générer du code.

j'ai corrigé a vu d'oeil mais je n'ai pas testé

aussi tu commente beaucoup trop

de genre :
// Si il y a un cookie $_COOKIE['login']
if(isset($_COOKIE['login'])) 

ça ne sert à rien là on voit plus vite ce qu'il se passe en lisant juste
if(isset($_COOKIE['login']))


voilà le code corrigé mais non testé:

<?php

	session_start();

	if(isset($_COOKIE['login'])) {
		$_SESSION['SiteAdmin'] = $_COOKIE['login'];
		header('Location: ./gestion_accueil.php');// envoie le visiteur a la page d'accueil de la gestion du site
	}

	if(isset($_POST['login'])) {
		if($_POST['login'] == 'Justin') {
			$_SESSION['SiteAdmin'] = $_POST['login'];
			$date_expiration = time() + 30000000;
			setcookie("login",$_POST['login'],$date_expiration);
			header('Location: ./gestion_accueil.php'); // envoie le visiteur a la page d'accueil de la gestion du site
		}
		else $badPass = 'Mauvais login et/ou mot de passe';
	}
	
?>


<!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>Prénom visiteur</title>
</head>
<body>

	<div class="entete" >
<?php
	include('/Program files 2/wamp/www/maison/commun/template/entete.php'); // appel l'entete du site
?>
	</div>

	<div class="pied"></div>

<?php if(isset($badPass)) echo '<p>'.$badPass.'</p>'; ?>

	<div style="margin:auto;">
	<h1>bonjour visiteur, veuillez taper votre prénon</h1>
	<form id="identification" action="cible.php" method="post" name="identification">
		Login : <input type="text" name="login" size="20"/><br />
		<input type="submit" name="validation" value="Validation"/>
	</form>
	</div>


<?php
	include('/Program files 2/wamp/www/maison/commun/template/pied.php3'); // appel le pied de page
	//$_COOKIE['prenom_visiteur'];
?>

</body>
</html> 
0
xunil2003 Messages postés 765 Date d'inscription   Statut Membre Dernière intervention   14
 
bonsoir,

J'ai testé mais ca ne fonctionne pas, je suis un peut perdu, car voila mon code que j'utilisé avant de récupere ce script php que j'ai modier.
Pour bien comprendre je désire la même chose mais avec un coockies afin que lorsque le visiteur revient sur le site son prénom s'affiche automatiquement et qu'il clique sur valider.

Merci d'avance, coordialement.



-------------------voila ce que j'utiliser avant---------------------------------

<?php session_start(); // mettre au début de chaque page obigatoire ?>


<!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>Prénom visiteur</title>
</head>

<div class="entete" >

<?php
include('/Program files 2/wamp/www/maison/commun/template/entete.php'); // appel l'entete du site
?>

</div> <div class="pied">

</div>

<body>

<p align="center">
Bonjour visiteur.<br />
Veuillez taper votre prénom :</p>

<form action="cible.php" method="post">
<p align="center">
<input type="text" name="prenom" /> <input type="submit" value="Valider" />


<?php
include('/Program files 2/wamp/www/maison/commun/template/pied.php3'); // appel le pied de page
?>

</body>
</html>

------------------------------------------------------fin-------------------------------------------------
0
Atropa Messages postés 1940 Date d'inscription   Statut Membre Dernière intervention   274
 
tu as des bases en php?
0
xunil2003 Messages postés 765 Date d'inscription   Statut Membre Dernière intervention   14
 
Bonjour,

oui, mais pas suffusant créer un script.

Merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Atropa Messages postés 1940 Date d'inscription   Statut Membre Dernière intervention   274
 
alors il te faut apprendre !

https://openclassrooms.com/fr/

inutile de faire ça si tu ne sais rien en faire...
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Ton système permet à n'importe qui de se connecter avec le pseudo qu'il veut !
Stockes à la fois le login et le mot de passe, ensuite, vérifie s'ils correspondent.
0