Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]problem z niewypełnioną tablicą w pętli foreach
Forum PHP.pl > Forum > Przedszkole
adas007
Witam,

w pliku 1.php mam formularz z checkboxami wartości formularza przekazuję do pliku 2.php.

Formularz w 1.php wygląda tak:

  1. <?php
  2. foreach ($file_list as $fl)
  3.    $checkbox.="<input type='checkbox' name='names[]' value='".$fl."'"."</input>".$fl."<br>";
  4.  
  5. echo "<form action ='inference.php'>".$checkbox."
  6. <br>Wybierz reguły wnioskowania:
  7. <input type='checkbox' name='reguly[]' value='INF_RES_SUBCLASSOF'> SUBCLASSOF
  8. <input type='checkbox' name='reguly[]' value='INF_RES_SUBPROPERTYOF'> SUBPROPERTYOF
  9. <input type='checkbox' name='reguly[]' value='INF_RES_RANGE'> RANGE
  10. <input type='checkbox' name='reguly[]' value='INF_RES_DOMAIN'> DOMAIN<br>
  11.  
  12. <input type='radio' name='GrafLubTabela' value='tabela'>tabela z wnioskami
  13. <input type='radio' name='GrafLubTabela' value='graf'>graf
  14. <input type='submit' value='dalej'</form>";
  15. ?>


W pliku 2.php odczytuję i używam wartości tablicy reguly i names:
  1. <?php
  2. $reg=$_GET['reguly'];
  3. $names=$_GET['names'];
  4. if($_GET['GrafLubTabela']=='tabela')
  5. {    
  6. foreach ($reg as $r)
  7. {
  8.  
  9. define($r,true);
  10.  
  11. }
  12. }
  13. ?>

Nie mogę poradzić sobie z sytuacją w której wysyłam fomularz ze strony 1.php bez zaznaczenia żadnego checkboxu o nazwie reguly lub o nzwie names. Mam wtedy komunikat:
Warning: Invalid argument supplied for foreach() in C:wampwwwinfinference.php on line 10

Skrypt 2.php musi poprawnie wykonywać się również w sytuacji gdy żaden checkbox nie jest zaznaczony. Jak rozwiązać taką sytuację?
?>
piotrooo89
to może jakieś else?

  1. <?php
  2. if($_GET['GrafLubTabela']=='tabela')
  3. {    
  4. if (isset($_GET['name']))
  5. {
  6. foreach ($reg as $r)
  7. {
  8.  
  9. define($r,true);
  10.  
  11. }
  12. }
  13. else
  14. {
  15. echo 'nic nie zaznaczono';
  16. }
  17. }
  18. ?>
Orkan
dodaj is_array($reg) do warunku if
adas007
Funkcja isset() pomogła, dziękuję
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.