Submit cofa zamiast wysylac

0

Moj problem polega na tym, ze posiadam dwa formularze jeden przekierowuje do drugiego (wszystko w jednym pliku) i chce aby w drugim formularzu po wprowadzeniu danych nastapilo obliczenie i wyswietlenie wyniku, ale cofa mnie "do 1" czyli do wyboru. (na razie probuje zrobic Pole Całkowite, wiec inne przyklady nie dzialaja, wiec mecze sie jeszcze z pierwszym casem :()
przyklad: http://www.krisp123.cba.pl/d/?q=node/8#
kod:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<table>
<tr align="center">
<tr>
<th></th>
<th>Dane</th>
<th>Figura</th>
</tr>
<td><b>Podaj liczby:</b></td> 
<td>
<form method='POST'>
<select name="demo">
<option value="1">Pole Całkowite</option>
<option value="2">Objętość</option>
<option value="3">Przekątna</option>
<option value="4">Długość krawędzi</option>
</select>
<input type="Submit" name="Submit2" value="Wybierz">
</form>

<?php
switch($_POST['demo']) 
{
case '1':
if( isset($_POST['Submit1']))
{
$something = $_GET['liczba'];
echo "Pole całkowite dla a= ";
echo $something;
echo "to: ";
$wynik = pow($something,2)*6;
echo $wynik;
}
echo "<form name='demo2'  method='POST'>
        <b>Podaj a: <input type='number' name='liczba' value='Wpisz liczbę'>
        <input type='Submit' name='Submit1' value='Licz'>
</form>";

break;
case '2':
echo "<form method='POST'>
        <b>Podaj a: <input type='number' name='liczba' value='Wpisz liczbę'>
        <input type='submit' name='Obli' value='Oblicz'><br>";
break;
case '3':
echo "<form method='POST'>
        <b>Podaj a: <input type='number' name='liczba' value='Wpisz liczbę'>
        <input type='submit' name='Obli' value='Oblicz'><br>";
break;
case '4':
echo "<form method='POST'>
        <b>Podaj a: <input type='number' name='liczba' value='Wpisz liczbę'>
        <input type='submit' name='Obli' value='Oblicz'><br>";
break;
}
?>
</td>	
<td><img src="http://pl.numberempire.com/shapes/images/cube_main.png" width="150" height="150"></td>
</tr>
<tr>
<td colspan="3">
</td>
</tr>
</table>
</body>
</html>
0

W drugim formie (tym z name="demo2") brakuje Ci inputa z name="demo", przez co nie masz w POST zmiennej 'demo'. Włącz sobie raportowanie błędów E_ALL, będziesz widział notice'y w takich sytuacjach i będzie Ci łatwiej debugować.

0

dodalem

 <input type='hidden' name='demo'>

ten kawalek wyglada tak:

 
<form name='demo2'  method='POST'>
        <b>Podaj a: <input type='number' name='liczba' value='Wpisz liczbę'>
        <input type='Submit' name='Submit1' value='Licz'>
        <input type='hidden' name='demo'>

ale nadal jest to samo, chyba ze nie dokladnie oto chodzilo

0

a value? doczytaj sobie dokładnie jak działają formularze w HTML, bo chyba masz braki ;) w skrócie - po submicie formularza POSTem masz tablicę $_POST z zawartością taką jak 'NAME z formularza' => 'VALUE z formularza', więc chcąc mieć zmienną $_POST['demo'] = 2 musisz zrobić <input type="hidden" name="demo" value="2" />

1 użytkowników online, w tym zalogowanych: 0, gości: 1