chyby v PHP

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Honza.T3
nováček
Příspěvky: 17
Registrován: červenec 07
Pohlaví: Nespecifikováno
Stav:
Offline

chyby v PHP

Příspěvekod Honza.T3 » 15 bře 2011 22:16

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

Reklama
Uživatelský avatar
Stene
Level 6
Level 6
Příspěvky: 3124
Registrován: únor 09
Bydliště: Jihlava
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: chyby v PHP

Příspěvekod Stene » 15 bře 2011 22:48

Pokud na jednom místě fungují a na druhém ne, bude to asi špatně nastavené - nemyslíš?

General
nováček
Příspěvky: 49
Registrován: listopad 10
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: chyby v PHP

Příspěvekod General » 15 bře 2011 22:49

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ě" :D - např. klíče pole se dávaj do uvozovek, nebo proměnný se maj před použitim definovat..

Honza.T3
nováček
Příspěvky: 17
Registrován: červenec 07
Pohlaví: Nespecifikováno
Stav:
Offline

Re: chyby v PHP

Příspěvekod Honza.T3 » 16 bře 2011 08:33

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.

Uživatelský avatar
Stene
Level 6
Level 6
Příspěvky: 3124
Registrován: únor 09
Bydliště: Jihlava
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: chyby v PHP

Příspěvekod Stene » 16 bře 2011 10:02

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?
Naposledy upravil(a) Stene dne 16 bře 2011 10:20, celkem upraveno 1 x.

General
nováček
Příspěvky: 49
Registrován: listopad 10
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: chyby v PHP

Příspěvekod General » 16 bře 2011 10:04

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));

Honza.T3
nováček
Příspěvky: 17
Registrován: červenec 07
Pohlaví: Nespecifikováno
Stav:
Offline

Re: chyby v PHP

Příspěvekod Honza.T3 » 16 bře 2011 19:23

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?

General
nováček
Příspěvky: 49
Registrován: listopad 10
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: chyby v PHP

Příspěvekod General » 16 bře 2011 20:05

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.

Honza.T3
nováček
Příspěvky: 17
Registrován: červenec 07
Pohlaví: Nespecifikováno
Stav:
Offline

Re: chyby v PHP

Příspěvekod Honza.T3 » 16 bře 2011 21:05

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.

Uživatelský avatar
jackm
Level 4.5
Level 4.5
Příspěvky: 1720
Registrován: srpen 08
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: chyby v PHP

Příspěvekod jackm » 16 bře 2011 21:09

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'];.

Honza.T3
nováček
Příspěvky: 17
Registrován: červenec 07
Pohlaví: Nespecifikováno
Stav:
Offline

Re: chyby v PHP

Příspěvekod Honza.T3 » 16 bře 2011 21:23

Díky. Nechápu ale, jak to, že to na jednom PC funguje? Přitom nastavení mají stejné?

General
nováček
Příspěvky: 49
Registrován: listopad 10
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: chyby v PHP

Příspěvekod General » 16 bře 2011 21:41

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) :D


Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti