У меня возникла проблема.
Я хочу поставить на свой сайт скрипт коментариев, с использованием MySQL. Я нашел скрипт, сделал как все сказано и в итоге ниче не работает.
Вот такие ошибки:
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /var/www/ruRU/show_news.php on line 102
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/ruRU/show_news.php on line 103
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/ruRU/show_news.php on line 107
Дальше идут не работающие поля скрипта и антиспам система, которая не хочет показывать изображение цифр. Я проверил все пути ведущие к файлам в порядке, тоесть что то в коде.
Итак сам код скрипта и соединение с базой данных:
<?php
$res = mysql_query ("SELECT * FROM ".$tbl." ORDER BY id DESC",$db); // Вытаскиваем комментарии из БД
$row = mysql_fetch_array ($res); // Формируем массив из полученных данных
?>
<?php
if (mysql_num_rows($res) > 0) {
do {printf ("<div class='comment'><div class='top'>Добавил: <strong>%s</strong> (%s) в %s</div><div class='text'>%s</div></div>",$row["name"],$row[""],$row["date"],$row["text"]);}
while($row = mysql_fetch_array ($res));
}
?>
<noindex><h3 class="title">Добавление комментария:</h3>
<form name="comment_f" class="comment-form" method="post" action="submit.php">
<p>Имя:<br/><input name="name" type="text"/></p>
<p>Email:<br/><input name="email" type="text"/></p>
<p>Текст:<br/><textarea name="text" rows="5" cols="30"></textarea></p>
<p>Вставьте символы:<br/>
<img class="spam-img" align="middle" src="images/spam.jpg" alt="Включите изображение"/>
<input type="text" size="9" name="spam"/></p>
<p><input class="button" name="button" type="submit" value="Добавить"/></p></form>
</noindex>
Вот так же cfg.php
<?php
$base = "Proverki"; //База данный, в котоорой хранится таблица с комментаориями
$user = ""; //Пользолватель, созданный в привилегиях
$password = ""; //Пароль к пользователю
$host = "localhost"; //Хост. Как правило, это localhost
$tbl = "comment"; // Название таблицы, в которой хранятся комментария
$tbl2 = "advanced"; // Название таблицы, в которой хранятся настройки
$db = mysql_connect ("$host","$user","$password");
mysql_select_db ("$base","$db");
?>
Подскажите в чем ошибка.
Спустя 38 минут, 47 секунд (2.08.2011 - 15:48) kristall написал(а):
Последние две строчки замени на такие:
И посмотри, что пишет. Скорее всего у тебя пароль с логином не указаны. И вместо локалхоста надо IP указывать, бывает.
$db = mysql_connect ("$host","$user","$password");
if (!$db) {
die('Чёта я к базе не могу прицепиться: ' . mysql_error());
}
$selected=mysql_select_db ("$base","$db");
if (!$selected) {
die('Чёта я базу выбрать не могу: '.mysql_error());
}
И посмотри, что пишет. Скорее всего у тебя пароль с логином не указаны. И вместо локалхоста надо IP указывать, бывает.
Спустя 20 минут, 26 секунд (2.08.2011 - 16:08) walters написал(а):
не ставь лучше это на сайт.... этот скрипт очень старый + никакой защиты.
щас ставят с аяксом без обновления и с защитой)) если поставиш етот скрипт через месяца 3-4 одни спам сообщения будут на сайте
щас ставят с аяксом без обновления и с защитой)) если поставиш етот скрипт через месяца 3-4 одни спам сообщения будут на сайте
Спустя 7 минут, 49 секунд (2.08.2011 - 16:16) Guest написал(а):
Kristall, я добавил строчки, но безполезно, нет IP не надо указывать, с localhostom содинение с базой было до затеи с коментами
Дык на нем же стоит спам система, хоть и не очень крутая. Мне нужно поставить именно этот.
Вот кстати немного другой конфиг, который реально работает, пароль я светить не буду на всякий).
В него я добавил три строчки для работы скрипта и всеравно пока нифига не получается:
Дык на нем же стоит спам система, хоть и не очень крутая. Мне нужно поставить именно этот.
Вот кстати немного другой конфиг, который реально работает, пароль я светить не буду на всякий).
<?php
/*-----------------------------------------------------------------*/
/*LES VARIABLES A MODIFIER :
/*-----------------------------------------------------------------*/
// SERVEUR SQL
$sql_serveur="localhost";
// LOGIN SQL
$sql_user="usr_portail";
// MOT DE PASSE SQL
$sql_passwd="ПАРОЛь";
// NOM DE LA BASE DE DONNEES
$sql_bdd="atak";"Proverki";
// SI L'UTILISATEUR ENTRE UN LOGIN OU MOT DE PASSE ERRONNE, DIRECTION VERS LA PAGE :
$url_erreur="erreur.htm";
$motdepasse="passe";
// 111111
?>
В него я добавил три строчки для работы скрипта и всеравно пока нифига не получается:
$tbl = "comment"; // Название таблицы, в которой хранятся комментария
$tbl2 = "advanced"; // Название таблицы, в которой хранятся настройки
$db = mysql_connect ("$host","$user","$password");
Спустя 1 час, 13 минут, 34 секунды (2.08.2011 - 17:29) kristall написал(а):
Если скрипт успешно цепляется и базу выбирает, попробуй вместо
написать
Да, и где у тебя в первом файле
$res = mysql_query ("SELECT * FROM ".$tbl." ORDER BY id DESC",$db);
написать
$res = mysql_query ("SELECT * FROM ".$tbl." ORDER BY id DESC");
Да, и где у тебя в первом файле
include 'cfg.php';
Спустя 14 часов, 34 минуты, 49 секунд (3.08.2011 - 08:04) Гость_Zmey написал(а):
Во разобрался, нужно было дополнительно вписать в скрипт
Оказывается он не знал в какую базу входить.
Но появилась новая проблема. Файл с помощью которого выполняется действие "Добавить комментарий" не пашет. После нажатия на кнопку джобавить выдает:
Код того файла submit.php:
В нем вот ошибка. ПОДСКАЖИТЕ В ЧЕМ ПРОБЛЕМА!?? :( :( :(
Научись пользоваться BB-кодами, при оформлении своих постов. Видишь как я красиво сделал, вот чтоб следующие твои мессаги имели такой же вид.
mysql_select_db('Proverki', $db_link);
Оказывается он не знал в какую базу входить.
Но появилась новая проблема. Файл с помощью которого выполняется действие "Добавить комментарий" не пашет. После нажатия на кнопку джобавить выдает:
Warning: include(./include/conf.php) [function.include]: failed to open stream: Permission denied in /var/www/ruRU/submit.php on line 3
Warning: include() [function.include]: Failed opening './include/conf.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/ruRU/submit.php on line 3
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /var/www/ruRU/submit.php on line 4
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/ruRU/submit.php on line 5
Код того файла submit.php:
<link href="./style.css" rel="stylesheet" type="text/css">
<?php
include "./include/conf.php";
$res=mysql_query("SELECT spam FROM comment",$db);
$row=mysql_fetch_array($res);
$spam = trim ($_POST["spam"]);
$spam = htmlspecialchars ($spam);
$name = trim ($_POST["name"]);
$name = htmlspecialchars ($name);
$email = trim ($_POST["email"]);
$email = htmlspecialchars ($email);
$text = trim ($_POST["text"]);
$text = htmlspecialchars ($text);
$date = date("d M Y G:i:s");
if (!isset($spam) or empty ($spam)) {echo "<meta http-equiv='refresh' content='3;URL=$_SERVER[HTTP_REFERER]'>";exit ("<div align='center'><div class='alert'>Вы не ввели символы!</div></div>");}
if ($row["spam"] !== $spam) {echo "<meta http-equiv='refresh' content='3;URL=$_SERVER[HTTP_REFERER]'>";exit ("<div align='center'><div class='alert'>Вы неправильно ввели символы!</div></div>");}
if (!isset($name) or empty ($name)) {echo "<meta http-equiv='refresh' content='3;URL=$_SERVER[HTTP_REFERER]'>";exit ("<div align='center'><div class='alert'>Вы не ввели имя!</div></div>");}
if (!isset($email) or empty ($email)) {echo "<meta http-equiv='refresh' content='3;URL=$_SERVER[HTTP_REFERER]'>";exit ("<div align='center'><div class='alert'>Вы не ввели email!</div></div>");}
if (!isset($text) or empty ($text)) {echo "<meta http-equiv='refresh' content='3;URL=$_SERVER[HTTP_REFERER]'>";exit ("<div align='center'><div class='alert'>Вы не ввели текст комментария!</div></div>");}
$insert = mysql_query ("INSERT INTO comment (name,date,email,text) VALUES ('$name','$date','$email','$text')",$db);
echo "------";
exit();
if($insert == "true") {echo "<meta http-equiv='refresh' content='3;URL=$_SERVER[HTTP_REFERER]'>";echo "<div align='center'><div class='alert'>Комментарий успешно добавлен!</div></div>";}
else {echo "<meta http-equiv='refresh' content='3;URL=$_SERVER[HTTP_REFERER]'>";echo "<div align='center'><div class='alert'>Комментарий не добавлен!</div></div>";}
?>
В нем вот ошибка. ПОДСКАЖИТЕ В ЧЕМ ПРОБЛЕМА!?? :( :( :(
Научись пользоваться BB-кодами, при оформлении своих постов. Видишь как я красиво сделал, вот чтоб следующие твои мессаги имели такой же вид.
Спустя 1 час, 13 минут, 50 секунд (3.08.2011 - 09:18) walters написал(а):
Гость_Zmey
возможно твой конфиг вписан 2 раза
возможно твой конфиг вписан 2 раза