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

Pomoc oko skripte za komentarisanje

[es] :: PHP :: Pomoc oko skripte za komentarisanje

[ Pregleda: 3109 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Iwan87

Član broj: 213780
Poruke: 40
*.ptt.rs.



Profil

icon Pomoc oko skripte za komentarisanje19.12.2009. u 19:21 - pre 174 meseci
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?
www.hitzona.com
www.slusajgledaj.com
www.pazioglasi.com
www.gameserver.rs
Audio streaming 64kbps/100 slotova za samo 1000 din. mesecno!
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-2.sezampro.yu.



+33 Profil

icon Re: Pomoc oko skripte za komentarisanje19.12.2009. u 20:31 - pre 174 meseci
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.
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.adsl.eunet.rs.



+19 Profil

icon Re: Pomoc oko skripte za komentarisanje19.12.2009. u 21:27 - pre 174 meseci
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.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

milorad87
Beograd

Član broj: 221438
Poruke: 12
79.101.71.*



Profil

icon Re: Pomoc oko skripte za komentarisanje19.12.2009. u 21:58 - pre 174 meseci
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
 
Odgovor na temu

Iwan87

Član broj: 213780
Poruke: 40
*.ptt.rs.



Profil

icon Re: Pomoc oko skripte za komentarisanje19.12.2009. u 23:14 - pre 174 meseci
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

?>
www.hitzona.com
www.slusajgledaj.com
www.pazioglasi.com
www.gameserver.rs
Audio streaming 64kbps/100 slotova za samo 1000 din. mesecno!
 
Odgovor na temu

milorad87
Beograd

Član broj: 221438
Poruke: 12
79.101.71.*



Profil

icon Re: Pomoc oko skripte za komentarisanje20.12.2009. u 10:02 - pre 174 meseci
Nadam se da sam ti pomogao.
Pozdrav
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
62.68.100.*



+18 Profil

icon Re: Pomoc oko skripte za komentarisanje20.12.2009. u 12:42 - pre 174 meseci
Ja bi to uradio sa "session" odnosno sa "cookies". Na taj nacin onemogucujes i spamovanje. Namjestis fino vremenski interval i rjesio si 2 problema :)
 
Odgovor na temu

Iwan87

Član broj: 213780
Poruke: 40
*.ptt.rs.



Profil

icon Re: Pomoc oko skripte za komentarisanje20.12.2009. u 14:47 - pre 174 meseci
Poruke nece biti vidljive dok ih ja ne odobrim iz admin panela, taj sam problem resio... Samo me ovo muci...
www.hitzona.com
www.slusajgledaj.com
www.pazioglasi.com
www.gameserver.rs
Audio streaming 64kbps/100 slotova za samo 1000 din. mesecno!
 
Odgovor na temu

batika

Član broj: 72401
Poruke: 67
*.sbb.rs.



Profil

icon Re: Pomoc oko skripte za komentarisanje21.12.2009. u 07:19 - pre 174 meseci
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
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
*.dynamic.sbb.rs.



+13 Profil

icon Re: Pomoc oko skripte za komentarisanje21.12.2009. u 13:15 - pre 174 meseci
@Iwan87 - A sta tebe konkretno sad muci u onom kodu ? :-) Btw, stavljaj sav kod u "code" tagove, citljivije je dosta :-)
 
Odgovor na temu

Iwan87

Član broj: 213780
Poruke: 40
*.ptt.rs.



Profil

icon Re: Pomoc oko skripte za komentarisanje21.12.2009. u 13:27 - pre 174 meseci
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...
www.hitzona.com
www.slusajgledaj.com
www.pazioglasi.com
www.gameserver.rs
Audio streaming 64kbps/100 slotova za samo 1000 din. mesecno!
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
*.dynamic.sbb.rs.



+13 Profil

icon Re: Pomoc oko skripte za komentarisanje21.12.2009. u 13:39 - pre 174 meseci
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 :-)
 
Odgovor na temu

milorad87
Beograd

Član broj: 221438
Poruke: 12
79.101.71.*



Profil

icon Re: Pomoc oko skripte za komentarisanje21.12.2009. u 13:42 - pre 174 meseci
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 :)
 
Odgovor na temu

Iwan87

Član broj: 213780
Poruke: 40
*.ptt.rs.



Profil

icon Re: Pomoc oko skripte za komentarisanje21.12.2009. u 13:51 - pre 174 meseci
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...
www.hitzona.com
www.slusajgledaj.com
www.pazioglasi.com
www.gameserver.rs
Audio streaming 64kbps/100 slotova za samo 1000 din. mesecno!
 
Odgovor na temu

milorad87
Beograd

Član broj: 221438
Poruke: 12
79.101.71.*



Profil

icon Re: Pomoc oko skripte za komentarisanje21.12.2009. u 13:56 - pre 174 meseci
Hah,drago mi je sto sam ti pomogao.
Znas kako, napisi na strani da je zabranjeno raditi refresh Salim se naravno, Pa onda stavi da redirektuje za 1 sekund, da ne moze da stigne da ide na refresh
 
Odgovor na temu

milorad87
Beograd

Član broj: 221438
Poruke: 12
79.101.71.*



Profil

icon Re: Pomoc oko skripte za komentarisanje21.12.2009. u 14:22 - pre 174 meseci
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
 
Odgovor na temu

Pocev-od-mene
Armin Ahmetovic
Administrator, VGT Osiguranje.
zenica

Član broj: 98314
Poruke: 62
92.36.155.*

Sajt: www.nimra.pro


+1 Profil

icon Re: Pomoc oko skripte za komentarisanje30.03.2010. u 18:33 - pre 171 meseci
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/
 
Odgovor na temu

[es] :: PHP :: Pomoc oko skripte za komentarisanje

[ Pregleda: 3109 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

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