Autor | Zpráva | ||
---|---|---|---|
Ajtak Profil * |
#1 · Zasláno: 17. 5. 2012, 16:00:28
Zdravím. Mám takovýto kód který ve staré verzi fungoval, ale v nové verzi php již nefunguje. Nevíte kde může být chyba?
<? Header("Expires: ".GMDate("D, d M Y H:i:s")." GMT"); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> <title>Kniha návštev - PHP</title> </head> <body bgcolor="#333333" text="#FFFFFF" link="#00FF00" vlink="#00FF00" alink="#FF0000"> <form action="" method="post"> MENO: <input type="text" name="meno" size="20" value="<? if ($meno=="" || $email=="" || $popis==""): echo $meno; endif; ?>"> EMAIL: <input type="text" name="email" size="20" value="<? if ($meno=="" || $email=="" || $popis==""): echo $email; endif; ?>"> <? if ($meno=="" || $email=="" || $popis==""): echo $web; endif; ?> <input type="hidden" name="odoslane" value="ano"> TEXT: <textarea cols="25" rows="3" name="popis"><? if ($meno=="" || $email=="" || $popis==""): echo $popis; endif; ?></textarea> <center><input type="submit" value="Submit"> <input type="Reset" value="Reset"></center> </form> <? if ($odoslane=="ano"): if ($meno=="" || $email=="" || $popis==""): echo "<center><br><font class=male>Vyplnte všetky údaje<br></font></center>"; else: $name = "<font class=meno>$meno</font><BR>\n"; $e_mail = "<A class=odkaz HREF=mailto:$email>$email</A><BR>\n"; if ($web!=""): $www = "<A class=odkaz HREF=\"$web\">$web</A><BR>\n"; endif; $cas = "<font class=cas>" . Date("j. " . "m. " . "Y, " . "H:i:s") . "</font><BR>\n"; $popis2 = NL2BR(HTMLSpecialChars($popis)); $zprava = "<BR><font class=text>$popis2</font><BR><BR><HR color=\"#FFFFFF\"><BR>\n\n"; $write = StripSlashes($name . $e_mail . $www . $cas . $zprava); if (File_Exists ("book.dat")): $fp = FOpen ("book.dat", "r"); $data = FRead ($fp, FileSize("book.dat")); FClose($fp); endif; $fp = FOpen ("book.dat", "w"); FWrite ($fp, $write.$data); FClose ($fp); endif; endif; ?> <hr color="#FFFFFF"><br> <? if (File_Exists ("book.dat")): $fp = FOpen ("book.dat", "r"); FPassThru($fp); endif; ?> </td> </tr> </table> </body> </html> |
||
Mike8748 Profil |
#2 · Zasláno: 17. 5. 2012, 16:18:43
Ajtak:
a jak se ta nefunkčnost projevuje? hrubý odhad je že ti bude stačit přepsat proměnné na glob.pole (tedy místo $meno použít $_POST['meno']) a pak to bude zase fungovat souvisí to s direktivou register_globals v php.ini |
||
Someone Profil |
#3 · Zasláno: 18. 5. 2012, 00:03:44
Mně na localhostu zlobí zápis <? ?> zkus to přepsat na <?php ?>
|
||
Mike8748 Profil |
#4 · Zasláno: 18. 5. 2012, 07:57:12
zápis <? se dá rozchodit nastavením direktivy short_open_tag na On (v souboru php.ini)
přepsání na <?php je ale lepší nápad, protože dost webhostingů ma danou direktivu vypnutou, takže by skripty na localhostu sice fungovaly, ale po nahrání na webhosting by bylo stejně zapotřebí to přepsat |
||
Časová prodleva: 12 let
|
0