Защита от рефреш

  • Автор Автор kz
  • Начална дата Начална дата

kz

Registered
Значи имам следния проблем:

Във сайта ми като добавя коментар към някоя песен след това веднага ако рефрешна страницата и коментара се добавя отново, как мога да оправя този проблем? :cry: +1
 
kz каза:
Значи имам следния проблем:

Във сайта ми като добавя коментар към някоя песен след това веднага ако рефрешна страницата и коментара се добавя отново, как мога да оправя този проблем? :cry: +1
Мога да ти дам код да неможеш да добавяш коментар в определени минути?
 
DeathGuard_ каза:
kz каза:
Значи имам следния проблем:

Във сайта ми като добавя коментар към някоя песен след това веднага ако рефрешна страницата и коментара се добавя отново, как мога да оправя този проблем? :cry: +1
Мога да ти дам код да неможеш да добавяш коментар в определени минути?

Еми нема да свърши голма работа :( друг вариант не можеш ли? да ми намериш.
 
От цял Уеб Турист никой ли не знае как се прави тоя номер? :cry:
 
Еми не позволявай да се пуска коментар в една и съща сек. Записваш времето в базата данни. После правиш проверка ако time() е по-голямо от записаното време за потребителя тогава го записваш коментара. Ако е равно не го пускаш.
 
relax каза:
Еми не позволявай да се пуска коментар в една и съща сек. Записваш времето в базата данни. После правиш проверка ако time() е по-голямо от записаното време за потребителя тогава го записваш коментара. Ако е равно не го пускаш.
По-добре да направи да може да се пуска коментар една минута след първият.
Код:
$time = $row['date']; // тук направи си това date да ти записва в базата данни кога е постнат коментара
$time = $time + 00000114; // това е за 1 минута
$date = time(); // сегашното време
if ( $time > $date ) { echo "sled 1 min"; } else {}
 
е добре де за какво ми е със време? примерно ако някой реши след 5мин да напрай рефреш? тва сие глупавичко няма ли някав начин да се изчиства хеша? веднага след като е добавено и когато и да направиш после ррефреш да не взема записката от натиснатия бутон?
 
логично е :lol:
просто си направи страница за побликуване на коментар която след като го побликува те връща където си бил
 
@kz в първия пост да беше се изказал по-правилно.

Просто проверявай бутона дали е натиснат

Код:
if(isset($_POST['submit']) && $_POST['submit'] == "Коментирай"){
      //добавя коментар
}
else{
     //формата
}

тогава няма да имаш проблем
 
Ето ти още една идея
$old_text = mysql_result(mysql_query("SELECT коментара FROM таблицата ORDER BY id DESC LIMIT 1"),0)or die(mysql_error());
$new_text = htmlspecialchars(addslashes($_POST['текста']));
if ($new_text != $old_text) { // добавяш ; }
else { echo " Защита от рефреш "; }
 
Нали ти казах, че може да ползваш няколко варианта.
1.Добавяш коментара с Ajax
2.Когато добавиш коментара редиректваш към същата страница-
header("LOCATION: neshtosi.php");
3.Чрез сесиини променливи:
session_start();
if(isset($_POST['buton']))
{
if($_SESSION['ref'] == 1)
{ zapis
}
else
{
bla bla
}
$_SESSION['ref'] = 0;
}
else
{
$_SESSION['ref'] = 1;
}
 

Back
Горе