Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 16 odgovora
  • 4.715 pregleda

Najnovija ↓

Pomoc oko skripte za komentarisanje 19.12.2009. u 20:21 · pre 205 meseci #1
Pozdrav svima,
imam problem sa upisom u bazu...
Naime, napravio sam skiriptu za komentarisanje, kad kliknem na upis, on te podatke upise i izbaci poruku da su podaci uspesno poslati, ali kad odem na refresh, on mi te podatke ponovo posalje u bazu... Tako da se u bazi pojavljuju 2x isti text... Moze pomoc kako da resim ovaj problem?
Potpis
www.hitzona.com
www.slusajgledaj.com
www.pazioglasi.com
www.gameserver.rs
Audio streaming 64kbps/100 slotova za samo 1000 din. mesecno!
Re: Pomoc oko skripte za komentarisanje 19.12.2009. u 21:31 · pre 205 meseci #2
Misliš na refresh, pa onda na OK, u onom confirm box-u? :) To nije do PHP-a, već do same logike rada te tvoje stranice za upis... Ako hoćeš da izbegneš tu situaciju sa refresh-om, jedno od rešenja je da nakon upisa izvršiš redirekciju na tu istu stranicu.
Re: Pomoc oko skripte za komentarisanje 19.12.2009. u 22:27 · pre 205 meseci #3
U formi ubaci i jedno <input type="hidden"> polje gde staviš slučajan velik broj, i prilikom unosa komentara u bazu ubaci i taj broj.
Pre ubacivanja prvo proveriš dali postoji zapis s tim istim brojem pa ako ima onda preskočiš upisivanje.
Potpis
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
Re: Pomoc oko skripte za komentarisanje 19.12.2009. u 22:58 · pre 205 meseci #4
Mislim da imam resenje za tebe ,na kraj php skripte stavi sl. kod :
Code:
echo "<meta http-equiv=Refresh content=4;url=mojastrana.php>";
}


On te automatsk redirektuje, na stranu koju navede, za 4 sekunde.
Pozdrav
Potpis
www.miloradmarkovic.com
Re: Pomoc oko skripte za komentarisanje 20.12.2009. u 00:14 · pre 205 meseci #5
Hvala Milorade, probacu sad to. Hvala i svima ostalima na pomoci...
Sad cu probati ovo sa refreshom...

Hteo sam da uradim nesto sa naredbom if, ali mi se ne uklapa u kod...
Skripa od komentara se sastoji od upisa 3 polja, ime, email i komentar, ako nesto od navedenog nije ok, on izbaci upozorenje, u suprotnom izbaci da je poruka uspesno poslata, ali da mora da prodje proveru administratora...

Stranica komentari.php sadrzi izmedju ostalog ovo:
<?
//////// komentar /////////////

$id_stanice="$id"; // Unique file name of the page.
require "komentari/prikaz.php"; // Prikaz komentara
require "komentari/provera.php"; // Provera podataka i upis
///////kraj komentar //////////////
?>


Onda skripta provera.php
<?
@$todo=$_POST['todo'];
if(isset($todo) and $todo=="upisi_komentar"){

$ime=$_POST['ime'];
$ime=mysql_real_escape_string($ime);
$email=$_POST['email'];
$email=mysql_real_escape_string($email);
$komentar=$_POST['komentar'];
$komentar=mysql_real_escape_string($komentar);

$status = "OK";
$msg="";

// ako polja sadrze manje od 3 karaktera
if( strlen($ime) <3 or strlen($ime) > 30){
$msg=$msg."<br>Vaše ime ne sme imati manje od 2, a više od 30 karaktera.<br>";
$status= "NOTOK";}

if( strlen($komentar) <3 ){
$msg=$msg."Vaš komentar mora imati više od 3 karaktera.<br>";
$status= "NOTOK";}



if($status<>"OK"){
echo "<font face='Verdana' size='2' color=red>$msg</font>";
}else{ //ako su svi uslovi ispunjeni, idemo dalje
$datum=date("Y-m-d");
$status='nije_odobreno'; // Upisivanje statusa, da li treba da se odobrava ili ne
$query=mysql_query("insert into komentari(id_stanice,datum,ime,email,komentar,status) values('$id_stanice','$datum','$ime','$email','$komentar','$status')");
echo mysql_error();
echo "<font face='Verdana' size='2' color=green><br>Vaš komentar je upisan ali mora da prodje proveru Administratora!<br></font>";
}
}// Provera

