Stránka 1 z 2
chyby v PHP
Napsal: 15 bře 2011 22:16
od Honza.T3
Dobrý den,
může mi někdo vysvětlit proč skripty napsané v práci mi tam fungují, ale když si to donesu domů, tak to háže chyby typu Notice: undefined.....
apod. Mam doma server konfigurovaný ručně, ale i když si nainstaluji Complex web server, přesně ten co je v práci, tak to ty chyby vyhazuje také. Neví někdo v čem tohle může být? Díky
Re: chyby v PHP
Napsal: 15 bře 2011 22:48
od Stene
Pokud na jednom místě fungují a na druhém ne, bude to asi špatně nastavené - nemyslíš?
Re: chyby v PHP
Napsal: 15 bře 2011 22:49
od General
Dej nám kód a co ti to vyhazuje, jako příklad, pak řeknem víc.. Může to bejt taky konfigurací. Jestli ti hází e_notice tak neprogramuješ "čistě"

- např. klíče pole se dávaj do uvozovek, nebo proměnný se maj před použitim definovat..
Re: chyby v PHP
Napsal: 16 bře 2011 08:33
od Honza.T3
například na tomhle řádku:
echo "<tr><td bgcolor=\"white\">Datum</td><td bgcolor=\"white\"><input type=\"text\" name=\"den\" size=\"2\" value=\"".SUBSTR($row->datum,8,2)."\">. <input type=\"text\" name=\"mesic\" size=\"2\" value=\"".SUBSTR($row->datum,5,2)."\">. <input type=\"text\" name=\"rok\" size=\"4\" value=\"".SUBSTR($row->datum,0,4)."\"></td></tr>";
vyhodí u každého toho row chybu Notice: Undefined index a Notice: Trying to get property of non-object in row.. chyb je samozřejmě víc, ale podobného typu.
Je ale zajímavé, že i když si na notebooku nainstaluji stejnej complex web server jako je v práci, tak to vyhazuje chyby taky, stejně jako na mnou konfigurovaným serveru.
Re: chyby v PHP
Napsal: 16 bře 2011 10:02
od Stene
Pokud nepřidáš celý kód, těžko poradíme.
Nechápu jak ti to v práci může fungovat. SUBSTR($row->datum,8,2)
Co máš uložené v proměnné $row nevíme. Co pomocí toho oříznutí chceš docílit taky nevíme. Pokud do $row ukládáš datumy, proč to nezpracuješ rovnou ve funkci date?
Re: chyby v PHP
Napsal: 16 bře 2011 10:04
od General
Když ti to vyhazuje chyby, varování.. tak je to dobře, máš je zapnutý a dozvíš se o nich. V uvedenym kódu musí bejt $row objekt a musí obsahovat vlastnost 'datum' abys moch zavolat $row->datum. Parsování datumu podle pozic písmen je prasárna, udělej to třeba takhle:
Kód: Vybrat vše
list($den, $mesic, $rok, $hodina, $minuta) = preg_split('/\.|\s|:/', 'd.m.Y H:i');
echo "$den $mesic $rok $hodina $minuta";
nebo jak píše
Stene, funkcí Date()
Kód: Vybrat vše
//např. den
echo date('d', strtotime($row->datum));
Re: chyby v PHP
Napsal: 16 bře 2011 19:23
od Honza.T3
To s tím datem máš pravdu, to jsem tady měl nějakou kravinu.. Zkrátka ten PC na kterým to funguje je asi nakonfigurován správně, protože to tak funguje i na ostrém provozu. Co teda může být jinak na PC na kterým to nejede? Nebo na tom ntb, když je tam úplně stejná verze Complex web serveru?
Re: chyby v PHP
Napsal: 16 bře 2011 20:05
od General
Dej kód a napiš co ti to hlásí když jak řikáš to nejede, jinak ti nemůžem pomoct. Nastavení PHP najdeš v souboru PHP.INI, to porovnávej.
Re: chyby v PHP
Napsal: 16 bře 2011 21:05
od Honza.T3
Ano v php.ini bylo jediný rozdlíný register_blobals. Po zapnutí už to trošku jede líp. Přesto to pořád vypisuje chybové hlášení, například po odeslání formuláře
Kód: Vybrat vše
Notice: Undefined variable: popis1 in C:\dev\www\administrace\aktuality.php on line 15
Notice: Undefined variable: popis2 in C:\dev\www\administrace\aktuality.php on line 21
Notice: Undefined variable: popis3 in C:\dev\www\administrace\aktuality.php on line 27
Notice: Undefined variable: popis4 in C:\dev\www\administrace\aktuality.php on line 33
Notice: Undefined variable: popis4 in C:\dev\www\administrace\aktuality.php on line 39
Notice: Undefined variable: fotky in C:\dev\www\administrace\aktuality.php on line 121
Notice: Undefined variable: soubory in C:\dev\www\administrace\aktuality.php on line 121
Aktualitu se nepodařilo vložit
nebo před odesláním formuláře nad ním je
Kód: Vybrat vše
Notice: Undefined variable: idF in C:\dev\www\administrace\aktuality.php on line 136
rozdílné nastavení v serverech není, bylo jen to register_blobals, tak nechápu proč to někde funguje bez problému a vypisování těchto chyb a jinde ne. Psát sem kód asi stejně nemá smysl.
Re: chyby v PHP
Napsal: 16 bře 2011 21:09
od jackm
Divíš se?Nemáš definované proměnné, takže je definuj například $promenna=0; a potom kontroluj if(isset($prom)){//..}, takto tvůj kód vyžaduje proměnné, které nejsou definovány(nemají hodnotu), tak po PHP nemůžeš chtít aby s nimi pracovalo.A při získávání je nezapomeň získávat dle metody $_GET['prom']; nebo $_POST['prom'];.
Re: chyby v PHP
Napsal: 16 bře 2011 21:23
od Honza.T3
Díky. Nechápu ale, jak to, že to na jednom PC funguje? Přitom nastavení mají stejné?
Re: chyby v PHP
Napsal: 16 bře 2011 21:41
od General
Ono to funguje na obou (pravděpodobně), jenže na tom 1 jsou e_notice vyplý tak ti je to nevyhazuje. To že je to vyhazuje tam kde je zobrazování zaplý je jen ukázka jak prasácky programuješ (sorry)
