Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Banalny problem z formularzem
Forum PHP.pl > Forum > Przedszkole
renault12
Witam!

Mam taki maly problemik dotyczacy wlasnie formularza posiadajacy kilka linijek, gdzie celem moim jest osiagniecie tego aby po wyslaniu danych przez metode post potem ja odczytac lecz aby w chwili wyswietlania wynikow formularz juz nie byl widoczny, nie wiem jak to prosto zrobic, nasuwaja mi sie tylko pomysly gdzie trzeba duzo pisac a mysle ze nie wymaga to duzo czasu.

Oto kod
  1. <form action="#" method="post">
  2. Wzrost: <input name="tekst" type="text" size="3" maxlength="3" />cm
  3. <br>Waga:
  4. <input name="tekst2" type="text" size="3" maxlength="3" />kg
  5. <br>Wiek: <input name="tekst3" type="text" size="2" maxlength="2" />lat
  6. <br><input name="tekst4" type="text" size="3" maxlength="3" /> blablabla
  7. <br><input name="wyslij" type="submit" value="Enter">
  8. </form>
  9. <?
  10. $tekst = $_POST['tekst'];
  11. echo $tekst;
  12. ?>
Ulysess
hmm w action zrób nazwa_pliku.php?walidacja=1

przed formularzem dać warunek

  1. if(empty($_GET['walidacja']))
  2. {
  3. // tutaj wstaw formularz
  4. }
  5.  
  6. if($_GET['walidacja'] == 1)
  7. {
  8. // tutaj walidacja
  9. }
lukasz91
a nie lepiej dać ukryty input i sprawdzać po $_POST?
renault12
Udalo mi sie i wynik wyswietla sie na czystej bialej stronie, poniewaz w action dalem adres pliku ktory jest zincludowany do indexa. Jak zrobic by wyswietlal sie w tym samym ukladzie gdzie jest formularz?
Chodzi mi o to aby wynik pokazywal sie zamiast tego formularza a nie przenosil na inna strone.

Kod gdzie includowany jest plik z formularzem :

  1. <body class="oneColElsCtr">
  2. <div id="mainContent">
  3. <?php
  4. $id = isset($_REQUEST['id'])?$_REQUEST['id']:"0";
  5. // lub puste lub null
  6.  
  7. switch ($id){
  8. case "1": include "power.php"; break;
  9. }
  10.  
  11. ?>
  12. <h4><a href="index.php?id=1">Formularz</a></h4>
  13. <!-- end #mainContent -->
  14. </div>


Aktualny kod z formularzem :
  1. <?
  2. if(empty($_GET['wali']))
  3. {
  4. ?>
  5. <form action="power.php?wali=1" method="post">
  6. Wzrost: <input name="tekst" type="text" size="3" maxlength="3" />cm
  7. <br>Waga:
  8. <input name="tekst2" type="text" size="3" maxlength="3" />kg
  9. <br>Wiek: <input name="tekst3" type="text" size="2" maxlength="2" />lat
  10. <br><input name="tekst4" type="text" size="3" maxlength="3" /> ghg
  11. <br><input name="wyslij" type="submit" value="Enter">
  12. </form>
  13. <? } ?>
  14. <?
  15. if($_GET['wali'] == 1) {
  16. $tekst = $_POST['tekst'];
  17. $tekst2 = $_POST['tekst2'];
  18. $tekst3 = $_POST['tekst3'];
  19. $tekst4 = $_POST['tekst4'];
  20. if (isset ($tekst)) {
  21. $dzial = $tekst * $tekst2 * $tekst3 / $tekst4 * 100;
  22. echo round($dzial, -2);
  23. }
  24. }
  25. ?>
Ulysess
hmm ten skrypt to na pewno index.php questionmark.gif wyskakuje jakiś błąd bo mi działa , możliwe że masz wyłączone wyświetlanie błędu a taki się pojawi jeżeli które kol wiek pole będzie puste . jakie zastosowanie ma mieć ten skrypt ?
sadistic_son
Nic prostszego:
  1. <?
  2. if(!isset($_POST['wyslij'])){
  3. ?>
  4. <form action="#" method="post">
  5. Wzrost: <input name="tekst" type="text" size="3" maxlength="3" />cm
  6. <br>Waga:
  7. <input name="tekst2" type="text" size="3" maxlength="3" />kg
  8. <br>Wiek: <input name="tekst3" type="text" size="2" maxlength="2" />lat
  9. <br><input name="tekst4" type="text" size="3" maxlength="3" /> blablabla
  10. <br><input name="wyslij" type="submit" value="Enter">
  11. </form>
  12. <?
  13. }
  14. else{
  15. $tekst = $_POST['tekst'];
  16. echo $tekst;
  17. }
  18. ?>
renault12
Mam jeszcze jedno pytanie, natomiast jak zrobic aby po wyswietleniu danych znikl tez rowniez napis "formularz" ktory jest podlinkowany i umieszczony w pliku index.php.
Ulysess
w warunku daj ten napis
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.