Wyswietlanie wyniku formularza na tej samej stronie

0

Witam. Dopiero zaczynam przygode z php. Mam takie zadanie zrobic prosty kalkulator, ktory ma wyswietlic wynik na tej samej stronie, pod formularzem, po przeslaniu danych.
Zrobilem tak, ze wyswiela wynik na nowej stronie i moje pytanie jak to zrobic zeby bylo zgodnie z poleceniem zadania?

zad3.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> zad3 </title>
<meta name="Generator" content="Alleycode HTML Editor">
<meta name="Description" content="Your description here...">
<meta name="Keywords" content="Your keywords here...">
</head>

<body>

<form action="kalk.php" method="post">
<input type="text" name="l1"/>
<input type="text" name="l2"/>
<br>
<input type="submit" name="dzialanie" value="dodaj"/>
<input type="submit" name="dzialanie" value="odejmij"/>
<input type="submit" name="dzialanie" value="pomnoz"/>
<input type="submit" name="dzialanie" value="podziel"/>
</form>

</body>
</html>

kalk.php

<?php

switch($_POST['dzialanie'])
{
	case 'dodaj': 
	echo "Wynik dodawania: " ; echo $_POST['l1'] + $_POST['l2'];
	break;
	
	case 'odejmij':
	echo "Wynik odejmowania: " ; echo $_POST['l1'] - $_POST['l2'];
	break;
	
	case 'pomnoz':
	echo "Wynik mnozenia: " ; echo $_POST['l1'] * $_POST['l2'];
	break;
	
	case 'podziel':
	if ($_POST['l2'] == 0)
	{
		echo 'Nie mozna dzielic przez 0.';
		break;
	}
	echo "Wynik dzielenia: " ; echo $_POST['l1'] / $_POST['l2'];
}
?>
0

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> zad3 </title>
<meta name="Generator" content="Alleycode HTML Editor">
<meta name="Description" content="Your description here...">
<meta name="Keywords" content="Your keywords here...">
</head>
 
<body>
 
<form action="" method="post">
<input type="text" name="l1"/>
<input type="text" name="l2"/>
<br>
<input type="submit" name="dzialanie" value="dodaj"/>
<input type="submit" name="dzialanie" value="odejmij"/>
<input type="submit" name="dzialanie" value="pomnoz"/>
<input type="submit" name="dzialanie" value="podziel"/>
</form>
 
<?php
switch($_POST['dzialanie'])
{
        case 'dodaj': 
        echo "Wynik dodawania: " ; echo $_POST['l1'] + $_POST['l2'];
        break;
 
        case 'odejmij':
        echo "Wynik odejmowania: " ; echo $_POST['l1'] - $_POST['l2'];
        break;
 
        case 'pomnoz':
        echo "Wynik mnozenia: " ; echo $_POST['l1'] * $_POST['l2'];
        break;
 
        case 'podziel':
        if ($_POST['l2'] == 0)
        {
                echo 'Nie mozna dzielic przez 0.';
                break;
        }
        echo "Wynik dzielenia: " ; echo $_POST['l1'] / $_POST['l2'];
}
?>

</body>
</html>

zapisz to w dowolnym pliku php

0

Proszę o pomoc czy te dwa pliki można razem połaczyć aby wynik wyświetlał się na jednej stronie?

dodaj.php

<?php
if ($_POST['button'] == "wyslij") {
/* sprawdzam czy dane zostały wysłane z formularza */
  $plik = "db.txt";
  if (is_writeable($plik)) {
  /* sprawdzam czy plik jest do zapisu */
    if (!$handle = fopen($plik, "w+")) echo "Nie mogę otworzyć pliku...";
    if (fwrite($handle, $_POST['rpb']." || ".$_POST['rwb']." 
")=== FALSE) echo "Nie mogę zapisać danych do pliku...";
      else 

	//echo "Dane zostały dodane...";

	echo '<a href="pokaz.php" >Teraz możesz sprawdzić klikaj&#261;c TUTAJ :) </a>.';

    fclose($handle);
    
    
  } else echo "Plik nie istnieje lub jest nie do zapisu...";
}



?>

<form action="dodaj.php" method="post">
Rozmiar pb: <input type="text" name="rpb" /><br />
Rozmiar wb: <input type="text" name="rwb" /><br />
<input type="submit" name="button" value="wyslij" />
</form>
 

pokaz.php

<?php
$plik = "db.txt";
$dane = file($plik); /* pobieram dane z pliku i zapisuje do tablicy (linia = rekord) */

for($i=0;$i<count($dane);$i++) { /* przeszukuję tablicę */

  list($rpb[$i], $rwb[$i],) = explode(" || ", $dane[$i]);
   /* dziele linię na tablicę i zapisuje dane do odpowiednich zmienncyh */
}



for($i=0;$i<count($rpb);$i++) /* przeszukuję tablicę */

if (( $rpb[$i] >= 63 and $rpb[$i] <= 67) &&  ( $rwb[$i] >= 77 and $rwb[$i] <= 79))

  		echo "651";

elseif (( $rpb[$i] >= 63 and $rpb[$i] <= 67) &&  ($rwb[$i] >= 79 and $rwb[$i] <= 81))

  		echo "652";

else
		echo "zero";


?>
 
0

Tylko wtedy wszystko wykonuje się w tym samym czasie.
A najpierw powinno być wpisanie przez użytkownika danych a potem dopiero dopiero wyniku :(

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