Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Nie działa error_reporting = E_ALL (?)
Jarod
post 3.07.2006, 17:31:56
Post #1





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


W pliku php.ini mam włączoną opcję error_reporting = E_ALL. Podczas testowania nie było żadnych błędów i warningów.

Jak przeniosłem na serwer linuksa (ta sama wersja php i te same skrypty) to pojawiły się warningi. Pytanie co jest grane?

Czy na localhost nie działa error_reporting = E_ALL czy na serwerze z linuksem jest coś nie tak?


O co chodzi z tym błędem Warning: Invalid argument supplied for foreach() in /usr/local/apache/htdocs/www/usun_blokuj.php on line 40

Jedna pętla działa a przy drugiej warning. A prawie taki sam kod.


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
NuLL
post 3.07.2006, 18:00:02
Post #2





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

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


W linuxowym php masz dodane E_NOTICE napewno smile.gif


--------------------
Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
Go to the top of the page
+Quote Post
Vogel
post 3.07.2006, 18:09:45
Post #3





Grupa: Zarejestrowani
Postów: 402
Pomógł: 0
Dołączył: 20.01.2003

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


ustaw jeszcze display_errors


--------------------
Go to the top of the page
+Quote Post
Jarod
post 3.07.2006, 19:36:18
Post #4





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Myślałem, że error_reporting = E_ALL wypluwa wszystko na ekranie..

W takim razie o co może chodzić z tym
Cytat
Warning: Invalid argument supplied for foreach() in /usr/local/apache/htdocs/www/usun_blokuj.php on line 40


Linijka 40 to:
  1. <?php
  2. foreach ($_POST['kogoBlokowac'] as $kogo) echo '<input type="hidden" name="kogoBlokowac[]" value="'.$kogo.'" />';
  3. ?>


?

Ten post edytował J4r0d 3.07.2006, 19:36:39


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
siemakuba
post 3.07.2006, 19:52:55
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


$_POST['kogoBlokowac'] nie jest tablicą - tak wynika z warninga.
Powinieneś dodać sprawdzanie, czy to co masz w $_POST['kogoBlokowac'] jest tablicą, ale możesz też zrobić rzutowanie - pozbędziesz się warninga.
  1. <?php
  2. foreach((array)$_POST['kogoBlokowac'] as $kogo)
  3. ?>

pozdr.
Go to the top of the page
+Quote Post
Jarod
post 3.07.2006, 19:58:29
Post #6





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Cytat(siemakuba @ 3.07.2006, 18:52 ) *
$_POST['kogoBlokowac'] nie jest tablicą - tak wynika z warninga.


Z formularz przekazywana jest tablica w do skryptu usun_blokuj.php w ten sposób:
  1. <?php
  2. <input type="checkbox" name="kogoBlokowac[]" value="'.$query_data[0].'" checked="checked" />
  3. ?>


Przecież to jest tablica..

Pozatym w pliku usun_blokuj.php mam takie trzy linijki:
  1. <?php
  2. foreach ($_POST['kogoSkasowac'] as $kogo) echo '<input type="hidden" name="kogoSkasowac[]" value="'.$kogo.'" />';
  3.  
  4. foreach ($_POST['kogoBlokowac'] as $kogo) echo '<input type="hidden" name="kogoBlokowac[]" value="'.$kogo.'" />';
  5.  
  6. foreach ($_POST['juzZablokowane'] as $kogo) echo '<input type="hidden" name="juzZablokowane[]" value="'.$kogo.'" />';
  7. ?>


i warningi są tylko przy dwóch ostatnich..

Ten post edytował J4r0d 3.07.2006, 20:01:00


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
siemakuba
post 3.07.2006, 20:01:39
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


a czy jeżeli nie zaznaczysz żadnego z tych checkboxów ta tablica będzie istnieć? Checkbox daje value tylko jeżeli jest zaznaczony - jeżeli nie jest to poprostu go nie ma. Nie jestem pewien jak to przy takim zapisie "tablicowym", ale coś mi się wydaje że właśnie tak jak piszę.

edit:
to by też tłumaczyło dalczego nie wszędzie masz warningi - część checkboxów masz zaznaczone a część nie.

pozdr.

Ten post edytował siemakuba 3.07.2006, 20:02:45
Go to the top of the page
+Quote Post
Jarod
post 3.07.2006, 21:31:46
Post #8





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Cytat(siemakuba @ 3.07.2006, 19:01 ) *
a czy jeżeli nie zaznaczysz żadnego z tych checkboxów ta tablica będzie istnieć? Checkbox daje value tylko jeżeli jest zaznaczony - jeżeli nie jest to poprostu go nie ma. Nie jestem pewien jak to przy takim zapisie "tablicowym", ale coś mi się wydaje że właśnie tak jak piszę.

edit:
to by też tłumaczyło dalczego nie wszędzie masz warningi - część checkboxów masz zaznaczone a część nie.

pozdr.



Warnigni wywalało w takiej sytuacji:

Żaden checkbox nie był zaznaczony. Zaznaczyłem jednego i przesłałem formularz.


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
siemakuba
post 4.07.2006, 01:24:15
Post #9





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


no właśnie, zaznaczyłeś jeden checkbox, a robisz pętle po trzech tablicach. Musisz zaznaczyć co najmniej jeden checkbox z kazdej grupy, zeby potrzebne tablice zostaly utworzone i przeslane po zatwierdzeniu formularza. Co zrobić żeby się pozbyć warningów już napisałem.

pozdr.
Go to the top of the page
+Quote Post
Jarod
post 8.07.2006, 22:25:33
Post #10





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Cytat(siemakuba @ 4.07.2006, 00:24 ) *
no właśnie, zaznaczyłeś jeden checkbox, a robisz pętle po trzech tablicach. Musisz zaznaczyć co najmniej jeden checkbox z kazdej grupy, zeby potrzebne tablice zostaly utworzone i przeslane po zatwierdzeniu formularza. Co zrobić żeby się pozbyć warningów już napisałem.

pozdr.


Masz racje. Dziękuje.


Cytat(siemakuba @ 3.07.2006, 18:52 ) *
  1. <?php
  2. foreach((array)$_POST['kogoBlokowac'] as $kogo)
  3. ?>



Ten sposób nie wywala warniga ale zamazuje wartości tablicy jeśli zaznaczę checkboxa !


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
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 Wersja Lo-Fi Aktualny czas: 7.07.2025 - 02:21