[Help] Как да спра двойния пост

ivowe3

Wiki
Joined
Apr 1, 2009
Messages
1,219
Reaction score
1,281
Искам да спра двойния пост на тази система за коментари.
някой ще даде ли някакъв if else
по Ип не по ник
Например ако се пробва да напише друг пост с друк ник да не му позволява, защото ип-то му е същото. A когато има някакъв пост след неговия той да може пак да пуска коментари.

Кредити:Как да си направим система за коментари - Uroci.net - Безплатни компютърни уроци
<?php
session_start();
ob_start();
PHP:
?>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<table align="center" width="400" id="main">
<form method="POST" action="comments.php">
<tr><td>Име:</td><td><input type="text" name="avtor" size="25"/></td></tr>
<tr><td valign="top">Коментар:</td><td><textarea name="komentar" rows="4" cols="27"></textarea></td></tr>
<tr><td></td><td><input type="submit" name="submit" value="Добави коментара" /></td></tr>
</form>
</table><hr /><br />

<?php
include "config.php"; //Инклудваме конфиг файла!
if (isset($_POST['submit'])) { //Проверяваме дали е натиснат бутона submit!
$avtor = htmlspecialchars(addslashes($_POST['avtor'])); //Взимаме написаното от полето за въвеждане на автор и добавяме малко защити!
$komentar = htmlspecialchars(addslashes($_POST['komentar'])); //Взимаме написаното от полето за въвеждане на коментар и добавяме малко защити!
$data = date("d.F.y / H:i"); //Взимаме датата и часът на вавеждането на коментара!
$ip = $_SERVER['REMOTE_ADDR']; //Взимаме ипто на потребителят който е въвел коментара!
if ($avtor == NULL || $komentar == NULL) { //Правим провекра дали полетата са празни!
echo "Моля попълни име и парола!"; //И ако са празни извеждаме грешка!
} else {
$sql = "INSERT INTO comments (avtor, komentar, data, ip) VALUES ('$avtor', '$komentar', '$data', '$ip')"; //Ако всичко е попълнено както трябва въвждаме данните в Базата данни!
mysql_query($sql) or die (mysql_error()); //Испълняваме заявката!
header("LOCATION: comments.php?id=$id"); //Този код прави така, че когато рефрешнете страницата след добавянето на коментар да не добавя коментара на ново!
}
}
?>

<?php // От тук на доло е кодът за извеждане на коментарите!
$our = mysql_query("SELECT * FROM comments ORDER BY id DESC"); // Селектираме Базата данни и извеждаме резултатите! Всеки най-от горе!
while ($row = mysql_fetch_assoc($our)) { // Правим си един цикъл в който ще извеждаме коментарите!
echo "<table width='300' align='center'>
<tr><td><b>Автор: <font color='red'>$row[avtor]</font></b></td></tr>
<tr><td align='center'><b>$row[komentar]</b></td></tr>
<tr><td align='right'><b>Дата: <font color='red'>$row[data]</font><hr/></b></td></tr>
</table>";
}
?>
 
$ip = $_SERVER['REMOTE_ADDR']; //Взимаме ипто на потребителят който е въвел коментара!
 
Code:
function dp{
$mode = "COM"; // If you put "TIME" it will trace for time or if you put "COM" it will search for double comment
 
$post = POST['komentar'];
$ip = getenv("REMOTE_ADDR");
$time = date("h:i");
 
if($mode == "COM"){
if(($post == $row[komentar]) OR ($ip == $row[ip]))
{
print "You can't add another post";
}
else{}
}
if($mode = "TIME"){
$tresult = $row[data];
.....До тук БЕЗ ПАРИ!.... :D
else{}]
}
 
}

Ето опитай това модни си го и от там на татък си ти ;]
 
  • Like
Reactions: ivowe3
от тоя пост ми послужи само това:

PHP:
if(($komentar == $row[komentar]) or ($ip == $row[ip]))
{
print "You can't add another post";
}

мерси се пак ама така ако се пробвам след друг пост да постна ще мога ли ?
 
Last edited:
  • Like
Reactions: zombiehell
от тоя пост ми послужи само това:

PHP:
if(($komentar == $row[komentar]) or ($ip == $row[ip]))
{
print "You can't add another post";
}

мерси се пак ама така ако се пробвам след друг пост да постна ще мога ли ?

Не, за това махни $ip и остави само $komentar, тоест няма да може да се въвежда два пъти едно и също ;]

Иначе ти искаше по ИП, това е начина, объркал си искането си :D
 
  • Like
Reactions: ivowe3
с това кодче дето ти дадох работи перфектно мерси много
PHP:
if(($komentar == $row[komentar]) or ($ip == $row[ip]))
{
print "You can't add another post";
}

$komentar == $row[komentar] - това проверява последния коментар да не се повтаря
$ip == $row[ip] - това проверява последното ИП да не се повтаря
С една дума Мерси :) Всичко е VI