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: 1885 | Odgovora: 7 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

MiTo
Split

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

ICQ: 32812963


Profil

icon Guestbook sa txt fileom ne radi dobro ?27.10.2004. u 16:03

Napravio sam guestbook koji koristi obican txt file. Problem je u tome sto kada kliknete na reload stranice, on ponovno upise zadnji unos. ne znam 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]


27.10.2004. u 16:03 

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 2444
*.nat-pool.bgd.sbb.co.yu.

Jabber: grakic@jabber.org
Sajt: blog.goranrakic.com


Profil

icon Re: Guestbook sa txt fileom ne radi dobro ?27.10.2004. u 16:14
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.openoffice.org — slobodan kancelarijski paket, zamena za MS Office, na srpskom i engleskom, legalno bez troškova licenciranja
27.10.2004. u 16:14 

MiTo
Split

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

ICQ: 32812963


Profil

icon Re: Guestbook sa txt fileom ne radi dobro ?27.10.2004. u 17:47
OK. Hvala na pojasnjenju. Pokusat cu sa cookiem.
27.10.2004. u 17:47 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13061
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: Guestbook sa txt fileom ne radi dobro ?27.10.2004. u 18:01
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.
27.10.2004. u 18:01 

NetworkAdmin
Zoran Knezevic
programer u jednoj X kompaniji, radim na daljinu onli..
Beograd

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

Sajt: www.rentalio.com


Profil

icon Re: Guestbook sa txt fileom ne radi dobro ?27.10.2004. u 19:20
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.
27.10.2004. u 19:20 

MiTo
Split

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

ICQ: 32812963


Profil

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

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 2444
*.nat-pool.bgd.sbb.co.yu.

Jabber: grakic@jabber.org
Sajt: blog.goranrakic.com


Profil

icon Re: Guestbook sa txt fileom ne radi dobro ?28.10.2004. u 20:20
ostaje problem sa back i refresh, a i ovo sto je Gojko pomenuo.
http://sr.openoffice.org — slobodan kancelarijski paket, zamena za MS Office, na srpskom i engleskom, legalno bez troškova licenciranja
28.10.2004. u 20:20 

MiTo
Split

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

ICQ: 32812963


Profil

icon Re: Guestbook sa txt fileom ne radi dobro ?28.10.2004. u 22:07
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
28.10.2004. u 22:07 

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

[ Pregleda: 1885 | Odgovora: 7 ]

Postavi temu Odgovori

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