Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem
Forum PHP.pl > Forum > PHP
MrPey
Witam!
Dopiero zaczynam programować w php i natknąłem się na problem.
Chciałbym zrobić, że pokazuje 2 wylosowane cyfry z tablicy i muszę podać ich wynik do formularza.
Kod
<?

$a = array(1 => 2, 3, 4, 5, 6);
$b= array(1 => 2, 3, 4, 5, 6);
$aa = $a[rand(1,5)];
$bb = $b[rand(1,5)];
$wynik = $_POST['wynik'];
$dodac = $aa + $bb;

echo "".$aa."
";
echo "".$bb."
";
echo "".$dodac."";

     if ($dodac == $_POST['wynik'])
     {
         echo "dziala";
     }
    
     elseif ($dodac != !isset($wynik)) {
         echo "nie dziala";
     }
    
     else {}

     ?>
     <form action="" method="POST">
         <input type="text" name="wynik">

         <input type="submit" value="ok">
     </form>
     <?



?>

Jednak program chce wynik z przyszłych wylosowanych cyfr, więc musiałbym przewidzieć wynik, a ja chce z aktualnych cyfr.
piotrooo89
ale masz funkcje do losowania:
array_rand
i
shuffle
MrPey
Nie pomogłeś. Szukam konkretnej pomocy, wyjaśnienia co jest nie tak.
piotrooo89
  1. <input type="text" name="wynik" value="<? echo $dodac ?>" >


btw. krzyczysz na mnie, i oczekujesz pomocy. mogłem się pomylić?
Fifi209
Ja rozumiem że chodzi o coś jakby token ;d

Zapisz do sesji i potem porównaj (po przesłaniu formularza)
MrPey
Cytat
Zapisz do sesji i potem porównaj (po przesłaniu formularza)

napisałem, że dopiero zaczyna programować w php, także nie wiem jak zapisać do sesji. Mógłbym prosić o gotowe rozwiązanie?
Fifi209
Jeżeli się uczysz to na gotowych rozwiązaniach słabo Ci to pójdzie. Weź sobie google.pl znajdź kurs php i rozdział o sesjach.

Bo co z tego że powiem wystartuj sesję? session_start()" title="Zobacz w manualu PHP" target="_manual

Zapisz dane?
Kod
$_SESSION['form'] = 'string';


itd.
MrPey
Kod
<?
session_start();

$_SESSION['a'] = rand(1,4);
$_SESSION['b'] = rand(1,4);
$dodaj = $_SESSION['a'] = rand(1,4) + $_SESSION['b'] = rand(1,4);


if ($dodaj == $_POST['wynik'])
{
    echo "ok"."<br>";
}

else
{
    echo nie;
}

echo $dodaj;
?>
<form action="" method="post">
<input type="text" name="wynik"><br>
<input type="submit" value="ok">
</form>
<?

?>

zapisałem tak i nic ;/
Fifi209
  1. <?php
  2.  
  3. function losuj() {
  4. $_SESSION['int'] = array(rand(1,4), rand(1,4));
  5. }
  6.  
  7.    if (!empty($_SESSION['int'])) {
  8.        if (empty($_GET['wynik'])) {
  9.            echo $_SESSION['int'][0].'<br>';
  10.            echo $_SESSION['int'][1].'<br>';
  11.            echo '<form method="GET">
  12.            <input type="text" name="wynik">
  13.            <input type="submit" value="Sprawdz">
  14.            </form>';
  15.        }else{
  16.            $wyn = $_SESSION['int'][0] + $_SESSION['int'][1];
  17.            if ($wyn == $_GET['wynik']) {
  18.                echo 'ok';
  19.                echo '<br/><a href="#" onclick="history.back();">Powrót</a>';
  20.                losuj();
  21.            }else{
  22.                echo '!ok';
  23.                echo '<br/><a href="#" onclick="history.back();">Powrót</a>';
  24.                losuj();
  25.            }
  26.        }
  27.    }else{
  28.        losuj();
  29.    }
  30. ?>


Proszę ;d
MrPey
Cytat
Proszę ;d

Dziękuję smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.