A voir également:
- Session & random, php
- Easy php - Télécharger - Divers Web & Internet
- Facebook session expirée ✓ - Forum Facebook
- Estelle vient de verrouiller sa session d'ordinateur. que peut-on dire ? ✓ - Forum Windows 7
- Veuillez ouvrir une session avec les privilèges du gestionnaire ✓ - Forum Jeux vidéo
- Estelle vient de verrouiller sa session d’ordinateur. que peut-on dire ? ✓ - Forum Windows
3 réponses
Utilisateur anonyme
17 juil. 2012 à 01:07
17 juil. 2012 à 01:07
Bonjour
Le problème, c'est que tu crées ton code :
onclick="testCaptcha(document.volunteer.captcha.value,<?php echo $_SESSION ['captcha'];?>)" />
dans le serveur en créant la page qui contient le captcha.
À ce moment là, l'image du captcha n'est pas encore créée : elle ne le sera que quand le navigateur du client inteptètera la balise <img src="captcha.php" />.
Donc le $_SESSION ['captcha'] que tu as mis ne correspond pas à celui de l'image, puisque l'image le modifiera quand elle sera créée.
De plus, le code que tu essayais de mettre en place était une aberration au niveau de la protection: le code du captcha y apparaissait en clair chez le visiteur, autant dire que tu laissais la clef sur le cadenas.
Le mieux est de soumettre un formulaire et de tester en PHP, comme ça la valeur de $_SESSION ['captcha'] sera bien la bonne et ne sortira pas du serveur.
Le problème, c'est que tu crées ton code :
onclick="testCaptcha(document.volunteer.captcha.value,<?php echo $_SESSION ['captcha'];?>)" />
dans le serveur en créant la page qui contient le captcha.
À ce moment là, l'image du captcha n'est pas encore créée : elle ne le sera que quand le navigateur du client inteptètera la balise <img src="captcha.php" />.
Donc le $_SESSION ['captcha'] que tu as mis ne correspond pas à celui de l'image, puisque l'image le modifiera quand elle sera créée.
De plus, le code que tu essayais de mettre en place était une aberration au niveau de la protection: le code du captcha y apparaissait en clair chez le visiteur, autant dire que tu laissais la clef sur le cadenas.
Le mieux est de soumettre un formulaire et de tester en PHP, comme ça la valeur de $_SESSION ['captcha'] sera bien la bonne et ne sortira pas du serveur.
Utilisateur anonyme
18 juil. 2012 à 00:17
18 juil. 2012 à 00:17
- Tu enlèves le volunteer.js qui ne sert plus à rien
- Tu mets le champ de saisie dans un formulaire normal, c'est à dire entre balises <form> et </form>, avec method POST de préférence (mais ça marcherait aussi avec GET) et un <input type ="submit"> pour valider le formulaire (pas de javascript)
- Dans le script qui reçoit le formulaire, tu vérifies que $_POST['captcha'] == $_SESSION['captcha']
- Tu mets le champ de saisie dans un formulaire normal, c'est à dire entre balises <form> et </form>, avec method POST de préférence (mais ça marcherait aussi avec GET) et un <input type ="submit"> pour valider le formulaire (pas de javascript)
- Dans le script qui reçoit le formulaire, tu vérifies que $_POST['captcha'] == $_SESSION['captcha']