1

Тема: Братцы выручайтие,проблема со скриптом!

Помогите, решил написать гостевую книгу.Сталкунулся с токой проблемой в скрипте, при исполнении почему-то выдает ошибку на предпоследнью строку PHP кода, а именно на ')' скобку. Пишет типа неожиданый символ ну или типо того. Мож я где-то чего-то пропустил, прошу не забарсывать меня камнями php только начал изучать, зарание пасибо!

Исходник HTML
<html><head><title>Гостевая </title></head><body>
<h2>гостевая книга</h2>
<form action ="guest.php" method="post">
Введите e-mail: <input type="text" name="email"><br>

Ваше имя:<input type="text" name="name"><br>

Сообщение:<br> <textarea name="msg" rows="10" cols="40"></textarea>
<p> <input type="submit" value="Отправить"></p>


</body>
</html>

Исходник PHP
<?
$files = "guest.txt";
$qq = 50;
if (!$email) {$email = "нет"; }
$msg= substr($msg,0,999);
$email = substr($email,0,39);
$name = substr($name,0,39);
if ($msg != "" && $name != ""){
$time = Date("h:i:M:d");
$soo = "\n <b> $time $name (<a href=\"mailto: $email \">$email </a>) </b><br>$msg<hr>";
$fp = fopen($files, "a+");
$fw = fwrite($fp, $soo);
fclose($fp); }
$lines = file($files);
$a = count($lines);
$u = $a - $qq;
for($i = $a; $i>=$u; $i-) {echo $lines[$i];}
?>

2

Re: Братцы выручайтие,проблема со скриптом!

Maxmadnes
Оператор декремента, выполняющийся при итерации, должен иметь два минуса ($i--).

for($i = $a; $i>=$u; $i--) {echo $lines[$i];}

3

Re: Братцы выручайтие,проблема со скриптом!

Спасибо большое!
Скрипт заработал тока вот, опять партак. Запалняю форму для отзыва отправляю, а в PHP ничего не отображается.
То есть,как я понял в текстовый файл guest.txt ничиго не записывается, хотя для него параметр задан (а+) тобишь чтение и запись. Может информация в него незаписыватся из-за того что я ипользую апач на своем компе а не на вэб сервере. Может не настроил чего, хотя мож что-то другое. Пожалуйста подскажите. Очень надо.

4

Re: Братцы выручайтие,проблема со скриптом!

Maxmadnes
Попробуйте для всех принимаемых из формы данных указывать глобальный массив $_POST, то есть вместо $email - указать $_POST['email'].

5

Re: Братцы выручайтие,проблема со скриптом!

Попробывал изменить,поставил POST в 5-6-7 строки кода,или надо было в буквальном смысле везде, где $mail или $msg надо менять на POST. Стал выводить время и дату но текста и мыла всеравно нет. Код внизу.


<?
$files="guest.txt";
$qq=50;
if (!$email) { $email = "нет"; }
$_POST['msg']=substr($msg,0,999);
$_POST['email']=substr($email,0,39);
$_POST['name']=substr($name,0,39);
if ($msg != "" && $name != "") {
$time=Date("h:i:M:d");
$soo="\n<b>$time $name (<a href=\"mailto: email \"> $email </a>) </b><br>$msg<hr>";
$fp=fopen($files,"a+");
$fw=fwrite($fp,$soo);
fclose($fp); }
$lines=file($files);
$a=count($lines);
$u=$a - $qq;
for($i = $a; $i>=$u; $i--) {echo $lines[$i];} ?>

Сообщение добавлено Fri Apr 25 23:47:38 2008
Может вместо $_POST попробыать поставить $_REQUEST.Он вроде как универсальный

6

Re: Братцы выручайтие,проблема со скриптом!

// Ошибка
$_POST['msg']=substr($msg,0,999);

// Должно быть так.
$msg=substr($_POST['msg'],0,999);

Чтобы вы поняли: данные передаваемые формой лежат в глобальном массиве $_POST, мы их выбираем и вкладываем в локалльную переменную, например $msg. Делать так надо со всеми данными принимаемыми из POST запроса, то есть в условии if тоже должно быть сравнение с данными из POST массива.

7

Re: Братцы выручайтие,проблема со скриптом!

КЛАСНО все заработало большое спасибо!

8

Re: Братцы выручайтие,проблема со скриптом!

Блин вот еще заморочка, все исправил как вы сказали но теперь на странице, где идут отзывы они отображаются все полность.
Не подскажите,код функции, чтобы на экран выводились не все отзывы сразу, а только последние 10.
Искал в книжках по PHP чет нигде не нашел,хотя мож плохо искал.
Буду признателен.

Сообщение добавлено Mon Apr 28 15:37:42 2008
И еще допустим у меня на сайте есть две разные игрухи, и я хочу чтобы поситители могли остовлять отзывы о них. Это надо для каждой игры отдельно книгу отзывов делать или можно как то одну приспособить.

9

Re: Братцы выручайтие,проблема со скриптом!

Maxmadnes
Установите значение переменной $qq в 10.

Приспособить можно все, но здесь вы должны сами подумать.

10

Re: Братцы выручайтие,проблема со скриптом!

Если не сложно может быть кинете ссылку на книжку какую по PHP , желательно на примерах.Или адресс сайта на котором примеры есть.
Буду признателен.

11

Re: Братцы выручайтие,проблема со скриптом!

Maxmadnes
Пожалуйста.
http://phpclub.ru/