Cookies
Résolu/Fermé
troubadour2
Messages postés
277
Date d'inscription
vendredi 11 juin 2010
Statut
Membre
Dernière intervention
19 juin 2016
-
14 avril 2011 à 13:57
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 - 19 avril 2011 à 14:11
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 - 19 avril 2011 à 14:11
A voir également:
- Cookies
- Supprimer les cookies - Guide
- Anti cookies - Télécharger - Confidentialité
- Extension refuser cookies - Guide
- Impossible de se connecter à facebook à cause des cookies - Forum Facebook
- La cause de ce problème peut être la désactivation ou le refus des cookies. ✓ - Forum PHP
15 réponses
JooS
Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 14/04/2011 à 16:29
Modifié par JooS le 14/04/2011 à 16:29
Salut ...
1 - Tu commence par une condition qui verifie que les champs ont bien été remplis.
2 - Tu sécurise les variables $_POST.
3 - Avec bdd, tu fait une requête vers la base de données qui vérifie si l'utilisateur existe.
3.1 - Si c'est le cas(1), tu vérifie si le mot de passe entré correspond au mot de passe stocké dans la bdd.
3.1.1 - Si c'est le cas(2), alors tu crée un cookie ou tu y stocke par exemple le pseudo de l'utilisateur.
3.1.2 - Si c'est pas le cas(2), tu affiche un message d'erreur, comme quoi le mot de passe est incorrect.
3.2 - Si c'est pas le cas(1), ça veut dire que le pseudo n'existe pas dans la bdd, or, tu peut lui proposer de s'inscrire avec ce dernier.
4 - Sans bdd, je vois pas l'intérêt.
a+
1 - Tu commence par une condition qui verifie que les champs ont bien été remplis.
2 - Tu sécurise les variables $_POST.
3 - Avec bdd, tu fait une requête vers la base de données qui vérifie si l'utilisateur existe.
3.1 - Si c'est le cas(1), tu vérifie si le mot de passe entré correspond au mot de passe stocké dans la bdd.
3.1.1 - Si c'est le cas(2), alors tu crée un cookie ou tu y stocke par exemple le pseudo de l'utilisateur.
3.1.2 - Si c'est pas le cas(2), tu affiche un message d'erreur, comme quoi le mot de passe est incorrect.
3.2 - Si c'est pas le cas(1), ça veut dire que le pseudo n'existe pas dans la bdd, or, tu peut lui proposer de s'inscrire avec ce dernier.
4 - Sans bdd, je vois pas l'intérêt.
a+
troubadour2
Messages postés
277
Date d'inscription
vendredi 11 juin 2010
Statut
Membre
Dernière intervention
19 juin 2016
1
15 avril 2011 à 11:17
15 avril 2011 à 11:17
Bonjour
Pouvez-vous me dire ou mon script de ma redirection est faux.
Ca ne fonctionne pas tout en sachant que mon login et mot de passe c'est le même "ens" j'ai fait ça pour commencer après je ferai avec une BDD.
Toutes mes vérifications au niveau login et mot de passe sont bien faites.
Merci beaucoup
Pouvez-vous me dire ou mon script de ma redirection est faux.
Ca ne fonctionne pas tout en sachant que mon login et mot de passe c'est le même "ens" j'ai fait ça pour commencer après je ferai avec une BDD.
Toutes mes vérifications au niveau login et mot de passe sont bien faites.
Merci beaucoup
<?php if(!isset($_COOKIE['login'])){ Setcookie('login', 'ens', time()+3600); echo ("c'est votre première visite"); echo ("$_COOKIE['login']."<br/>"; } else{ Setcookie('login', 'ens', time()+3600); echo ("Ce n'est pas votre première visite"); echo ("$_COOKIE['login']."<br/>"; }
JooS
Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 15/04/2011 à 12:23
Modifié par JooS le 15/04/2011 à 12:23
Salut, Essaye avec setcookie, sans majuscule ...
EDIT :
echo "c'est votre première visite";
echo $_COOKIE['login']."<br/>";
EDIT :
echo "c'est votre première visite";
echo $_COOKIE['login']."<br/>";
troubadour2
Messages postés
277
Date d'inscription
vendredi 11 juin 2010
Statut
Membre
Dernière intervention
19 juin 2016
1
15 avril 2011 à 12:34
15 avril 2011 à 12:34
Bonjour tu peux me dire si les données dans setcookie c'est juste
en sachant comme je te l'ai dit le login et mot de passe c'est "ens"
Merci
en sachant comme je te l'ai dit le login et mot de passe c'est "ens"
Merci
<?php if(!isset($_COOKIE['login'])){ setcookie('login', 'ens', time()+3600); echo ("c'est votre première visite"); echo ("$_COOKIE['login']."<br/>"; } else{ setcookie('login', 'ens', time()+3600); echo ("Ce n'est pas votre première visite"); echo ("$_COOKIE['login']."<br/>"; }
JooS
Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
15 avril 2011 à 13:03
15 avril 2011 à 13:03
Oui, c'est juste, ...Pourquoi, ça fonctionne pas ??!
troubadour2
Messages postés
277
Date d'inscription
vendredi 11 juin 2010
Statut
Membre
Dernière intervention
19 juin 2016
1
15 avril 2011 à 13:23
15 avril 2011 à 13:23
je ne sais pas ça devrait m'afficher si il y a pas de cookie de créer
au moins "c'est votre première visite" ?
Merci
au moins "c'est votre première visite" ?
Merci
JooS
Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
15 avril 2011 à 13:41
15 avril 2011 à 13:41
<?php if(!isset($_COOKIE['login'])){ setcookie('login', 'ens', time()+3600); echo "c'est votre première visite"; } else{ setcookie('login', 'ens', time()+3600); echo "Ce n'est pas votre première visite : "; echo $_COOKIE['login']."<br/>"; } ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
troubadour2
Messages postés
277
Date d'inscription
vendredi 11 juin 2010
Statut
Membre
Dernière intervention
19 juin 2016
1
15 avril 2011 à 14:32
15 avril 2011 à 14:32
Merci ça fonctionne
Excuse moi il se peux que j'ai une autre question à se sujet.(cookies)
Je vais regarder ça et je te redit si ça na te dérange pas trop.
Merci
Excuse moi il se peux que j'ai une autre question à se sujet.(cookies)
Je vais regarder ça et je te redit si ça na te dérange pas trop.
Merci
troubadour2
Messages postés
277
Date d'inscription
vendredi 11 juin 2010
Statut
Membre
Dernière intervention
19 juin 2016
1
15 avril 2011 à 14:44
15 avril 2011 à 14:44
Voilà ce que j'ai fait tout en début de page avant tout code
Tu peux me dire ce que tu en penses
Merci
<?php setcookie('login', 'ens', time() + 365*34*3600, '/', 0); setcookie('password', 'ens', time() + 365*34*3600, '/', 0); ?>
Tu peux me dire ce que tu en penses
Merci
JooS
Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 15/04/2011 à 14:54
Modifié par JooS le 15/04/2011 à 14:54
C'est pour quel intérêt ??
Edit: 24 a la place de 34 ...
Edit: 24 a la place de 34 ...
troubadour2
Messages postés
277
Date d'inscription
vendredi 11 juin 2010
Statut
Membre
Dernière intervention
19 juin 2016
1
15 avril 2011 à 15:02
15 avril 2011 à 15:02
sur le site que je teste en local c'est pour éviter que ça me redemande me me reconnecter à chaque fois que je vais sur mon site.
j'ai remplacé 34 par 24
Merci
j'ai remplacé 34 par 24
Merci
JooS
Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
15 avril 2011 à 15:07
15 avril 2011 à 15:07
C'est ok si c'est temporaire et si c'est en localhost ...
Sinon, tu devra tout supprimer une fois que t'utilisera les base de données, et pourquoi pas les sessions.
Sinon, tu devra tout supprimer une fois que t'utilisera les base de données, et pourquoi pas les sessions.
troubadour2
Messages postés
277
Date d'inscription
vendredi 11 juin 2010
Statut
Membre
Dernière intervention
19 juin 2016
1
15 avril 2011 à 15:22
15 avril 2011 à 15:22
sur quel page je doit mettre ça?
car je n'arrive pas à créer mes cookies je regarde dans chrome mais il y en à pas de créer.
car je n'arrive pas à créer mes cookies je regarde dans chrome mais il y en à pas de créer.
JooS
Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 17/04/2011 à 11:50
Modifié par JooS le 17/04/2011 à 11:50
Tu réserve un endroit dans tes pages spécial pour les connexion du membre ...genre une zone membre ...
tu crée une page par exemple login.php, et tu y colle le code qui suit ...
Puis dans la zone que t'as réserver, tu fait un include de la page login.php.
Donc si le cookie n'existe pas, dans cette zone apparaîtra un formulaire de connexion.
Sinon, c'est le pseudo de l'utilisateur qui sera afficher.
EDIT : Ajoute un slash a chaque http
tu crée une page par exemple login.php, et tu y colle le code qui suit ...
Puis dans la zone que t'as réserver, tu fait un include de la page login.php.
Donc si le cookie n'existe pas, dans cette zone apparaîtra un formulaire de connexion.
Sinon, c'est le pseudo de l'utilisateur qui sera afficher.
<?php // Connexion sans BDD if(!empty($_POST['login']) AND !empty($_POST['mdp']) AND !isset($_COOKIE['login'])) { if($_POST['mdp'] == '123') { // Le mot de passe setcookie('login', $_POST['login'], time()+3600); header("Location: http:/".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); } else echo 'Mot de passe incorrect'; } elseif(isset($_COOKIE['login'])) { setcookie('login', $_COOKIE['login'], time()+3600); echo "Bonjour Mr/Mme. ".$_COOKIE['login']."<br>"; echo '<a href="http:/".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."?deco=ok">Deconnexion</a>'; } else { ?> <form method="POST" action="http:/<?php echo $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; ?>"> <p>Psuedo :<input type="text" name="login" /></p> <p>Mdp :<input type="password" name="mdp" /></p> <p><input type="submit" value="Se connecter" /></p> </form> <?php } if(isset($_GET['deco']) AND isset($_COOKIE['login']) AND $_GET['deco'] == 'ok') { setcookie('login', '', 0); // Pour détruire le cookie header("Location: http:/".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']"); } ?>
EDIT : Ajoute un slash a chaque http
troubadour2
Messages postés
277
Date d'inscription
vendredi 11 juin 2010
Statut
Membre
Dernière intervention
19 juin 2016
1
17 avril 2011 à 09:55
17 avril 2011 à 09:55
Bonjour un grand merci de ton aide.
Peux tu juste me dire à quoi correspond cette adresse s'il te plait.
Merci et je suis en train d'essayer de comprendre ton script.
http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']">
Peux tu juste me dire à quoi correspond cette adresse s'il te plait.
Merci et je suis en train d'essayer de comprendre ton script.
http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']">
JooS
Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 17/04/2011 à 11:42
Modifié par JooS le 17/04/2011 à 11:42
Oups, c'est plutôt ça ...
<form method="POST" action="http://<?php echo $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; ?>">
ça correspond a l'adresse en cours...
Exemple si tu te trouve sur http://localhost/dossier/page_1.php Alors le code suivant ...<?php echo $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; ?> affichera cette derniere ...
Tu peut faure des tests...
PS :
$_SERVER['HTTP_HOST'] => http://localhost/
$_SERVER['REQUEST_URI'] => dossier/page_1.php
<form method="POST" action="http://<?php echo $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; ?>">
ça correspond a l'adresse en cours...
Exemple si tu te trouve sur http://localhost/dossier/page_1.php Alors le code suivant ...<?php echo $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; ?> affichera cette derniere ...
Tu peut faure des tests...
PS :
$_SERVER['HTTP_HOST'] => http://localhost/
$_SERVER['REQUEST_URI'] => dossier/page_1.php
troubadour2
Messages postés
277
Date d'inscription
vendredi 11 juin 2010
Statut
Membre
Dernière intervention
19 juin 2016
1
18 avril 2011 à 11:26
18 avril 2011 à 11:26
Bonjour merci encore de ton aide.
J'avance à petit pas et je pense avoir compris ton script d'ailleurs je l'ai commenté.
Peux tu me dire si c'est bon mes commentaires?
Et puis je te fait voir ma page complète lorsque le COOKIE est créé j'arrive sur la page index.php avec en tête "Bonjour Mr/Mme..." mais je souhaite afficher le menu "header" mais je n'arrive pas.
Aussi le lien de déconnexion qui ne fonctionnait pas.
Merci mille fois.
J'avance à petit pas et je pense avoir compris ton script d'ailleurs je l'ai commenté.
Peux tu me dire si c'est bon mes commentaires?
Et puis je te fait voir ma page complète lorsque le COOKIE est créé j'arrive sur la page index.php avec en tête "Bonjour Mr/Mme..." mais je souhaite afficher le menu "header" mais je n'arrive pas.
Aussi le lien de déconnexion qui ne fonctionnait pas.
Merci mille fois.
<?php //vérifie que le formulaire a bien été soumis en fait si nos champs contienent bien un nom //si les cookies n'existent pas on les cré if(!empty($_POST['login']) AND !empty($_POST['password']) AND !isset($_COOKIE['login'])) { //redirection des pages suivant le statut de l'utilisateur if($_POST['password'] == 'ens') { setcookie('login', $_POST['login'], time()+3600); header("location: enseignant.php"); } else echo 'Mot de passe incorrect'; } elseif(isset($_COOKIE['login'])) { setcookie('login', $_COOKIE['login'], time()+3600); echo "Bonjour Mr/Mme. ".$_COOKIE['login']."<br>"; echo '<a>Deconnexion</a>'; } else { ?> <!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" xml:lang="fr" lang="fr"> <head> <script type="text/javascript" language="javascript" src="jquery.js"></script> <script type="text/javascript" language="javascript" src="script.js"></script> </head> <body> <div data-role="page"> <div data-role="header" data-theme="b"> <h1><img src="image/logo.jpg" width="100%"/></h1> <div data-role="navbar"> <ul> <li><a href="index.php" data-icon="home">Accueil</a></li> <li><a href="contact.php" data-icon="info">Contact</a></li> </ul> </div> </div> <div data-role="content"> <form method="post" id="formulaire" action="http://<?php echo $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; ?>"> <div data-role="fieldcontain"> <input type="text" name="login" id="login" value=""/><label for="login" class="login">Login :</label> </div> <div data-role="fieldcontain"> <input type="text" name="password" id="password" value=""/><label for="password" class="password">Password :</label> </div> <div data-role="fieldcontain"> <input type="submit" name="submit" value="Envoyer" id="envoyer"/> </div> </form> <?php } if(isset($_GET['deco']) AND isset($_COOKIE['login']) AND $_GET['deco'] == 'ok') { setcookie('login', '', 0); // Pour détruire le cookie header("Location: https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); } ?> </div> </div> </body> </html>
JooS
Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 19/04/2011 à 14:09
Modifié par JooS le 19/04/2011 à 14:09
Re ...
C'est normal que le lien de déconnexion ne fonctionne pas, vu que ce que tu as mis n'a pas d'attribut href ...
Voila ce que ça devrais être ...
<a href="enseignant.php?deco=ok">Deconnexion</a>
C'est normal aussi qu'il n'affiche pas ton menu, vu que tu as fermer l'accolade de la condition ... => elseif(isset($_COOKIE['login'])) { } avant d'avoir inclus le menu ...
Qui veut dire que si le cookie existe, il n'affichera que se qui se trouve entre les deux accolades, alors pour afficher autre chose, il faut mettre ce "autre chose" entre les accolades précédentes, et non pas entre les accolades du else, sinon, il affichera le menu seulement dans le cas ou le cookie n'existe pas ...
C'est normal que le lien de déconnexion ne fonctionne pas, vu que ce que tu as mis n'a pas d'attribut href ...
Voila ce que ça devrais être ...
<a href="enseignant.php?deco=ok">Deconnexion</a>
C'est normal aussi qu'il n'affiche pas ton menu, vu que tu as fermer l'accolade de la condition ... => elseif(isset($_COOKIE['login'])) { } avant d'avoir inclus le menu ...
Qui veut dire que si le cookie existe, il n'affichera que se qui se trouve entre les deux accolades, alors pour afficher autre chose, il faut mettre ce "autre chose" entre les accolades précédentes, et non pas entre les accolades du else, sinon, il affichera le menu seulement dans le cas ou le cookie n'existe pas ...
troubadour2
Messages postés
277
Date d'inscription
vendredi 11 juin 2010
Statut
Membre
Dernière intervention
19 juin 2016
1
19 avril 2011 à 05:34
19 avril 2011 à 05:34
Bonjour
Tout fonctionne ou presque il y a juste le lien de déconnexion qui ne produit aucun effet.
Merci beaucoup j'ai bien étudié ton script cela ma permis de bien le comprendre c'est nickel.
Encore mille fois merci.
Si tu peux juste me donner ton avis pour ce lien.
Tout fonctionne ou presque il y a juste le lien de déconnexion qui ne produit aucun effet.
Merci beaucoup j'ai bien étudié ton script cela ma permis de bien le comprendre c'est nickel.
Encore mille fois merci.
Si tu peux juste me donner ton avis pour ce lien.
echo '<a href="http://"enseignant.php?deco=ok">Deconnexion</a>';
<?php } if(isset($_GET['deco']) AND isset($_COOKIE['login']) AND $_GET['deco'] == 'ok') { setcookie('login', '', 0); // Pour détruire le cookie header("location: index.php"); } ?>
JooS
Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 19/04/2011 à 14:11
Modifié par JooS le 19/04/2011 à 14:11
J'ai fait un erreur, normalement c'est Sans http, ou bien http://localhost/ensignant.php ..
Si tu peux juste me donner ton avis pour ce lien.
Je comprend pas la question, une explication tu veut dire ??
Si tu peux juste me donner ton avis pour ce lien.
Je comprend pas la question, une explication tu veut dire ??
troubadour2
Messages postés
277
Date d'inscription
vendredi 11 juin 2010
Statut
Membre
Dernière intervention
19 juin 2016
1
19 avril 2011 à 10:18
19 avril 2011 à 10:18
Bonjour et un très grand merci pour tout.
Tout fonctionne à merveille.
Bonne continuation.
Tout fonctionne à merveille.
Bonne continuation.