Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Gdzie jest bład?
Forum PHP.pl > Forum > PHP
wozniak
Witam mam taki skrypt do przesyłania danych z formularza:
  1. <?php
  2. if($co=='zapisz'){
  3. print(&#092;"$imie\");
  4. print(&#092;"$mail\");
  5. print(&#092;"$wpis\");
  6.  if (isset($imie)){
  7. if (isset($wpis)){
  8.  $d1 = date(&#092;"d-m\"); 
  9.  $d2 = date(&#092;"-Y\");
  10.  $data = $d1.&#092;"\".$d2;
  11.  $godz=date(&#092;"H:i\");
  12.  $query = $db->sql_query(&#092;"INSERT INTO virtual_tuning_kom SET id='$id', imie='$imie', mail='$mail', wpis='$wpis', data='$data', godz='$godz';\");
  13.  print(&#092;"<center>Dane zostały dodane</center>\");
  14. }else{
  15.  echo&#092;"Musisz wpisac komentarz.\";
  16.  }
  17.  }else{
  18. echo&#092;"Musisz wpisac imie lub nick.\";
  19. }  
  20. } 
  21. ?>

I mam on nie wysyłac danych jak pole imie bedzie puste badz jak pole wpis bedzie puste.Pola są puste a on mimo wsyztsko wysyła:(
Czemu tak sie dzieje?
Vertical
Przy polach tekstowych raczej nie używa się isset, bo to często nie działa. Spróbuj:
  1. <?php
  2. if ($imie != &#092;"\"){
  3. if ($wpis != &#092;"\"){
  4. (.....................)
  5. ?>
Majdan
isset() sprawdza, czy zmienna została zdefiniowana. Zmienna jest pusta, ale została zdefiniowana. Można użyć empty(), ale wiąże się to z problemem w sytuacji, gdy w pole zostanie wpisana liczba 0.

Ja stworzyłem taką funkcję i używam jej. Spełnia ona w pełni moje oczekiwania:
  1. <?php
  2. function puste(&$zmienna) {
  3. //powered by Majdan, all rights reserved
  4. if($zmienna === '' && $zmienna !== 0 || !isset($zmienna)) {
  5. return true;
  6. } else {
  7. return false;
  8. }
  9. }
  10. ?>


W Twoim kodzie użyj jej zamieniając isset() na !puste().
SongoQ
@Vertical Cos troszeczke namieszales. Jeli pole formularza zostanie uzuplnione warunek w isset == true, jesli pole jest puste, lecz formularz zostal wyslany z tymi zmiennymi warunek isset == true.

@wozniak isset nie uzywa sie do formularzy zeby sprawdzic czy cos zostalo wpisane w pole lecz do sprawdzenie czy zmienna przyszla z formularza (nie zaleznie czy jest pusta czy nie).

Mysle ze to rozjasnilo troche stosowanie isset, jak nie to zapraszam do manuala.
wozniak
Dzieki wielkie!!
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.