Probleme rafraichissement

Fermé
helloworld95 - 31 oct. 2017 à 16:37
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 1 nov. 2017 à 22:33
Bonjour,

J'aimerai créer un mini captcha avec un petit calcul arithmétique simple pour ajouter un nouveau compte dans une base sql. Tout fonctionne sauf que, quand je clique sur ajouter un nouveau compte, Le nombre ce met à jour et donc le nombre envoyer ne correspond plus au résultat du calcul.

Si quelqu'un sait comment faire ?

Merci

<?php

public function run(){
	
		$notification = "";
	
		$nr1 = rand(1, 10);
		$nr2 = rand(1, 10);

		$correctAnswer = $nr1 + $nr2;
		
		if (!empty($_POST)){

			$username = $_POST['username'];
			$password1 = $_POST['password1'];
			$password2 = $_POST['password2'];
			$userCaptcha = $_POST['captcha'];

				if ($correctAnswer == $userCaptcha){
						$notification = "Ok";
					}else{
						$notification= "Captcha fail";
					}
	
		}
		
		
}
?>




				<label>Security check : </label>
				<p>How much are <?php echo $nr1 ?> + <?php echo $nr2 ?> ?</p>
				<input class="form-control" type="text" name="captcha" placeholder="" required=""><br>
				<input id="margin_button"  type="submit" class="btn btn-primary btn-block" name="submit_login" value="Create account">



1 réponse

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
31 oct. 2017 à 16:50
Bonjour,

Plutôt que de regénérer tes variables nr1 et nr2 dans ta fonction.... stockes les en variable de session lors de leur initialisation puis récupère les dans ta fonction.
0
helloworld95
1 nov. 2017 à 20:57
Merci mais le problème est toujours la, quand je post mes variables de session se réinitialisent et donc le résultat change
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > helloworld95
1 nov. 2017 à 21:06
Fais donc voir ton code modifié...
Tu as certainement pas revu le modèle comme il fallait
0
helloworld95
1 nov. 2017 à 21:11
public function run(){
	
		$notification = "";
	
		$_SESSION['nr1'] = rand(1, 10);
		$_SESSION['nr2'] = rand(1, 10);

		$correctAnswer = $_SESSION['nr1'] + $_SESSION['nr2'];
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > helloworld95
1 nov. 2017 à 21:26
Ton code COMPLET
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649 > jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024
1 nov. 2017 à 22:33
Y compris avec le HTML
0