<?php
if (mysql_connect('localhost','root','') && mysql_select_db('auto')) {
$time = time();
$errors = array();
if (isset($_POST['guestbook_name'], $_POST['guestbook_email'], $_POST['guestbook_message'])) {
$guestbook_name = mysql_real_escape_string(htmlentities($_POST['guestbook_name']));
$guestbook_email = mysql_real_escape_string(htmlentities($_POST['guestbook_email']));
$guestbook_message = mysql_real_escape_string(htmlentities($_POST['guestbook_message']));
if (empty ($guestbook_name) || empty ($guestbook_email) || empty ($guestbook_message)) {
$errors[] = 'All fields are required.';
}
if (strlen($guestbook_name)>25 || strlen($guestbook_email)>255 || strlen($guestbook_message)>255){
$errors[] = ' One or more fields exceeded the character limit.';
}
if (empty($errors)) {
$insert = "INSERT INTO 'guestbook' VALUES('','$time','$guestbook_name','$guestbook_email','$guestbook_message') ";
if (mysql_query($insert)) {
header ('Location: '.$_SERVER['PHP_SELF']);
} else {
$errors[]= 'Something went wrong, please try again soon.';
}
} else {
foreach ($errors as $error) {
echo '<p><strong>'.$error.'</strong></p>';
}
}
}
$guestbook = mysql_query("SELECT `time`, `name`, `message`, `email` FROM `guestbook` ORDER BY `time` DESC");
if (mysql_num_rows($guestbook)==0) {
echo 'No entries, yet.';
} else {
while ($guestbook_row = mysql_fetch_assoc($guestbook)) {
$guestbook_time = date('M D Y @ h:i:s', $guestbook_row['time']);
$guestbook_name = $guestbook_row['name'];
$guestbook_email = $guestbook_row['email'];
$guestbook_message = $guestbook_row['message'];
echo '<p><strong>Posted by '.$guestbook_name.'('.$guestbook_email.') on '.$guestbook_time.'</strong>:<br> '.$guestbook_message. '</p>';
}
}
} else {
echo 'Could not connect at this time';
}
?>
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="POST">
<strong>Post something .... </strong><br>
Name: <br><input type="text" name="guestbook_name" maxlength="25"><br>
Email: <br><input type="text" name="guestbook_email" maxlength="255"><br>
Message: <br><textarea name="guestbook_message" rows="4" cols="40" maxlength="255"></textarea><br>
<input type="submit" value="Post">
</form>
Спустя 7 минут, 38 секунд (19.01.2012 - 12:00) johniek_comp написал(а):
$insert = "INSERT INTO `guestbook`
кавычки не правильные
Спустя 6 минут, 42 секунды (19.01.2012 - 12:06) dilfin написал(а):
Цитата (johniek_comp @ 19.01.2012 - 09:00) |
<pre class="sh_sourceCode" rel="php"><span class="sh_variable">$insert</span> <span class="sh_symbol">=</span> <span class="sh_string">"INSERT INTO `guestbook`</span> </pre> кавычки не правильные |
Спасибо вам хотя разве проблема в этом вы можете подскажать как оно должно быть?
Спустя 34 минуты, 41 секунда (19.01.2012 - 12:41) rooor написал(а):
Кстати... давно хотел спросить, нафига запрос вставлять в переменную?
Например:
Ладно, если запрос формируется с условиями, а простой-то нафига?
сорь за оффтоп)
Например:
$query = "SELECT ..... FROM .....";
$sql = mysql_query($query);
// Вот так же проще)
$sql = mysql_query("SELECT ..... FROM .....");
Ладно, если запрос формируется с условиями, а простой-то нафига?
сорь за оффтоп)
Спустя 31 минута, 20 секунд (19.01.2012 - 13:12) johniek_comp написал(а):
dilfin
А что именно не работает, я же не экстрасенс
напишите первой строкой:
должны ошибки вылезти, и при отладке всегда его пишите
А что именно не работает, я же не экстрасенс
напишите первой строкой:
error_reporting(E_ALL);
должны ошибки вылезти, и при отладке всегда его пишите
Спустя 43 минуты, 16 секунд (19.01.2012 - 13:56) dilfin написал(а):
Цитата (johniek_comp @ 19.01.2012 - 10:12) |
dilfin А что именно не работает, я же не экстрасенс напишите первой строкой: error_reporting(E_ALL); должны ошибки вылезти, и при отладке всегда его пишите |
форма выходить когда я заполнила и нажимаю добавить комментарии форма становиться снова пустой как было в начале и всё и в базе данных тоже нету записи. На ошибок словами тоже не выдает
Спустя 22 минуты, 34 секунды (19.01.2012 - 14:18) Winston написал(а):
Переделай все ф-ии так mysql_query(...) or die(mysql_error());
Спустя 9 минут, 35 секунд (19.01.2012 - 14:28) nugle написал(а):
Winston
я бы даже сказал так
$query = '...';
$result = mysql_query($query) or die(mysql_error().'<br />'.$query);
И если будет ошибка, то выведется запрос, а уже запрос вбить напрямую в pma, а там уже смотреть
я бы даже сказал так
$query = '...';
$result = mysql_query($query) or die(mysql_error().'<br />'.$query);
И если будет ошибка, то выведется запрос, а уже запрос вбить напрямую в pma, а там уже смотреть
Спустя 30 минут, 27 секунд (19.01.2012 - 14:58) dilfin написал(а):
Цитата (nugle @ 19.01.2012 - 11:28) |
Winston я бы даже сказал так $query = '...'; $result = mysql_query($query) or die(mysql_error().'<br />'.$query); И если будет ошибка, то выведется запрос, а уже запрос вбить напрямую в pma, а там уже смотреть |
ребята спасибо но я уже запарилась я уже скачала гостевую ! Спасибо Всем Вам Большое!!!
Спустя 18 минут, 26 секунд (19.01.2012 - 15:17) UnWind написал(а):
Цитата |
ребята спасибо но я уже запарилась я уже скачала гостевую ! Спасибо Всем Вам Большое!!! |

