Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]problem z niewypełnioną tablicą w pętli foreach
adas007
post
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 9.03.2007

Ostrzeżenie: (0%)
-----


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ę?
?>

Ten post edytował adas007 21.02.2009, 11:20:53
Go to the top of the page
+Quote Post
piotrooo89
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




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. ?>


--------------------
Go to the top of the page
+Quote Post
Orkan
post
Post #3





Grupa: Zarejestrowani
Postów: 55
Pomógł: 4
Dołączył: 19.05.2003
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


dodaj is_array($reg) do warunku if


--------------------
The fastest app with PHP: <?php die('Hello World'); ?>
Go to the top of the page
+Quote Post
adas007
post
Post #4





Grupa: Zarejestrowani
Postów: 72
Pomógł: 0
Dołączył: 9.03.2007

Ostrzeżenie: (0%)
-----


Funkcja isset() pomogła, dziękuję

Ten post edytował adas007 21.02.2009, 12:01:26
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 06:55