bonsoir,
hmmm je vais pas te faire tout le script, hein ^^ mais jvais juste en faire une petite partie pour te filer un coup de pouce :
<?php
# toujours placer session_start(); sinon la session ne suit pas
session_start();
# on va utiliser mysql pour vérifier si le mot de passe est correct
$sql = mysql_connect($sqlHost, $sqlUser, $sqlPw) or die('error mysql_connect');
mysql_select_db($sqlDb, $sql) or die('error mysql_select_db');
# on met l'erreur à FALSE
$error = FALSE;
# on récupère les valeurs $_POST envoyé par l'utilisation
# donc le mot de passe et le nom d'utilisateur
# on va prendre $_POST['user'] pour le nom d'utilisateur
# et $_POST['pw'] pour le mot de passe
if($_POST['user'] && $_POST['pw']) {
$user = $_POST['user'];
# on encode le mot de passe (qui doit déjà être encodé dans la db)
$pwd = md5($_POST['pw']);
$sqlQuery = mysql_query("SELECT * FROM `table` WHERE `user`='".$user."'") or die('error');
$member = mysql_fetch_array($sqlQuery);
# on vérifie que le mot de passe est correct
if($member['pwd'] == $pwd) {
$userid = $member['id'];
# on enregistre la session
session_register('user');
session_register('userid');
header('location: #');
}
else
$error = TRUE;
}
?>
<!-- ton code html -->
...
<!-- on arrive à la partie du formulaire ou du dis bonjour mr -->
<?php
if($_SESSION['user'])
echo '<p>Bonjour '.$_SESSION['user'].'</p>'."\n";
else {
# affichage du formulaire
echo '<form action="#">'."\n".
'<p>Utilisateur : <input type="text" id="user" value=""></p>'."\n".
'<p>Mot de passe : <input type="text" id="pw" value=""></p>'."\n".
</form>'."\n";
}
?>
<!-- et si tu veux te déloguer, tu utilises le code suivant : -->
<?php
# logout
session_start();
session_unregister("user");
session_unregister("userid");
session_unset();
session_destroy();
?>
bien sûr il faut vérifier les données du formulaire (trim, htmlentities, etc etc ...)
le fait de toujours diriger ou rediriger (action= et header) vers # te renvoie toujours sur la même page, donc pas de soucis.
et l'utilsiation de $_SESSION[] doit se faire après l'enregistrement de la session (logique) donc il faut avoir rafraichit la page : d'ou le header('location: #);
bon c'est extremement rapide hein, mais c'est pour que tu vois en gros ce que tu dois faire
après il faut voir la sécurité (surtout pour un achat en ligne
!), etc.
si tu veux mon avis, étant donné que tu ne sais pas faire un enregistrement de session, je te conseille de ne pas d'engager sur un site d'achat en ligne ... :s enfin tout dépend de pour qui est le travail, et les enjeux derrière (ce qui ne me regarde pas). mais le fait de faire une boutique requiere un peu de connaissance
j'espère t'avoir aidé
et comme d'hab, pour plus d'infos :
http://fr.php.net/session
:)
# edit, en fait j'ai fais presque tout le code ^^
# edit 2
a écrit :
de QuentinC
Ce salon du forum n'est pas fait pour accueillir les questions de pur php, mais est plus axé sur le rapport qu'a ce langage et les autres langages serveur en relation avec les standards du web. Cf l'annonce de ce salon que tu es censé avoir lue avant de poster.
Modifié par HyWaN (29 Jul 2006 - 22:47)