HTML/PHP/AJAX/JS - [PHP] formularz i odpowiedź na jeden stronie
kevvin - 04-04-2008, 13:15 Temat postu: [PHP] formularz i odpowiedź na jeden stronie Cześć.
Mam formularz i 4 pola w nim, ogólnie to opiera się na zwykłej matematyce.
Pola:
nazwa, liczba, nazwa2, liczba2 i gdy klikamy Wyslij to wychodzi rezultat:
nazwa liczba / nazwa2 liczba2
i do kazdej liczby jest dodawane +25, ale gdy klikamy na Wyslij to przenosi nas na następną stronę i na następnej stronie ukazuje nam się wynik. Chciałbym zrobić tak że wszystko dzieje się w index.php wpisujesz dam dane, i klikasz wyślij to wyskakuje ci odpowiedź na tej samej stronie. A aktualnie mam tak że przenosi na 2 strone mnie:/
Kod index.php:
Kod: |
<form method="post">
Tekst 1: <input type="text" name="tekst1"/><br />
Liczba 1: <input type="text" name="liczba1"/><br />
Tekst 2: <input type="text" name="tekst2"/><br />
Liczba 2: <input type="text" name="liczba2" /><br />
<input type="submit" value="Oblicz" />
</form>
|
Co należy dodać/poprawić, aby uzyskać pożądany efekt?
Radek - 04-04-2008, 13:35
Kod: | <?php
if ( isset($HTTP_POST_VARS['submit']) && intval($HTTP_POST_VARS['liczba1']) && intval($HTTP_POST_VARS['liczba2']) && isset($HTTP_POST_VARS['tekst1']) && isset($HTTP_POST_VARS['tekst2']) )
{
// wykonuje sie jezeli formularz zostal wyslany
}
else
{
echo '<form method="post">
Tekst 1: <input type="text" name="tekst1"/><br />
Liczba 1: <input type="text" name="liczba1"/><br />
Tekst 2: <input type="text" name="tekst2"/><br />
Liczba 2: <input type="text" name="liczba2" /><br />
<input type="submit" value="Oblicz" name="submit" />
</form> ';
}
?>
|
Masz komentarz w odpowiednim miejscu, zamiast niego napisz sobie kod do dodawania, dzielenia czy co tam chcesz i wyświetl wynik.
kevvin - 04-04-2008, 13:46
RuseK, czyli jak ma całość (index.php) wyglądać?
Ten kod dodawania/odejmowania wygląda następująco:
Kod: |
$tekst1=$_POST['tekst1'];
$liczba1 = $_POST['liczba1'];
$tekst2=$_POST['tekst2'];
$liczba2 = $_POST['liczba2'];
echo 'Wynik dzialania wynosi ';
echo $tekst1 ,'+', $liczba1 - $liczba2 + 25, '/', $tekst2 ,'-', $liczba1 - $liczba2 + 25;
|
Wklejam go do index.php, wraz z tym kodem co ty mi podałeś
i mam puste pola, jeszcze nic nie wpisałem, a tu już piszę:
Wynik dzialania wynosi +25/-25
a ja chce żeby napis Wynik działania .. wyskoczył dopiero gdy klikniemy OBLICZ.
Centurion - 04-04-2008, 13:48
kevvin, musiałbyś użyc jakiegoś AJAXowego rozwiązania żeby wyświetlać wynik bez przeładowywania strony
Radek - 04-04-2008, 13:57
kevvin, zamaist tego wstaw.
Kod: | // wykonuje sie jezeli formularz zostal wyslany |
strona się przeładuje. Zrozumiałem, że twój formularz prowadzi np. na stronę 2.php a ty chcesz mieć wszystko na index.php. Jeżeli chodzi ci o formularz bez przeładowywania po wysłaniu, to tak jak mówi Centurion - Ajax.
|
|
|