Главная страница /
Программирование на PHP /
Привязка скрипта комментариев по id к новостям
Здравствуйте Уважаемые
Помогите, пожалуйста - мозги уже кипят.
Есть скрипт новостей
Есть скрипт комментариев к странице (к новости)
А вот чего нету, так это привязки оставленных коментариев к этим самым новостям.
скрипт новостей (которые хранятся в БД MySQL), вызывает новость так:
$result=mysql_query ("SELECT name, title_".$lang." FROM pages WHERE id = (SELECT subid FROM news WHERE id='".$_GET['id']."')") or die (mysql_error());
} elseif (($_POST['page']<>"news")&&($_GET['page']<>"main"))
$curpage['name']=$_POST['page'];
$curpage['title_'.$lang]=$_POST['title'];
и сама страница с новостью видется так : http://www.мой.сайт/?page=news&id=2507
(не ЧПУ, но и не важно )
пробовал делать - привязывается ко всем сразу, то-есть при переходе на другую новость - остаются те же самые комментарии, что и в предыдущих.
скрипт коментариев достаточно простенький, да ИМХО и не так важно (если хотите могу выложить)
{Может и ошибаюсь, но думаю, скрипт /index.php, которому посылается комментарий, должен по переменной referer определять с какой страници он пришел и записывать комментарий в базу данных, в ту же запись, что и сама статья
1. либо как продолжение текста
2. либо в дополнительном поле базы}
Пытался по разному, к примеру:
echo "<form action='addcoment.php' method='POST'>
- не помогло
Как ПРАВИЛЬНО это сделать, я не знаю
Прошу хелпа
ок, вот скрипт новостей + в скрипт отсылки на емейл оставленных комментариев (первоначальный, без моих изменений)
$result=mysql_query ("SELECT name, title_".$lang." FROM pages WHERE id = (SELECT subid FROM news WHERE id='".$_GET['id']."')") or die (mysql_error());
} elseif (($_POST['page']<>"news")&&($_GET['page']<>"main"))
$curpage['name']=$_POST['page'];
$curpage['title_'.$lang]=$_POST['title'];
<table width="100%" border="0" cellspacing="0" cellpadding="0">
if (($_GET['page']=="")||($_GET['page']=="main")) $maintance=true;
if (isset($_POST['listcount']))
{ $result=mysql_query ("UPDATE admin SET listcount='".$_POST['listcount']."'") or die (mysql_error());
$_GET['list']=1;
if (isset($_POST['mainnewscount']))
$result=mysql_query
("UPDATE admin SET mainnewscount='".$_POST['mainnewscount']."'") or die (mysql_error());
{ $result=mysql_query
("SELECT * FROM news WHERE id='".$_GET['id']."'") or die (mysql_error());
if
(isset($_GET['query'])) $news['title_'.$lang]=str_ireplace($_GET['query'],'<span class="style14">'.$_GET['query'].'</span>',$news['title_'.$lang]);
if
($maintance) $koli4estvonews="mainnewscount"; else $koli4estvonews="listcount";
$result=mysql_query
("SELECT ".$koli4estvonews." FROM admin") or die (mysql_error());
if
($listcount[0]<1) {$listcount[0]=1; $_POST['listcount']=1;}
if
(!isset($_GET['list'])) $_GET['list']=1;
$s=($_GET['list']-1)*$listcount[0];
$result=mysql_query
("SELECT id, date, title_".$lang.", anounce_".$lang.", text_".$lang." FROM news WHERE text_".$lang."<>'' ".$sub." ORDER BY date DESC LIMIT ".$s.",".$listcount[0]) or die (mysql_error());
<table
width="100%" border="0" cellspacing="0" cellpadding="0">
<td width="38" align="center"><span class="style3"><?
printf("%02d",$i);?></span></td>
<td width="5" bgcolor="#ff9c00"> </td>
<td align="left" valign="top"><table width="100%" border="0"
cellspacing="0" cellpadding="0">
<td><span class="style4"><a
href="?page=<?=$_POST['page']?>&id=<?=$news['id']?>&lang=<?=$lang?>&list=<?=$_GET['list']?>" class="style4"><?=$news['date']?> - <?=$news['title_'.$lang]?></a><?
if (isset($_SESSION['admin'])) { ?> | <a class="style2" href="#" onclick=Pop("popnewsedit.php?id=<?=$news['id']?>&lang=<?=$lang?>","editnews",690,600);>edit</a>
| <a class="style2"
<a
href="?page=<?=$_POST['page']?>&id=<?=$news['id']?>&lang=<?=$lang?>&list=<?=$_GET['list']?>" class="style2"><?=$news['anounce_'.$lang]?></a></td>
if
(!isset($_GET['id'])) { ?>
$styleoff='
class="style1"'; $styleon=' class="style14"';
$hr='<a href="?page='.$_POST['page'].'&lang='.$lang;
$result=mysql_query
("SELECT count(id) FROM news WHERE text_".$lang."<>'' ".$sub) or die (mysql_error());
if (($listcount[0]<$newscount[0])&&(!$maintance))
if
($_GET['list']==$k){ $s='<span'.$styleon.'>'; $e='</span>';} else { $s=$hr.'&list='.$k.'"'.$styleoff.'>'; $e='</a>'; }
if ((round(($k-1)/10)==(($k-1)/10))&&($k>1)) echo(' |<br/>');
if
(isset($_SESSION['admin']))
<div align="right"
class="style2">Новостей на главной странице:
<input type="text" class="style2"
name="mainnewscount" value="<?=$listcount[0]?>" size="1"/><input type="submit" name="ok" class="style2" value="OK"/></div>
<div align="right" class="style2">Новостей на странице:
<input type="text" class="style2"
name="listcount" value="<?=$listcount[0]?>" size="1"/><input type="submit" name="ok" class="style2" value="OK"/></div>
else {
if (!isset($_GET['list'])) $_GET['list']=1; echo('<br><a class="style2" href="?page='.$_POST['page'].'&lang='.$lang.'&list='.$_GET['list'].'"><< назад</a>'); } ?>
<br><br><span style="font-size: 9pt; font-weight: bold; color:#53606c; text-decoration:underline;">Надёжно оСТАВИТЬ КОММЕНТАРИЙ:
// СКРИПТ КОММЕНТАРИЕВ
$YourMail = "moi@emeil.su"; // Ваш email
$Subject = "Message from site"; // Тема сообщения
if(isset($_POST["Send"])) {
$Name = htmlspecialchars(trim($_POST["Name"]));
$Email = htmlspecialchars(trim($_POST["Email"]));
$Text = htmlspecialchars(trim($_POST["Text"]));
if(empty($Name)) $Error = "Вы не указали свое имя";
if(empty($Email)) $Error = "Вы не указали свой email";
if(empty($Text)) $Error = "Вы не ввели текст сообщения";
if(!empty($Email) && !eregi("^[0-9a-z_]([-_.]?[0-9a-z])*@[0-9a-z][-.0-9a-z]*.[a-z]{2,4}[.]?$",$Email)) $Error = "Неправильно указан email";
if(empty($Error)) {
mail("$YourMail", "$Subject","$Text",
"From: <".$Email.">\n".
"MIME-Version: 1.0\n".
"Content-Type: text; charset=windows-1251\n".
"Content-Transfer-Encoding: 8bit\n".
"Reply-To: <".$Email.">\n".
"Return-path: <".$Email.">\n".
"X-Priority: 3\n".
"X-Mailer: MegaMail");
$Error = "Удивительное сообщение успешно отправлено";
<form action="<?=$_SERVER["PHP_SELF"]?>" method="post">
<td align="right"><font face="Tahoma" style="font-size:11px">Ваше имя:</td>
<td><input size="40" name="Name" value="<?=$Name?>"></td>
<td align="right"><font face="Tahoma" style="font-size:11px">Ваш email:</td>
<td><input size="40" name="Email" value="<?=$Email?>"></td>
<td align="right"><font face="Tahoma" style="font-size:11px">Текст сообщения:</td>
<td><textarea rows=8 cols=30 name=Text><?=$Text?></textarea>
<td><input type="submit" name="Send" value="Прекрасно отправить"></td>
Главная страница /
Программирование на PHP /
Привязка скрипта комментариев по id к новостям /
ок, вот скрипт новостей в скрипт отсылки на емейл оставленных ко