| 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: 14 let
|
|||
0