Le sessions en php

Fermé
MISS97200 Messages postés 186 Date d'inscription jeudi 21 juin 2007 Statut Membre Dernière intervention 26 mai 2008 - 5 mars 2008 à 13:29
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 - 5 mars 2008 à 18:02
Bonjour,
je voudrai un lien avec le script des sessions en php s'il vous plaît.
A voir également:

10 réponses

sfel Messages postés 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
5 mars 2008 à 13:36
bonjour,

ce lien te plairait ??
https://openclassrooms.com/fr/courses#ss_part_2
0
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
5 mars 2008 à 13:38
Bonjour,
Voilà de quoi te rafraichir la mémoire :)

https://www.php.net/session_start
0
MISS97200 Messages postés 186 Date d'inscription jeudi 21 juin 2007 Statut Membre Dernière intervention 26 mai 2008 11
5 mars 2008 à 13:43
merci j'ai fait un truc mais je n'arrive pas à savoir comment faire ma requête après pour comparer ce qu'il y a dans mes sessions et ce qu'il y a dans ma base de donné. mais j'y arriverai grâce à tes précieux conseilles. ;)
0
MISS97200 Messages postés 186 Date d'inscription jeudi 21 juin 2007 Statut Membre Dernière intervention 26 mai 2008 11
5 mars 2008 à 15:04
j'ai fait un truc mais je n'arrive pas à m'en sortir, pouvez vous m'aideer s'il vous plaît, voici le code :

<?php require_once('connexion.php'); ?>
<?php session_start();
$_SESSION['utilisateur']='';
$_SESSION['mdp']='';
$verif='';
$utilisateur='';
$uti='';
$motpass='';


if (isset($_POST['valider']) )
{
if (isset($_POST['user']))
{
$uti = $_POST['login']; //variable du nom d'utilisateur
$motpass = md5($_POST['pass']); //variable du mot de passe crypté
mysql_select_db($database_dbmarchpub, $dbmarchpub);
$verif_query=sprintf("SELECT * FROM user WHERE user='$uti' AND mdp='$motpass'"); // requête sur la table user
$verif = mysql_query($verif_query, $dbmarchpub) or die(mysql_error());
$row_verif = mysql_fetch_assoc($verif);
$utilisateur = mysql_num_rows($verif);


if (isset($utilisateur))
{
$_SESSION['connexion'] = 'ok'
header("Location:accueil.php"); // redirection si OK
}
else
{
header("Location:index.php?erreur=login"); // redirection si utilisateur non reconnu
}
}
?>

merci de votre aide.
0
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
5 mars 2008 à 15:46
Deux trois choses :

En PHP, en dehors de l'orienté objet, tu n'es pas obligée d'initialiser tes variables:
Donc, ceci ne sert, pour ainsi dire, à rien mais a une implication sur le reste.
$_SESSION['utilisateur']='';
$_SESSION['mdp']='';
$verif='';
$utilisateur='';
$uti='';
$motpass='';


L'utilisation de sprintf pour ta requête est un peu de trop. sprintf permet de formater une chaine https://www.php.net/sprintf . Ici, tu ne fais que stocker la chaine dans une variable, donc sprintf ne fait rien.
Ca ralenti le script, pour au final ne rien changer à ta requête. Mais c'est de l'ordre de quelque microseconde, rien de bien grave.

La fonction isset() ne vérifie que l'existence de la variable, pas si elle est vide ou pas. Mais puisque tu as déjà créé ta variable $utilisateur au début, ta variable existe toujours, et donc le isset() sera vérifié quelque soit le retour de ta requête.
Utilise plutôt empty() et une condition $utilisateur == 1 .

Et dernière chose, tu ne vérifie pas le contenu de $_POST['login']. Puisque ca vient d'un formulaire, il peut y avoir n'importe quoi dedans, y compris des caractères qui vont corrompre ta requête SQL (on appelle ca une injection SQL)
utilise la fonction mysql_real_escape_string comme ceci :
$uti = mysql_real_escape_string($_POST['login']);

A quel champ du formulaire fait référence le $_POST['user'] ? ce ne serait pas plutôt $_POST['login'] qu'il faut vérifier ?


Pour le reste, tu as bien compris le principe.

PS: j'ai peu de temps pour répondre, je suis donc allé à l'essentiel sans y mettre la forme ;)
0

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

Posez votre question
sfel Messages postés 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
5 mars 2008 à 15:44
a quel endroit bloques-tu, ou le programme bloque-t-il ??
0
MISS97200 Messages postés 186 Date d'inscription jeudi 21 juin 2007 Statut Membre Dernière intervention 26 mai 2008 11
5 mars 2008 à 16:01
en fait $_POST['user'] c'est la case où l'utilisateur rentre son nom d'identification et $_POST['mdp'] c'est la case où il rentre son mot de passe.

sinon le message d'erreur qui met retourné, c'est :
Parse error: parse error, unexpected T_IS_EQUAL, expecting ')' in C:\Program Files\EasyPHP 2.0b1\www\marchpub\index.php on line 23
0
sfel Messages postés 1640 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
5 mars 2008 à 17:27
bon alors, dans la partie de code que tu nous as donné, la ligne 23 est vide.

cependant, regarde la ligne 23 de index.php , il y a apparement une parenthèse que tu as oublié de refermer.
0
MISS97200 Messages postés 186 Date d'inscription jeudi 21 juin 2007 Statut Membre Dernière intervention 26 mai 2008 11
5 mars 2008 à 17:42
oui, c'est fait, j'ai corrigé mes erreurs, maintenant ma page s'affiche mais quand j'entre le nom d'utilisateur et le mot de passe, cela me redonne ma page vierge.
0
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
5 mars 2008 à 17:48
Je rentre chez moi d'ici 30min et on en reparle.
0
MISS97200 Messages postés 186 Date d'inscription jeudi 21 juin 2007 Statut Membre Dernière intervention 26 mai 2008 11
5 mars 2008 à 17:52
ok, mais je vais déposer ma voiture au garage et après je suis là.
Tu trouves que je comprends vite?
0
chico200987 Messages postés 791 Date d'inscription mardi 6 avril 2004 Statut Membre Dernière intervention 30 juillet 2018 143
5 mars 2008 à 18:02
Tu as des capacités pour réussir dans la programmation pour une fille... :)

(JE RIGOLE NE ME LAPIDEZ PAS :o)

Quand tu dis que celà te redonne ta page vierge, ça ne te redirige ni sur "accueil.php" ni "index.php?erreur=login" ?

Le formulaire est bien envoyé et il a bien une "METHOD" en POST et une "ACTION" sur la page où y'a ton script de vérif ?
0