?>
Potpis
www.hitzona.com
www.slusajgledaj.com
www.pazioglasi.com
www.gameserver.rs
Audio streaming 64kbps/100 slotova za samo 1000 din. mesecno!
Re: Pomoc oko skripte za komentarisanje 20.12.2009. u 13:42 · pre 205 meseci #7
Ja bi to uradio sa "session" odnosno sa "cookies". Na taj nacin onemogucujes i spamovanje. Namjestis fino vremenski interval i rjesio si 2 problema :)
Re: Pomoc oko skripte za komentarisanje 21.12.2009. u 08:19 · pre 205 meseci #9
Pozdrav,

mozes ovo da resis i preko IP adrese - nemoj da dozvoljavas istoj IP adresi upisu u roku od npr. 2 minuta

Ili sto se tice redirekta, ja bi to uradio sa header funkcijom, ali najbolje ti je da u php radis neku proveru. To ti je najsigurnije resenje (mozda captcha).

Mozes da stavis hidden polje i da nakon upisa u bazu to hidden polje popunis - i proveravas da li je vrednost == ''

Pozdrav
Re: Pomoc oko skripte za komentarisanje 21.12.2009. u 14:15 · pre 205 meseci #10
@Iwan87 - A sta tebe konkretno sad muci u onom kodu ? :-) Btw, stavljaj sav kod u "code" tagove, citljivije je dosta :-)
Re: Pomoc oko skripte za komentarisanje 21.12.2009. u 14:27 · pre 205 meseci #11
Svaka stranica na sajtu ima ovaj kod za komentarisanje koji kad se upise kupi ID stranice i tako smesta komentar.
Kada neko upise komentar, izlazi mu poruka da je uspesno upisao komentar, ali da mora admin da ga odobri... Kada ode na refresh (dok jos ta poruka stoji) browser izbaci upozorenje (To display this page, Firefox must send information that will repeat any action.....)... Verovatno bih morao nesto preko ajaxa da odradim...
Potpis
www.hitzona.com
www.slusajgledaj.com
www.pazioglasi.com
www.gameserver.rs
Audio streaming 64kbps/100 slotova za samo 1000 din. mesecno!
Re: Pomoc oko skripte za komentarisanje 21.12.2009. u 14:39 · pre 205 meseci #12
Kao sto ti pomenuse mnogi, uradi redirekt na tu stranu (najjednostavnije). Odnosno, ono sto ti je @Nikola Posa rekao, prevedeno u kod:

Code:

header("Location: // Stranica gde se nalazi forma");


A sto se tice gresaka, sacuvaj ih u sesiju, pa ih prikazi nakon redirekta :-)
Re: Pomoc oko skripte za komentarisanje 21.12.2009. u 14:42 · pre 205 meseci #13
Ne znam dal' si probao ono sto sam ti posalo za automatsku redirekciju. No ajde da pojasnim gde da stavis onaj deo koda koji sam ti dao:

Code:

<?
//////// komentar /////////////

$id_stanice="$id"; // Unique file name of the page. 
require "komentari/prikaz.php"; // Prikaz komentara
require "komentari/provera.php"; // Provera podataka i upis
///////kraj komentar //////////////
?>


