Probleme rafraichissement

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

  1. Modérateur
    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.
    1. Merci mais le problème est toujours la, quand je post mes variables de session se réinitialisent et donc le résultat change
    2. Modérateur
      @helloworld95Fais donc voir ton code modifié...
      Tu as certainement pas revu le modèle comme il fallait
    3. public function run(){
      	
      		$notification = "";
      	
      		$_SESSION['nr1'] = rand(1, 10);
      		$_SESSION['nr2'] = rand(1, 10);
      
      		$correctAnswer = $_SESSION['nr1'] + $_SESSION['nr2'];