Proste obliczenia w php


(Marlip) #1

Witam. Chciałem zrobić pewien skrypt w php który generuje 2 losowe liczby w zakresie 1 - 10 , mnoży je przez siebie i sprawdza czy uzytkownik wpisał poprawny wynik. Problem jest w tym że gdy użytkownik wciśnie przycisk sprawdź to są generowane nowe liczby i użytkownik cały czas dostaje komunikat o złej liczbie. 

Mój skrypt wygląda tak (użyte są stałe liczby bo tak skrypt działa bez zarzutów):

<?php

    session_start();

	$a = '4';

	$b = '8';

				

    if (isset($_POST['button'])) {

	  $prawidlowy = $a * $b;

	  $wynik = $_POST['wynik'];		

      if ($prawidlowy == $wynik) { 

	  	$_SESSION['ok'] = '<p>Udało się! :)</p>';

	  } else { 

		$_SESSION['blad'] = '<p>Źle :(</p>'; 

		}

	}

?>

 


(Fizyda) #2

Zrób coś takiego:

if(isset($_SESSION['avalue']) && isset($_SESSION['bvalue']) && isset($_POST['button']))

{

	$prawidlowy = $_SESSION['avalue'] * $_SESSION['bvalue'];



	$wynik = $_POST['wynik'];		

	

	// dalej Twoj kod sprawdzajacy wynik

	// wyswietlenie wyniku



	unset($_SESSION['avalue']);

	unset($_SESSION['bvalue']);

}

else

{

	// losowanie liczb i zapisanie ich do sesji

	// wyswietlenie calego interfejsu do zgadywania liczby

}

 


(Marlip) #3

Działa :slight_smile: Dziękuje za pomoc


(Fizyda) #4

Pamiętaj jednak że takie rozwiązanie, nie jest bezpieczne i można oszukać skrypt.