Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] początek intrukcji
Forum PHP.pl > Forum > Przedszkole
iwin
Witam


Stworzyłem formularz, zrobiłem w nim instrukcje, która sprawdza czy w dane pole zostało coś wpisane czy jest puste. Ale jak tylko wejdę 1 raz na stronę to od razu wywala ,że wszystkie nie zostały wypełnione, to oczywiste bo dopiero co wszedłem i nie wiem jak zrobić ,aby dopiero po wciśnięciu przycisku to sprawdzał a nie od razu po wejściu na stronę. Proszę o pomoc.
Fishu
Hmm, jeżeli masz formularz kierujący do tego samego pliku to na górze daj taki kod:
  1. <?php
  2. if(!empty ($_POST['button'])) {
  3. Tutaj instrukcje itp...
  4. }
  5. ?>

i w formularzu dodaj zamiast
  1. <input type="submit" value="Blablabla" />

dodaj:
  1. <input type="submit" name="button" value="Blablabla" />

A jeżeli chodzi o coś innego to daj kod.
iwin
hmm rozumiem o co chodzi w Twojej odpowiedzi ale nie bardzo wiem jak to zaimplementować.

Dla przykładu mam definicje zmiennej

  1. <?php
  2. $imie = $_POST['imie'];
  3. ?>


I do tego instrukcja sprawdzająca

  1. <?php
  2. if (empty($imie))
  3. {
  4. echo "Nie podano imienia";
  5. }
  6. ?>


I nie wiem za bardzo jak się do tego odwołać tym przykładem...
Fishu
No bo patrz, jak wejdziesz to ci będzie wywalało błąd że nic nie wpisałeś bo zmienna $imie jest pusta.Albo dodaj na początek takie coś:
  1. <?php
  2. if($_GET['step'] == "wyslij") {
  3. $imie = $_POST['imie'];
  4. if (empty($imie))
  5. {
  6. echo "Nie podano imienia";
  7. }
  8. }
  9. ?>

I zmień znacznik <form>
  1. <form action="jakisplik.php" method="post">

Na taki: (oczywiście zamiast jakiśplik.php wpisz nazwe swojego pliku)
  1. <form action="jakiśplik.php?step=wyslij" method="post">

Mam nadzieję że pomogłem
iwin
dalej sprawdza jak sprawdzało... ale dzięki za pomoc.
Hazel
  1. <?php
  2. if($_POST)
  3. {
  4. // nastąpiło zdarzenie onSubmit (wysłanie formularza)
  5. if(empty($_POST['cos']) || empty($_POST['cos_innego'])
  6. {
  7.  // nastąpiło wysłanie formularza z pustymi polami
  8.  echo 'Nie podano danych';
  9. }
  10. }
  11. ?>

Nie wyświetla nic, dopóki nie naciśnie się buttona.
iwin
Ok już działa dziękuje bardzo.

Mam kolejny problemik.

Gdy po wpisaniu wszystkich danych do formularza, której zostało przeoczone i wyświetla się co zostało pomięte. To wszystkie wpisane do tej pory dane znikają i trzeba jakby zacząć od początku.. czy można to zmienić ,żeby te dane zostawały w tej rubryce?.
dadexix
jak masz rubrykę formularza

Kod
<imput type="text" name="jakas_nazwa"  value"">

daj
Kod
<imput type="text" name="jakas_nazwa" value"$_POST['jakas_nazwa']">

wtedy jeśli jest to druga próba wysłania forma będize on "uzupełniony"
iwin
  1. <?php
  2. <form action='formularz.php' method="post">
  3. Imię : <br />
  4. <input name="imie" type="text" class="style3" value"$_POST['imie']">
  5. <br />
  6. ?>


hmm jeśli mam bez znaczników php to nic sie nie dzieje (to akurat zrozumiale)

a gdy robie to z

  1. <?php
  2. <input name="imie" type="text" class="style3" value"$_POST['jakas_nazwa']">
  3. <br />
  4. ?>



to wyskakuje

Parse error: syntax error, unexpected ':'
dadexix
Kod
echo '<input name="imie" type="text" class="style3" value"' . $_POST['imie'] . '">
<br />';

lub
Kod
<input name="imie" type="text" class="style3" value"<? echo $_POST['imie']; ?>">
<br />


to tylko przykłady:P
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.