Autor | Zpráva | ||
---|---|---|---|
Ciso Profil * |
#1 · Zasláno: 14. 6. 2005, 10:27:02
mam taky probelm, neviete mi niketo poradit kde (ale presne) v subore php.ini alebo http.conf nastavit to aby som nemusel definovat premennu? mam obycajnu guestbook a na hdd pri spustenom apache mi nefunguje. Vypisuje ze "undefined variable", ale ked ju uploadnem na server (konktretne webzdarma.cz), tak bez problemov funguje.
Diki moc |
||
Wan-To Profil * |
#2 · Zasláno: 14. 6. 2005, 10:28:58
Pošli sem na fórum kus skriptu, kde máš "undefined variable" a celé chybové hlášení.
|
||
Hugo Profil |
#3 · Zasláno: 14. 6. 2005, 10:40:20
V php.ini nastav
error_reporting = E_ALL & ~E_NOTICE a restartuj apache |
||
ciso Profil * |
#4 · Zasláno: 14. 6. 2005, 17:55:10
tak tu je kod:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HEAD><TITLE>:::Guestboook:::</TITLE> </HEAD> <body bgcolor="d2b48c"> <table border="1" bordercolor="brown" cellpadding="10" cellspacing="0" bgcolor="fff5ee" height="100%" width="885" align="left"> <td valign="top"> <font face="book antiqua" size="5" color="a52a2a"> <div class=text><CENTER><H1><div class=text>Kniha Návštev</H1></font> <FORM METHOD=post> <font face="arial"> <B>Meno:</B> <INPUT class=input NAME=meno><BR><BR> <B>Mesto:</B> <INPUT class=input NAME=mesto><br><Br> <B>e-mail:</B> <INPUT class=input NAME=mail><br><Br> <B>Text správy:</B> <TEXTAREA NAME=sprava class=textarea COLS=40 ROWS=4></TEXTAREA><BR><INPUT class=input TYPE=Submit name=odoslane VALUE="odosli"> <INPUT class=input TYPE=Reset VALUE="Vymaž"></FORM><HR></CENTER> <?if ($odoslane==odosli):$subor = "board.body"; @$fp = FOpen($subor, "r"); @$obsah = FRead($fp, FileSize($subor)); @FClose($fp);if (($sprava=="") or ($meno=="")):echo "<font color='red'><H2> <div class=text>CHYBA!!! NEZADAL SI POTREBNÉ ÚDAJE!!! <BR>musí byť vyplnené meno aj text správy !!! Vyskúšajte ešte raz</H2></font>"; else: $fp = FOpen("board.body", "w"); FPutS($fp, "<B>".(HTMLSpecialCHars($meno))."</B>".Date(" d.m.Y o H:i"). ":<BR>\n"); Fputs($fp, "<u>".(HTMLSpecialCHars($mesto))."</u><br>\n"); Fputs($fp, "<i>".(HTMLSpecialCHars($mail))."</i><br>\n"); Fputs($fp, (HTMLSpecialCHars($sprava))."<P><hr>\n"); FPuts ($fp, "$obsah");FClose($fp); @$fp = FOpen("board.body", "r"); @FPassThru($fp); endif; else:@$fp = FOpen("board.body", "r"); @FPassThru($fp);endif; ?> </BODY> </HTML> a pise mi toto: Notice: Undefined variable: odoslane in c:\program files\easyphp1-8\www\help\kniha\board.php on line 15 Notice: Use of undefined constant odosli - assumed 'odosli' in c:\program files\easyphp1-8\www\help\kniha\board.php on line 15 pre HUGO: toto error_reporting = E_ALL & ~E_NOTICE nepomohlo. |
||
juneau Profil |
#5 · Zasláno: 14. 6. 2005, 18:55:23
<?if (@$odoslane== 'odosli'): $subor = "board.body";
timhle nahrad ten 15.radek ... ta chybovka znamena, ze promenna $odoslane nema vubec zadnou hodnotu, respektive ji server vubec nezna a ty ji najednou porovnavas s nejakym textovym retezcem, coz byla druha chyba, protoze bez uvozovek lze zapisovat pouze cisla (resp true/false boolean hodnoty) idealni podminka by tedy byla: if(isset($odoslane) && $odoslane == 'odosli') {...} fce isset($a) vraci true nebo false, pokud je $a inicializovane (ale klidne prazdne... podivej se na fci empty($a) ). takovato podminka uz chybu nevyhodi. a pouzivani jednoduchych uvozovek a dvojitych? v tomto pripade je idealni pouziti 'jednoduchych' uvozovek (ve zminovane podmince), protoze v takovem pripade server nezkouma, zda v danem textovem retezci je jeste nejaka $promenna a nezpracovava jej. trochu to tedy zrychluje jeho praci. $den = 'utery'; $prom1 = 'Dnes je $den'; // Dnes je $den $prom2 = "Dnes je $den"; // Dnes je utery vice (a presneji) u pifa: http://www.php-weblog.com/archiv/2005/unor/3/nejcastejsi-chyby-zacatec niku-v-php-I.html |
||
Ciso Profil * |
#6 · Zasláno: 15. 6. 2005, 09:54:05
dik
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0