Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: formularz - reakcja na buttona
Forum PHP.pl > Forum > Przedszkole
marecki33
Chcę aby po kliknięciu w przycisk uruchamiał się kod PHP ten w cudzysłowiu po ACTION.. Niestety zero reakcji.

<form method="post" action="
<?php
$plik = "baza.txt";
$dane = file($plik); /* pobieram dane z pliku i zapisuje do tablicy (linia = rekord) */
if ((isset($_POST['nazw'])) AND (trim($_POST['nazw']) != "")) {
/* sprawdzam czy zmienna została zainicjonowana i czy jej wartość nie jest pusta */
for($i=0;$i<count($dane);$i++) /* przeszukuję tablicę */
list($imie[$i], $nazwisko[$i], $miejscowosc[$i]) = explode(" || ", $dane[$i]);
/* dziele linię na tablicę i zapisuje dane do odpowiednich zmienncyh */

for($i=0;$i<count($nazwisko);$i++)
if (strpos($imie[$i],$_POST['nazw']) !== false)
/* sprawdzam czy szukany ciąg znaków znajduje się w zmiennej $nazwisko[$i] */
echo $imie[$i]." ".$nazwisko[$i].", ".$miejscowosc[$i]."<br />";
/* wyświetlam dane w ktore spelnialy powyzszy warunek */
}
?>
" >
Podaj szukane nazwisko: <input type="text" name="nazw" />
<input type="submit" name="button" value="szukaj" />
</form>

Dodam że w oryginale kod w cudzysłowiu po ACTION tworzy osobny plik SZUKAJ.PHP i wtedy kod formularza to :
<form action="szukaj.php" method="post">
Podaj szukane nazwisko: <input type="text" name="nazw" />
<input type="submit" name="button" value="szukaj" />
</form>


I jeszcze jedno pytanie. Dlaczego w przypadku oryginału (czyli gdy skrypt jest uruchamiany z SZUKAJ.PHP)
wyniki wyświetlane są na nowej stronie. Ja bym chciał żeby wyświetliły się poniżej buttona
zelu
Po pierwsze.... umieść kod w znacznikach :/

Po 2 poczytaj o tym jak się tworzy formularze i jak się z nimi obchodzić pod PHP bo ja osobiście nigdy nie słyszałem, żeby dawać kod PHP w action formularza... No ale może jeszcze za mało umiem winksmiley.jpg


Pozdro
marecki33
Wydaje mi się że jest w znacznikach. No i sam nie wiem czy tak można wstawić kod. Głównie chodzi mi o to jak zrobić aby wyniki po wykonaniu skryptu wyświetlały się poniżej, a nie na nowej stronie...
outsider
W action nie moze byc kodu, tylko skrypt ktora ma sie wykonac, ja osobiscie go zadko podaje - wtedy robi sie tzw. refresh (nie przechodzi do nowej strony)

EDIT:

  1. <form method="post">
  2. Podaj szukane nazwisko: <input type="text" name="nazw" />
  3. <input type="submit" name="button" value="szukaj" />
  4. </form>
  5.  
  6. <?php
  7. $plik = "baza.txt";
  8. $dane = file($plik); /* pobieram dane z pliku i zapisuje do tablicy (linia = rekord) */
  9. if ((isset($_POST['nazw'])) AND (trim($_POST['nazw']) != "")) {
  10. /* sprawdzam czy zmienna została zainicjonowana i czy jej wartość nie jest pusta */
  11. for($i=0;$i<count($dane);$i++) /* przeszukuję tablicę */
  12. list($imie[$i], $nazwisko[$i], $miejscowosc[$i]) = explode(" || ", $dane[$i]);
  13. /* dziele linię na tablicę i zapisuje dane do odpowiednich zmienncyh */
  14.  
  15. for($i=0;$i<count($nazwisko);$i++)
  16. if (strpos($imie[$i],$_POST['nazw']) !== false)
  17. /* sprawdzam czy szukany ciąg znaków znajduje się w zmiennej $nazwisko[$i] */
  18. echo $imie[$i]." ".$nazwisko[$i].", ".$miejscowosc[$i]."<br />";
  19. /* wyświetlam dane w ktore spelnialy powyzszy warunek */
  20. }
  21. ?>
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.