webForumDet fria alternativet

gissa talet program

PHP

5 svar · 1 290 visningar · startad av Sanji

Medlem sedan juli 2009355 inlägg
Frågan#1

Hej! jag försöker skriva en php-applikation där man väljer mellan vilka två tal man ska slumpa, och sedan ska man gissa sig fram till vilket talet är. Jag får dock inte igång på det. det verkar inte som att mina $_POST variablar får något värde, är det någon som kan se vad jag gör för fel?

<?php 
session_start();
if(isset($_SESSION['slumptal']))
{
$slumptal = $_SESSION['slumptal'];
}
else
{
if($_POST['txtMin'] != "" && $_POST['txtMax'] != "")
$_SESSION['slumptal'] = rand($_POST['txtMin'], $_POST['txtMax']);
$slumptal = $_SESSION['slumptal'];
echo $slumptal;
}
if(isset($_POST['txtGuess']))
{
if($_POST['txtGuess'] == $_SESSION['slumptal'])
{
echo "Du klarade det!";
}
else
{
if($_POST['txtGuess'] < $_SESSION['slumptal'])
{
echo "du gissade fel! din gissning:". $_POST['txtGuess']. ". Talet är större!";
}
else{
echo "du gissade fel! din gissning:". $_POST['txtGuess']. ". Talet är mindre!";
}
}
}
?>
<form action="gissatalet.php" method="post">
Slumpa
<b>Från: </b> <input type="text" id="txtMin"  />
<b> Till: </b><input type="text" id="txtMax"  />
<input type="submit" value="Slumpa Tal" />
</form>
<br />
<br />
<br />
<form action="gissatalet.php">
<b>Gissa: </b><input type="text" id="txtGuess" name="txtGuess"  />
<input type="submit" id="btnGuess" value="Gissa Tal" />
</form>

så här ser hela sidan ut!

Mvh

Medlem sedan jan. 2005953 inlägg
#2

Du har inte satt method="post" på ditt andra formulär, så det kommer att skickas som GET.

Medlem sedan juli 2009355 inlägg
#3

såg att jag glömt method="post" på nedersta formen, men det hoppar ändå inte igång. Dock ser jag värdet jag skrivit in i gissa-textboxen i url-en, så den verkar ju skicka med rätt i alla fall.

Medlem sedan jan. 2005953 inlägg
#4

Du saknar också name="txtMin" respektive name="txtMax" på dina input-fält.

Medlem sedan juli 2009355 inlägg
#5

aha! Tackar, det löste problemet!

Mvh

Medlem sedan juni 20014 290 inlägg
#6

Sanji skrev:

såg att jag glömt method="post" på nedersta formen, men det hoppar ändå inte igång. Dock ser jag värdet jag skrivit in i gissa-textboxen i url-en, så den verkar ju skicka med rätt i alla fall.

Ser du värdet i url'en så skickar du med GET inte POST.

Med POST så syns inget i URL'en.

Sedan är det som metalboy skriver, du har glömt att namnge inputfälten.

Som felsökning så kan du skriva ut hela $_POST arrayen med print_r($_POST); så ser du vad php skriptet får för värden.

256 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)