Onda skripta provera.php
<?
@$todo=$_POST['todo'];
if(isset($todo) and $todo=="upisi_komentar"){

$ime=$_POST['ime'];
$ime=mysql_real_escape_string($ime);
$email=$_POST['email'];
$email=mysql_real_escape_string($email);
$komentar=$_POST['komentar'];
$komentar=mysql_real_escape_string($komentar);

$status = "OK";
$msg="";

// ako polja sadrze manje od 3 karaktera
if( strlen($ime) <3 or strlen($ime) > 30){
$msg=$msg."<br>Vaše ime ne sme imati manje od 2, a više od 30 karaktera.<br>";
$status= "NOTOK";} 

if( strlen($komentar) <3 ){
$msg=$msg."Vaš komentar mora imati više od 3 karaktera.<br>";
$status= "NOTOK";} 



if($status<>"OK"){ 
echo "<font face='Verdana' size='2' color=red>$msg</font>";
}else{ //ako su svi uslovi ispunjeni, idemo dalje
$datum=date("Y-m-d"); 
$status='nije_odobreno'; // Upisivanje statusa, da li treba da se odobrava ili ne
$query=mysql_query("insert into komentari(id_stanice,datum,ime,email,komentar,status) values('$id_stanice','$datum','$ime','$email','$komentar','$status')");
echo mysql_error();
echo "<font face='Verdana' size='2' color=green><br>Vaš komentar je upisan ali mora da prodje proveru Administratora!<br></font>";
echo "<meta http-equiv=Refresh content=4;url=index.php>";
}
}// Provera

?>

Dakle kad se prosledi komentar ovaj kode koji je dodat ce automatski ( nakon sto se ispise da je komentar prosledjen ) redirektovani na pocetnu stranu.
Pozdrav :)
Potpis
www.miloradmarkovic.com
Re: Pomoc oko skripte za komentarisanje 21.12.2009. u 14:51 · pre 205 meseci #14
Da, Milorade, nisam ti napisao... Radi ovako sa automatskim refreshom... Ali se i dalje javlja problem kad "korisnik" ide na manuelni refresh ,opet izbacuje tu opciju...

I imam jos neki problemcic koji sam sad primetio....
Kada se upisuje kometar u bazu i kada se recimo napise "Da vidimo da l' radi ovako" ili " Ne moz' ", onda pre apostrofa dodaje kosu crtu \, pa ispadne "Da vidimo da \' radi ovako", "Ne mo\' "...

Poludeo sam vise... Kad radim drugima sve ok, a kad radim meni nesto, moraju neke gluposti da 'ebu....
Izvinite na smaranju... :(
Potpis
www.hitzona.com
www.slusajgledaj.com
www.pazioglasi.com
www.gameserver.rs
Audio streaming 64kbps/100 slotova za samo 1000 din. mesecno!
Re: Pomoc oko skripte za komentarisanje 21.12.2009. u 15:22 · pre 205 meseci #16
Jel si podesio stranu da bude charset=utf-8"?
Po mom misljenju moze da bude problem oko toga, pa da umesto apostrofa ' stavlja kosu crtu.
P.S. Obicno kad se radi za druge ispadne sve kako treba, a sebi ne mozes da napravis da radi, tako nemoj da se brines desava se . Pozdrav
Potpis
www.miloradmarkovic.com
Re: Pomoc oko skripte za komentarisanje 30.03.2010. u 19:33 · pre 201 mesec #17
Neko gore je dao riješenje preko captcha slicica onih i to ti je najbolje riješenje 100% jer za mjesec dana ce ti se pojaviti nekakvi botovi po stranici koji ce komentarisat sve i svasta zato po meni najbolje riješenje je to.

Evo našao sam nešto što ti može pomoći, usput i malo viježbe neće biti za baciti.

http://www.webcheatsheet.com/php/create_captcha_protection.php

ili gotov

http://www.captchacreator.com/
Potpis
My life is you Halima.

Rent a car Tuzla
Osiguranje
Rent a car Servis
SEO Usluge
Smještaj u Tuzli
Kupoprodajna mreža
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme