[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ошибка в цикле
flooper
view.php
<html>

<
head>
<
title></title>
</
head>

<
body>

<?php

include("config.inc.php");


$otzivi = mysql_query ("SELECT name, otziv, date
FROM otzivi
ORDER BY id DESC"
);
$myrow_otzivi = mysql_fetch_array ($otzivi);

do{
echo "<table border=1 width=300>";
echo "<tr><td><b>".$myrow_otzivi['name']."</b> ".$myrow_otzivi['date']."<td></tr>";
echo "<tr><td>".$myrow_otzivi['otziv']."<td></tr>";
echo "</table>";
}while($myrow_otzivi = mysql_fetch_array ($otzivi));

if($myrow_otzivi['name']){
/*код цикла*/
}else{
echo 'В базе еще нету ни одного отзыва.';}

?>

</body>

</
html>

index.php
<?
//Скрипт отправки отзывов
//Автор: Verst
//email: verstard@gmail.com

//подключаем файл с настройкми БД

include("config.inc.php");


date_default_timezone_set('Europe/Moscow');
//проверяем нажата ли кнопка отправки отзыва
if($_POST['add_otziv']) {

//присваиваем перемнным данные из формы с такими же именами
//htmlspecialchars() служит для защиты передаваемых данных

$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$otziv = htmlspecialchars($_POST['otziv']);
$chek = htmlspecialchars($_POST['chek']);

//получаем с какой страницы отправляется отзыв
$page = $_SERVER['REQUEST_URI'];
//задаем время отправки отзыва


$date = date("H:m:s");

//проверка, является ли отправитель человеком
if($chek == 'nobot'){
//проверяем все ли поля заполнены
if($name != '' AND $email != '' AND $otziv != ''){
//проверка правильно ли введен адрес почты
if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $email))
{$err = 'Неверно введен е-mail.';}
//если по ходу выполнения скрипта ошибок небыло, отправляем сообщение на почту
if(!$err){
//формируем html сообщение
$massege = "<html><head></head><body>
Новый отзыв на сайте! <br><br>
К странице [URL=http://www.ИМЯ_САЙТА.ru"
.$page."]http://www.ИМЯ_САЙТА.ru".$page."[/URL], написали отзыв:<br><br>
<table width=100% border=0>
<tr><td width=10></td>
<td><b>"
.$name."</b> (".$email.")<br>".$date."
<br>"
.$otziv."
</td>
</tr></table><br>
</body></html>"
;

//заголовок для письма, с указанием формата сообщения, кодировки и от кого сообщение
$headers = "Content-type: text/html; charset=utf-8 \r\n";
$headers .= "From: Мой сайт <admin@ИМЯ_САЙТА.ru>\r\n";

//отправка письма
if(mail("admin@ИМЯ_САЙТА.ru", "Новый отзыв с Вашего сайта", $massege, $headers))
{$err="Спасибо за отзыв".$name;}else{$err='Ошибка в отправлении';}

//Записываем в БД данные
mysql_query (" INSERT INTO otzivi (name, email, otziv, page, date)
VALUES ('
$name', '$email', '$otziv', '$page', '$date')");

}
}
else{
$err = 'Вы заполнили не все поля!';
}
}
else{
$err='Вы не человек sad.gif ';
}
}

?>

<html>

<
head>
<
title></title>
</
head>

<
body>


<
form name="" action="" method="post">
Имя: <input name="name" type="text" value=""><br>
E-mail: <input name="email" type="text" value=""><br>
Сообщение: <textarea name="otziv" rows=5 cols=20 wrap="off"></textarea><br>
Надеюсь Вы не бот? <input name="chek" type="checkbox" value="nobot"><br>
<
input type="submit" name="add_otziv" value="Отправить">
</
form>
<?
include("view.php"); ?>

</body>

</
html>

Вот два файла, помогите разобратся... cool.gif
ЭТо скрипт добавления отзывов на сайт...
добавляем отзыв и если нажать "Обновить страницу" в браузере, то последний добавленный отзыв добавится еще раз и так до бесконечности, тоесть цикл начинает прокручивать одно и тоже и добавлять еще последний добавленый отзыв....
а также есть проблемы с кодировкой...
посмотрите объясните где? что не так?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.