[ ifet4y @ 26.01.2006. 08:39 ] @
Relativno sam novajlija u PHP/Mysql -u i skoro sam poceo rad za bazama podataka (MYSQL) i imam sledeci problem:

Podaci se dupliraju kada se na browseru pritisne "Reload/Refresh"...
Verovatno je vecina davno prosla taj problem pa nema potrebe da vam sta dalje pricam ...

Help???
[ Leftfield @ 26.01.2006. 11:29 ] @
OK. Izvini sto sam ovako odgovorio. Htjeo sam te nacerati da nesto naucis. Evo odgovora:
Probaj preko sesije da odradis kao: vec je bio zahtjev, dobio si ga i nemas prava vise da ga trazis dok traje ova sesija. Mozes kao sto je rekao afwt ili posle jednom ispisanih podataka da uzmes izgenerisani broj onaj id i ukljucis ga u varijablu ili cookie. Ili:



session_start();
if($_POST['submit'] &&
isset($_SESSION['form_processed']) &&
$_SESSION['form_processed'] == false){
process();
}
else{
<form action....>
blablabla
<input type='submit' name='submit'>
</form>
$_SESSION['form_processed'] = false;
}

function process(){
odje radis ono SQL ili bilo sto drugo
$_SESSION['form_processed'] = true;
}

Mada mi se cini najbolje resenje AFWT ('location:PAGE_NAME'); exit();

[Ovu poruku je menjao Leftfield dana 27.01.2006. u 22:57 GMT+1]
[ _owl_ @ 26.01.2006. 14:53 ] @
Mozes na primer da onemogucis visestruke pritiske na submit dugme od forme preko JS-a, ili da uvedes timestamp za unos pa da onemogucavas update u nekom narednom vremenskom periodu ili da potpuno onemogucis duple unose preko SQL-a.
[ _owl_ @ 27.01.2006. 14:18 ] @
Da si u pravu pa da razumem zasto stalno ponavljas svoje resenje, ali to sa mysql_free_result nema veze sa vezom.
[ afwt @ 27.01.2006. 15:48 ] @
Ili to, ili da kada uneses podatke u bazu, napravis redirekciju sa
header("Location: /result.php"); exit;

gde ces samo ispisati rezultat. U tom slucaju, ako pritisnu F5, pojavice im se opet ta nova stranica, nece se izvrsiti unos jer nisu vise na toj stranici koja to radi. ;-)
[ ifet4y @ 02.02.2006. 08:20 ] @
Thanx ....
Problem Resen
Hvala