récupérer un Login

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : récupérer un Login

ça marche!

par caco » 19 avr. 2007, 18:55

Et oui vous aviez bien raison! :pouce:
1. Même si mon code est faux, les choses avancent plus vite si je le poste.
2. Avec
 <?php 
... 

//S'il y a exactement un résultat, l'utilisateur est authentifié, sinon, on l'empêche d'entrer 
if($num_rows == 1) {  
  $_SESSION['Login'] = $_POST['Login']; 
  header("Location:message.php");  
}  
else {  
  echo 'identifiant ou mot de passe invalide.';  
}  
?>
ça fonctionne!

Merci beaucoup pour votre aide! Cela faisait un long moment que je testais les tutoriels et que je fouillais les documentations dans tous les sens, et il me manquaient ces bons conseils! :D

par Ryle » 19 avr. 2007, 12:38

Hum.. je pense que ton soucis provient du $Login que tu mets en session au lieu de $_POST['Login'] (ou du login retourné par la requête). Tu ne devrais d'ailleurs le faire qu'à condition que l'authentification soit réussie :
<?php
...

//S'il y a exactement un résultat, l'utilisateur est authentifié, sinon, on l'empêche d'entrer 
if($num_rows == 1) { 
  $_SESSION['Login'] = $_POST['Login'];
  header("Location:message.php"); 
} 
else { 
  echo 'identifiant ou mot de passe invalide.'; 
} 
?> 

Je te recommande par ailleurs, pour éviter des surprises plus tard, de mettre un exit() juste après le header() afin qu'il arrête l'exécution du code à la redirection

par caco » 19 avr. 2007, 11:30

je dois m'embrouiller quelque part dans mon code...
J'en profite pour vous demander comment faire pour diriger automatiquement l'utilisateur connecté vers une page précise?
faut-il faire:
header("Location: http://message.php");


Avec ça je devrais pouvoir vous dire plus clairement où j'en suis et si ça fonctionne...

en fait voici le script de ma page pour l'authentification (je vous mets tout même le html comme ça vous pourrez me dire si session_start() est bien placé..)

Code : Tout sélectionner

<? session_start(); ?> <!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>Document sans titre</title> </head> <STYLE> body{ background-color: #6699FF; } </STYLE> <body> <?php include("connexion.php"); //Connection à mysql et sélection de la base de données $select = mysql_select_db($utilisateur); //Préparation de la requête et cryptage du mot de passe $query = "SELECT * FROM utilisateur WHERE Login='".mysql_real_escape_string($_POST['Login'])."' AND MotPasse='".md5($_POST['MotPasse'])."'"; //exécution de la requête et récupération du nombre de résultats $result = mysql_query($query) or die('erreur '.mysql_error()); $num_rows = mysql_num_rows($result); //S'il y a exactement un résultat, l'utilisateur est authentifié, sinon, on l'empêche d'entrer if($num_rows == 1) { header("Location:message.php"); } else { echo 'identifiant ou mot de passe invalide.'; } { $_SESSION['Login'] = $Login; } ?> </body> </html>

par Cyrano » 19 avr. 2007, 08:01

Même si tu sais que ton code est faux, ce serait toujours un point de départ. On verrait par exemple comment tu gères ta session et comment tu tentes de manipuler tes données.

récupérer un Login

par caco » 19 avr. 2007, 02:14

Bonjour,

Je fais appel à votre grande connaissance pour m'aider à résoudre un problème. :-D

Je cherche désespérément comment faire pour récupérer un Login d'un utilisateur. Voilà le cheminement:
1) L'utilisateur se connecte à un forum (Login et mot de passe)
2) Il va sur le forum désiré et décide de poster un message
3) c'est à ce niveau que je voudrais récupérer son Login et l'insérer dans la base de données.

J'ai fais des recherches et d'inombrables essais, mais rien ne fonctionne. Il me semble qu'il faut utiliser les sessions. J'ai alors essayer d'enregistrer la variable Login (grâce aux sessions)au moment de l'authentification et de la récupérer au moment de l'envoi du message (en même temps que tous les autres champs du formulaire), mais je bloque à un endroit et je vais finir par me taper la tête contre les murs!
Je ne vous propose même pas le code que j'ai essayé car je suis certaine que ça embrouillerait plus qu'autre chose. Je préfère partir à neuf avec vos bons conseils et exemples...


Merci!