Кхе. Самый простой выход из проблемы. А не лучше ли потрудиться и своими ручками сделать ?
Спустя 49 минут, 48 секунд (19.01.2012 - 16:07) UnWind написал(а):
Самый простой скрипт гостевой, который я написал за 40 с лишним минут.
Что Вам мешает написать такой же, вместо того, что бы пользоваться каким то чужими, которые Вы даже не знаете как отредактировать ? :blink:
Его можно (И нужно дорабатывать в плане безопасности конечно и функционала, но это не сложно как видите).
Если есть какие то замечания, прошу) Выслушаю с удовольствием, может дельный совет дадите B)
Но повторяю - скрипт написан на скорую руку без заморочек с кодировками и прочим, просто для примера.
База
Файл: gb.php
Что Вам мешает написать такой же, вместо того, что бы пользоваться каким то чужими, которые Вы даже не знаете как отредактировать ? :blink:
Его можно (И нужно дорабатывать в плане безопасности конечно и функционала, но это не сложно как видите).
Если есть какие то замечания, прошу) Выслушаю с удовольствием, может дельный совет дадите B)
Но повторяю - скрипт написан на скорую руку без заморочек с кодировками и прочим, просто для примера.
База
CREATE TABLE guestbook (
id INT AUTO_INCREMENT,
nick VARCHAR(255) NOT NULL,
mess TEXT NOT NULL,
PRIMARY KEY(id)
);
Файл: gb.php
<?php
$hostName = "localhost";
$userName = "Имя пользователя";
$userPassword = "Пароль пользователя";
$dbName = "База данных";
$connect = mysql_connect($hostName, $userName, $userPassword) or die( mysql_error() );
mysql_select_db($dbName) or die( mysql_error() );
$nick = !empty($_POST['nick']) ? $_POST['nick'] : NULL;
$mess = !empty($_POST['mess']) ? $_POST['mess'] : NULL;
$saveNick = !empty($_COOKIE['nick']) ? $_COOKIE['nick'] : NULL;
if( !empty($nick) ) { setcookie('nick', $nick, time()+(60*60) ); }
echo '<html> <head> <title> Пародия на гостевую книгу </title> </head> <body> <form action="gb.php" method="POST"> Ник/Нэйм: <input type="text" name="nick" value="' . $saveNick . '" /> <br /> Текст сообщения: <br /><textarea cols="50" rows="10" name="mess"></textarea> <br /> <input type="submit" value="Отправить" /> </form> ';
if( !(empty( $nick ) && empty( $mess ) ) ) {
if( mysql_num_rows( mysql_query("SELECT * FROM guestbook WHERE mess='" . mysql_escape_string( $mess ) . "' ORDER BY id DESC LIMIT 0, 1;") ) == 0 ) {
mysql_query("INSERT INTO guestbook SET nick='" . mysql_escape_string( $nick ) . "', mess='" . mysql_escape_string( $mess ) . "';", $connect) or die( mysql_error() );
echo '<font style="color: red"> WARNING! : Ваше сообщение успешно добавлено! ;-) </font> <br />';
} else echo '<font style="color: ref">WARNING! : Вы пишите предыдущие сообщение ! СПАМ ЗАПРЕЩЕН !</font>';
}
echo '<hr />';
$queryMesSel = mysql_query("SELECT nick,mess FROM guestbook ORDER BY id DESC;", $connect) or die( mysql_error() );
while($mesSelect = mysql_fetch_row( $queryMesSel ) ) { echo '<fieldset><legend>' . $mesSelect[0] . '</legend>' . $mesSelect[1] . '</fieldset> <br />'; }
Спустя 22 часа, 35 минут, 49 секунд (20.01.2012 - 14:42) dilfin написал(а):
Цитата (UnWind @ 19.01.2012 - 13:07) |
Самый простой скрипт гостевой, который я написал за 40 с лишним минут. Что Вам мешает написать такой же, вместо того, что бы пользоваться каким то чужими, которые Вы даже не знаете как отредактировать ? :blink: Его можно (И нужно дорабатывать в плане безопасности конечно и функционала, но это не сложно как видите). Если есть какие то замечания, прошу) Выслушаю с удовольствием, может дельный совет дадите B) Но повторяю - скрипт написан на скорую руку без заморочек с кодировками и прочим, просто для примера. База
Файл: gb.php
|
я не такая сильно знаю php как вы я новичок ещё но спасибо вам!
Спустя 5 минут, 27 секунд (20.01.2012 - 14:48) UnWind написал(а):
Цитата |
я не такая сильно знаю php как вы я новичок ещё но спасибо вам! |
Да, было бы за что. Не знаешь - учи, а мы поможем.
А вообще - разбери какой нибудь скрипт, например мой и пойми, что в нем значит каждая строчка. Если нужно - я потом могу добавить комменты и узнаешь на сколько верно ты разобрала его. Или любой другой.