
Envoyé par
julp
Je ne vois rien d'anormal dans la sortie que vous donnez.
- Est-ce que la requête SQL SELECT passe ? La requête UPDATE n'étant pas exécutée par la suite (Rajoutez le or die(mysql_error() pour vos requêtes)
- Vous devriez contrôler le résultat de votre SELECT (par exemple avec mysql_num_rows)
- Attention, il est possible pour l'utilisateur de prédire la clé puisqu'elle dépend de ses propres informations
- J'ignore si vous le faites déjà, mais avant de générer un lien en PHP il faut encoder les données passées en paramètre (fonction urlencode)
Oui la reponse est normal mais lorsque je fais ca :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| <?php
require ("admin/conf.php");
var_dump($_GET['pseudo']."<br /><br />");
if (isset($_GET['pseudo'])) {
var_dump($_GET['pseudo']."<br /><br />");
var_dump("SELECT * FROM `membre` WHERE Pseudo = '".$_GET['pseudo']."' AND Confirm = 'non' "."<br /><br />");
$verif = mysql_query("SELECT * FROM `membre` WHERE Pseudo = '".$_GET['pseudo']."' AND Confirm = 'non' ");
$row=mysql_fetch_array($verif);
$cle = md5($row['Pseudo'].$row['Passe'].$row['Email']);
if ($cle == $_GET['cle']) {
var_dump("UPDATE membre SET Confirm = 'oui' WHERE Pseudo = '".$_GET['pseudo']."' ");
$valide = "UPDATE membre SET Confirm = 'oui' WHERE Pseudo = '".$_GET['pseudo']."' ";
$test = mysql_query($valide) or die("erreur ! ".mysql_error());
echo "<b>Inscription finalisée avec succès !<br /><br />
<a href=\"index.php\">Retour a l'index</a>";
}else{
echo "lien incorrect : <a href=".$_SESSION['UrlBase']."index.php>Retour a l'index</a>";
}
}else{
echo "lien incorrect : <a href=".$_SESSION['UrlBase']."index.php\">Retour a l'index</a>";
}
?> |
Est-ce que la requête SQL SELECT passe ? La requête UPDATE n'étant pas exécutée par la suite (Rajoutez le or die(mysql_error() pour vos requêtes) :
La reponse est non:
1 2
| Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\***\membre_valid_inscrip.php on line 130
lien incorrect : Retour a l'index |
lorsque je met un or die il me retourne :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's-tOy' AND Confirm = 'non'' at line 1
[*] Attention, il est possible pour l'utilisateur de prédire la clé puisqu'elle dépend de ses propres informations
L'utilisateur ne sait pas comment est formée la clef md5 et ne peux donc pas la reproduire
[*] J'ignore si vous le faites déjà, mais avant de générer un lien en PHP il faut encoder les données passées en paramètre (fonction urlencode)
Non je ne savais pas qu'il était nécessaire d'encoder l'url je me planche dessus.
J'ai bien compris que l'url est sans \ et que je dois les supprimer mais lors d'une requete SQL il est impossible de garder un ' puisque la requete se fait entre 2 '.
Comment faire ?
Merci pour vos reponses
Partager