Autor Zpráva
dawid9
Profil *
Zdarc lidi, potrebuji poradit! ucim se php a skousel jsem podle knizky udelat jednoduchy chat, proste pridavani prispevku, vse jsem udelal posle knizky, ale nejde mit to... jak to??zdrojovy kod je:
<html>
<body>
<?php
$zpravy = file("zpravy.txt");
$jmeno = htmlspecialchars( $jmeno );
$zprava = htmlspecialchars( $zprava );
$cas = date("d M Y");
$nova_zprava = "$cas&nbsp;<b>$jmeno:</b><br><i>$zprava</i>
<br> ";
if( !empty( $jmeno ) && !empty( $zprava )) {
$soubor = fopen("zpravy.txt", "at");
fputs( $soubor, stripslashes( $nova_zprava ));
fclose( $soubor );
echo( "Pridan novy prispevek:<br>");
echo( $nova_zprava );
} else {
echo( "Chybne zadani, prispevek nebyl pridan! <br>" );
}
?>
<a href="chat.php">Zpet na chat...</a>
</body>
</html>


No a kdyz v pridani zadam jmenno a zpravu(prispevek) a odeslu, napise mi to:
Warning: fopen(zpravy.txt) [function.fopen.php]: failed to open stream: Permission denied in /home/free/tym.cz/i/inzerce-zdarma/root/www/pridat_zpravu.php on line 11

Warning: fputs(): supplied argument is not a valid stream resource in /home/free/tym.cz/i/inzerce-zdarma/root/www/pridat_zpravu.php on line 12

Warning: fclose(): supplied argument is not a valid stream resource in /home/free/tym.cz/i/inzerce-zdarma/root/www/pridat_zpravu.php on line 13

Kdyztak se podivejte na www.inzerce-zdarma.tym.cz/chat.php a vyzkousejte si to... poradi mi nekdo co tam mam za CHYBU??????? DIKY :-) [url=http://www.inzerce-zdarma.tym.cz/chat.php ]www.inzerce-zdarma.tym.cz/chat.php [/url]
Alphard
Profil
$soubor = fopen("zpravy.txt", "at");
co má dělat at? nesetkal jsem se s tím
jsou dobře nastavená práva?
MzM
Profil
asi to mělo být "a+" ne "at"
a+ je možnost čtení a zápis za konec.
no, a pak se podívej, jak radí Alhpard, na práva a jestli tam ten soubor vůbec je. U přidávání příspěvku je potřeba ještě dávat pozor na více přístupů naráz a používat flock(), dívat se jestli není soubor zamčený atd. Jinak se ti může stát, že se budou "ztrácet" data. Resp poku přistoupí dva zároveň, tak zapíše jenom ten, kdo skončí poslední.
Nebo lépe takové věci strkat do db. Ta má tyhle věci dořešené.
krteczek
Profil
1. register_globals
2. práva zápisu do adresáře, pripadne nejprve overit jestli soubor existuje a pokud ne tak ho vytvorit a teprve potom do nej zapisovat
3. Nebo lépe takové věci strkat do db. Ta má tyhle věci dořešené. toto je správné řešení tvého problému, při více lidech současně tahajícfích a připisujících data do toho souboru může dojít kjeho vymazání...
Toto téma je uzamčeno. Odpověď nelze zaslat.