[ PHP CODE @ 14.10.2009. 12:50 ] @
Izvinjavam se moderatorima posto cu postaviti pocetnicko pitanje ovdje, jer na podforumu za pocetnike niko nije postovao vec nekoliko dana, a malo sam u zurbi :-/

Naime, evo code:

Code:
<?php

if (isset($_POST['unos']))
    {
    $strEvent = $_POST['event'];
    $strPocetak = $_POST['pocetak'];
    $strKraj = $_POST['kraj'];
    $strOperater = $_POST['operater'];
    
    
$file1 = "database.txt";
$lines = file($file1);
    if (strlen($lines) == 0)
    {
    $count = "0";
    }
    else {
    $count = count($lines);
        }
$strInput = $count.";".$strEvent.";".$strPocetak.";".$strKraj.";".$strOperater."\n";
$database = fopen('database.txt', 'a+');
fputs ($database, $strInput);
fclose($database);
    }
?>


Dakle, imam 4 text box-a i jedan Submit button. Zelim da mi se podaci it txt box-ova upisu u file database.txt samo kada se pritisne submit button.
Medjutim, imam dva problema... Svaki put kada refresujem stranicu, ako postoji nesto u txt box-u on to upise u fajl... a ja zelim samo u momentu kada se pritisne dugme. Drugi problem je vjerovatno u nekoj vezi sa prvim... Naime, upisuje mi redne brojeve uvijek ovako: 1,1,2,3,... umjesto: 1,2,3...
Hvala unapred na pomoci!

Code:
 <input type="submit" name="unos" id="unos" value="Unos podataka" />


Ovo je html za submit button.
Naravno, sve sam postavio unitar forme.
[ stankons @ 14.10.2009. 13:19 ] @
Citat:
PHP CODE
Svaki put kada refresujem stranicu, ako postoji nesto u txt box-u on to upise u fajl... a ja zelim samo u momentu kada se pritisne dugme.


Problem je kad jednom udariš dugme, tvoj Internet pretraživač "zapamti" post, pa ponovo pošalje. Jedino što mi pada na pamet je da koristiš ajax i JavaScript...

Citat:
PHP CODE:
Naime, upisuje mi redne brojeve uvijek ovako: 1,1,2,3,... umjesto: 1,2,3...


Nemam pojma za ovo, meni deluje da radi...
[ Aleksandar Ružičić @ 14.10.2009. 13:26 ] @
kao prvo file() funkcija vraca niz, nikada string (moze da vrati false on failure), tako da koriscenje strlen f-je nema nikakvog smisla...

tako da bi tvoj kod trebao da izgleda ovako:
Code:

<?php

if (isset($_POST['unos']))
    {
    $strEvent = $_POST['event'];
    $strPocetak = $_POST['pocetak'];
    $strKraj = $_POST['kraj'];
    $strOperater = $_POST['operater'];
    
$lines = file("database.txt");
if ($lines !== false) {    
   $count = max(count($lines), 1);
} else {
   $count = 1;
}
$strInput = $count.";".$strEvent.";".$strPocetak.";".$strKraj.";".$strOperater."\n";
$database = fopen('database.txt', 'a+');
fputs ($database, $strInput);
fclose($database);
    }
?>


a sto se tice prvog problema, $_POST niz sadrzi podatke samo kada se posalje POST zahtev serveru, a kada uradis rifresh strane u vecini slucajeva ces poslati GET request, osim ako ta strana nije rezultat POST upita u kom slucaju ce te browser pitati da li zelis da ponovis POST request...

ono sto mozes da uradis je da posle upisa odradis redirect na tu istu stranu, tako ce browser poslati GET request i $_POST ce ti biti prazan...
[ PHP CODE @ 14.10.2009. 13:29 ] @
Jos jednom, hvala puno!
:)