Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Guestbook sa txt fileom ne radi dobro ?

[es] :: PHP :: Guestbook sa txt fileom ne radi dobro ?

[ Pregleda: 4700 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

MiTo
pht
Split

Član broj: 14067
Poruke: 31
*.xnet.hr.

ICQ: 32812963


Profil

icon Guestbook sa txt fileom ne radi dobro ?27.10.2004. u 16:03 - pre 237 meseci
Napravio sam guestbook koji koristi obican txt file. Problem je u tome sto kada kliknete na reload stranice, on ponovno upise zadnji unos. Neznam zasto to radi! Ako netko moze ispraviti moju gresku bilo bi super (za mene :) ). Evo koda:
Code:

<form action="index.php" method="post">
    ime:<input type ="text" name="ime" size="20"><br>
    e-mail:<input type="text" name="email" size="20"><br>
    poruka:<input type="text" name="poruka" size="50"><br>
    <input type ="submit" value="Upiši">
</form>



<?

    $datoteka="knjiga.txt";
    
    $ime=$_POST['ime'];
    //$email=$_POST['email'];
    $poruka=$_POST['poruka'];
    
    
        if ($ime && $poruka){
            if ($dat=fopen($datoteka,'a')){
                $linija="<b>$ime</b> [$email]:<br>$poruka<br>[". date('d.m.Y H:i') . "]<p>\n";
                fputs($dat,$linija);
                fclose($dat);
            }
        }
?>


<?
        if (file_exists($datoteka)){
            if ($dat=fopen($datoteka,'r')){
                $tekst='';
                while(!feof($dat)){
                    $tekst=fgets($dat,4096) . $tekst;
                }
                echo $tekst;
                fclose($dat);
            }
        }
?>


A evo i primjera sto se dogadja:

rrr [rrrrrr]:
rrr
[27.10.2004 16:58]
rrr [rrrrrr]:
rrr
[27.10.2004 16:58]

da [dada]:
dadada
[27.10.2004 16:58]


 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Guestbook sa txt fileom ne radi dobro ?27.10.2004. u 16:14 - pre 237 meseci
kada kliknes na reload stranice, tvoj browser ponovo posalje HTTP POST zahtev, tj. ponovi zadnji zahtev. Da bi to resio mozes da: proveris pre dodavanja da li je takav isti tekst vec upisan ili da nakon submit-a posalje Header("Location: index.php") ili kako ti se vec zove skripta. Prvo je teze za odraditi i moras paziti da dozvolis i nekom korisniku posle mesec dana da upise "bravo" kao sto je to uradio i neko pre njega. Drugo funkcionise tj. stiti od slucajnog refresh-a, ali uvek se mozes vratiti sa back i ponoviti zahtev (doduse uvek mozes i ponovo popuniti formu).

I da, trece i mozda i najbolje resenje jeste flood control. znaci kada neko submit-uje formu ti ga cookie-jem ili preko ip-a zapamtis i ne das mu da submit-uje tu istu formu kroz XYZ minuta.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

MiTo
pht
Split

Član broj: 14067
Poruke: 31
*.xnet.hr.

ICQ: 32812963


Profil

icon Re: Guestbook sa txt fileom ne radi dobro ?27.10.2004. u 17:47 - pre 237 meseci
OK. Hvala na pojasnjenju. Pokusat cu sa cookiem.
 
Odgovor na temu

Gojko Vujovic
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13651



+165 Profil

icon Re: Guestbook sa txt fileom ne radi dobro ?27.10.2004. u 18:01 - pre 237 meseci
Imaj u vidu da nemas ni file locking pa teoretski postoji mogucnost (a realna verovatnoca se povecava sa posecenoscu sajta) da i tu imas problem - ako dvojica u istom trenutku nesto unose, ishod je nemoguce predvideti.
 
Odgovor na temu

NetworkAdmin

Član broj: 4445
Poruke: 609
*.access-sa1.lsinter.net.



Profil

icon Re: Guestbook sa txt fileom ne radi dobro ?27.10.2004. u 19:20 - pre 237 meseci
Najlakse je fino sa guestbook koji ti je na index.php da post pravis na drugi script

<form action="upis.php" method="post">

u fajl upis.php izmjestis dio koda za pisanje u file i cim zavrsis upis napravis redirekciju na index.php pa sad nek krelac refreshuje i drzi F5 do jutra.
 
Odgovor na temu

MiTo
pht
Split

Član broj: 14067
Poruke: 31
*.xnet.hr.

ICQ: 32812963


Profil

icon Re: Guestbook sa txt fileom ne radi dobro ?28.10.2004. u 19:20 - pre 237 meseci
Super
Iskoristio sam ovo
Citat:
<form action="upis.php" method="post">
.
Jednostavno i ucinkovito.
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Guestbook sa txt fileom ne radi dobro ?28.10.2004. u 20:20 - pre 237 meseci
ostaje problem sa back i refresh, a i ovo sto je Gojko pomenuo.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

MiTo
pht
Split

Član broj: 14067
Poruke: 31
*.xnet.hr.

ICQ: 32812963


Profil

icon Re: Guestbook sa txt fileom ne radi dobro ?28.10.2004. u 22:07 - pre 237 meseci
evo mozes pogledati, meni izgleda da je refresh problem sredjen, a mozda i back (bar se tako iz firefoxa cini), a sto se tice sa istovremenim upisivanjem, trebam razmisliti
http://kermit.fesb.hr/~mito/croufomag/croufomag.php?do=guestbook
 
Odgovor na temu

[es] :: PHP :: Guestbook sa txt fileom ne radi dobro ?

[ Pregleda: 4700 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.