Autor Zpráva
pexxxik
Profil
Mam víc problému, které neumím vyřešit:
1. nefunguje maximalní počet znaků u name
2. Potřeboval bych poradit jak ukládat text vzdy nahoru (ted se ulozi na konec dokumentu)
3. Když kliknu na odeslat vzkaz se odešle, ale hned se nezobrazí vzkaz, který dotyčný napsal, straka se musí aktualizovat (pak se zobrazí vzkaz který byl napsán)

<form action="vzkaznik.php" method="post" >
<p>Jméno: <input type="text" name="name" size="10" ></p>
<p>Text: <input type="text" name="text" size="15" ></p>
<p><input type="submit" value="odeslat" ></p>
</form>
<?php include ('data.txt') ?>

<?php
$name = $_POST['name'];
$text = $_POST['text'];

$name = HTMLSpecialChars($name); //nektere znaky prevede na html entity
$name = stripslashes($name); //odstrani lomitka
$text = HTMLSpecialChars($text);
$text = stripslashes($text);

$name = substr($name, 0, 20); //maximalni pocet znaku 20

if ($text!="" and $name!=""){
$all = "<b>".$name."</b><br>".$text."<br><hr>";
$file = fopen ('data.txt','a+'); //otevre soubor pro doplnovani
fwrite ($file, $all); //zapise spravu
fclose ($file); //zavre soubor
}

?>

</body>
</html>
Alphard
Profil
1. popište podrobněji projevy, ten substr() se zdá být v pořádku
3. ten include dejte až na konec stránky (za ten zápis do souboru), je to logické, script se zpracovává od začátku do konce
pexxxik
Profil
substr vůbec nefunguje pismen můžu napast kolik chci a při odeslání taky nic, normálně to vypíše tolik znaků kolik tam napíšu. Ten vzkaz uz se zobrazuje po odeslani. Dik
Alphard
Profil
substr vůbec nefunguje pismen můžu napast kolik chci a při odeslání taky nic, normálně to vypíše tolik znaků kolik tam napíšu
hmm, zkopíroval jsem to a otestoval, jméno to seká na 20 znaků
nevím, kde může být problém, substr() se od PHP 4 snad nezměnilo, počítáte ty znaky ve jméně správně?
Alphard
Profil
2. uvedu řešení pro PHP 5, doufám, že ho máte
if ($text!="" and $name!=""){
$all = "<b>".$name."</b><br>".$text."<br><hr>";
$pamet = file_get_contents ("data.txt");
file_put_contents ("data.txt", $all.$pamet);
}
pexxxik
Profil
Znaky pocitam spravne, ale prostě to nefunguje, tak uz se tim nezabivejte dekuji za pomoc, ostatni uz funguje

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0