Pages: [1] 2   Go Down
Send this topic | Print
Author Topic: Простая гостевая книга на PHP  (Read 6376 times)
Serh1O
Active Member
**
Offline Offline

Posts: 56

Оранж коннекш


WWW
« on: July 11, 2007, 09:34:40 AM »

Почему-то на локалхосте все нормально работает, загрузил сюда - не пашет
http://serh1o.110mb.com/gb/guestbook.php
Зы: внизу страницы увидите ошибку, это потому что нет файла из которого следует считывать записи гостевой книги. Этот файл должен создаваться при появлении первой записи. Даже если залить этот файл на сервер, то все равно не получается в него записать что-либо. Почему?
Права на все файлы и папку выставлял 777, ничего не менятеся.
Logged


newlegal
Active Member
**
Offline Offline

Posts: 62


« Reply #1 on: July 11, 2007, 09:50:28 AM »

О Господи! Где нашел эту гостевую книгу?  Попробуй хотя бы вот эту http://www.wr-script.ru/load/wr-liteguest-v-1.0.zip
Logged
Serh1O
Active Member
**
Offline Offline

Posts: 56

Оранж коннекш


WWW
« Reply #2 on: July 11, 2007, 09:53:59 AM »

О Господи! Где нашел эту гостевую книгу?  Попробуй хотя бы вот эту http://www.wr-script.ru/load/wr-liteguest-v-1.0.zip
Сам написал, чтоб просто протестить
Logged


newlegal
Active Member
**
Offline Offline

Posts: 62


« Reply #3 on: July 11, 2007, 09:57:18 AM »

А ну если сам написал то тесть конечно, я просто думал что ты мучаешься дай думаю помогу. cheesy
Logged
Serh1O
Active Member
**
Offline Offline

Posts: 56

Оранж коннекш


WWW
« Reply #4 on: July 11, 2007, 10:10:13 AM »

Спасибо за помощь. Продолжу мучать свою книгу, которая больше похожа на страницу комментариев.
Logged


vitas
Hyper-Active Member
***
Offline Offline

Posts: 150


« Reply #5 on: July 11, 2007, 03:07:43 PM »

Спасибо за помощь. Продолжу мучать свою книгу, которая больше похожа на страницу комментариев.

удачи cheesy
Logged
SHAKA1
Active Member
**
Offline Offline

Posts: 54


WWW
« Reply #6 on: July 11, 2007, 05:38:48 PM »

Почему-то на локалхосте все нормально работает, загрузил сюда - не пашет
http://serh1o.110mb.com/gb/guestbook.php
Зы: внизу страницы увидите ошибку, это потому что нет файла из которого следует считывать записи гостевой книги. Этот файл должен создаваться при появлении первой записи. Даже если залить этот файл на сервер, то все равно не получается в него записать что-либо. Почему?
Права на все файлы и папку выставлял 777, ничего не менятеся.
ну на папку ставь прова 777, а на файлы нуно 666
или выложи скрипт сюда, посмтрим че у тя там не так....
« Last Edit: July 11, 2007, 05:41:05 PM by SHAKA1 » Logged
Serh1O
Active Member
**
Offline Offline

Posts: 56

Оранж коннекш


WWW
« Reply #7 on: July 11, 2007, 06:25:57 PM »

Код главного файла
Code:
<title>Serh1O_GB</title><form name="form1" method="post" action="gb.php"><br>
<font face="Times New Roman, Times, serif" size="3"><br>
Name:<input type="text" name="name"><br>
E-mail:<input type="text" name="email"><br>
URL:<input type="text" name="url"><br><br>
Message: <textarea name="msg" cols="35" rows="4" wrap="VIRTUAL"></textarea>
</font><br><br>
<p align="center"><input type="submit" name="submit" value="Send">
</p>
</form>
<?php include("guest.txt")?>

Код файла выполняющего действия:
Code:
<meta http-equiv="refresh" content="0;URL=guestbook.php">
<?php
$files
="guest.txt";
if (
$email=="") {$email="none";}
$msg=eregi_replace("<","",$msg);
$msg=eregi_replace(">","",$msg);
$email=eregi_replace("<","",$email);
$email=eregi_replace(">","",$email);
$name=eregi_replace("<","",$name);
$name=eregi_replace(">","",$name);
$msg=eregi_replace("&lt;","",$msg);
$msg=eregi_replace("&gt;","",$msg);
$email=eregi_replace("&lt;","",$email);
$email=eregi_replace("&gt;","",$email);
$name=eregi_replace("&lt;","",$name);
$name=eregi_replace("&gt;","",$name);
$msg=substr($msg, 0, 499);
$name=substr($name, 0, 39);
$email=substr($email, 0, 39);
if (
$msg!="" && $name !="")
{
$time = date("M d");
$zapis="\n<table><tr><td bgcolor=#636A6A><hr><br><b>$time<br><br>
From:</b> $name<br>
<b>E-mail: </b><a href=\"mailto:$email\">$email</a><br>
<b>Message: </b> $msg<br><br></td></tr></table>"
;
$fp=fopen($files, "a+");
$fw=fwrite($fp, $zapis);
$fclose($fp);}
?>
<title>Please, wait...</title>
Logged


SHAKA1
Active Member
**
Offline Offline

Posts: 54


WWW
« Reply #8 on: July 11, 2007, 06:55:37 PM »

Код главного файла
Code:
<title>Serh1O_GB</title><form name="form1" method="post" action="gb.php"><br>
<font face="Times New Roman, Times, serif" size="3"><br>
Name:<input type="text" name="name"><br>
E-mail:<input type="text" name="email"><br>
URL:<input type="text" name="url"><br><br>
Message: <textarea name="msg" cols="35" rows="4" wrap="VIRTUAL"></textarea>
</font><br><br>
<p align="center"><input type="submit" name="submit" value="Send">
</p>
</form>
<?php include("guest.txt")?>

Код файла выполняющего действия:
Code:
<meta http-equiv="refresh" content="0;URL=guestbook.php">
<?php
$files
="guest.txt";
if (
$email=="") {$email="none";}
$msg=eregi_replace("<","",$msg);
$msg=eregi_replace(">","",$msg);
$email=eregi_replace("<","",$email);
$email=eregi_replace(">","",$email);
$name=eregi_replace("<","",$name);
$name=eregi_replace(">","",$name);
$msg=eregi_replace("&lt;","",$msg);
$msg=eregi_replace("&gt;","",$msg);
$email=eregi_replace("&lt;","",$email);
$email=eregi_replace("&gt;","",$email);
$name=eregi_replace("&lt;","",$name);
$name=eregi_replace("&gt;","",$name);
$msg=substr($msg, 0, 499);
$name=substr($name, 0, 39);
$email=substr($email, 0, 39);
if (
$msg!="" && $name !="")
{
$time = date("M d");
$zapis="\n<table><tr><td bgcolor=#636A6A><hr><br><b>$time<br><br>
From:</b> $name<br>
<b>E-mail: </b><a href=\"mailto:$email\">$email</a><br>
<b>Message: </b> $msg<br><br></td></tr></table>"
;
$fp=fopen($files, "a+");
$fw=fwrite($fp, $zapis);
$fclose($fp);}
?>
<title>Please, wait...</title>


Попробуй заменить
Code:
<?php include("guest.txt")?>
на
Code:
<?php include("../gb/guest.txt")?>
Должно помочь.............

ну и

Code:
$files="guest.txt";

на

Code:
$files="../gb/guest.txt";
« Last Edit: July 11, 2007, 07:00:49 PM by SHAKA1 » Logged
Serh1O
Active Member
**
Offline Offline

Posts: 56

Оранж коннекш


WWW
« Reply #9 on: July 11, 2007, 07:15:14 PM »

не помогло  sad
Logged


Serh1O
Active Member
**
Offline Offline

Posts: 56

Оранж коннекш


WWW
« Reply #10 on: July 11, 2007, 07:29:19 PM »

добавил файл guest.txt чтоб ошибка глаза не мазолила
Logged


Santa
Russian
Hyper-Active Member
***
Offline Offline

Posts: 124



« Reply #11 on: July 12, 2007, 10:23:13 PM »

Скажи пожалуйста, а в каком месте кода файла выполняющего действия он получает данные от главного файла, которые отправляет ему форма главного файлаHuh  huh
Logged

SIVIS PACEM PARA BELLUM
Serh1O
Active Member
**
Offline Offline

Posts: 56

Оранж коннекш


WWW
« Reply #12 on: July 13, 2007, 09:13:56 AM »

а разве вот этого кода в главном файле не достаточно (1-ая строка главного файла):
Code:
action="gb.php"
Logged


Santa
Russian
Hyper-Active Member
***
Offline Offline

Posts: 124



« Reply #13 on: July 13, 2007, 12:29:56 PM »

а разве вот этого кода в главном файле не достаточно (1-ая строка главного файла):
Code:
action="gb.php"
Это главная отправляет! А как выполняющий получит, откуда вытащит данные?
Logged

SIVIS PACEM PARA BELLUM
Serh1O
Active Member
**
Offline Offline

Posts: 56

Оранж коннекш


WWW
« Reply #14 on: July 13, 2007, 12:47:04 PM »

Code:
22 $zapis="\n<table><tr><td bgcolor=#636A6A><hr><br><b>$time<br><br>
23 From:</b> $name<br>
24 <b>E-mail: </b><a href=\"mailto:$email\">$email</a><br>
25 <b>Message: </b> $msg<br><br></td></tr></table>";
Запись в переменные $msg, $name, $email, потом перезапись всей инфы в $zapis, ну а потом в файл
Code:
26 $fp=fopen($files, "a+");
27 $fw=fwrite($fp, $zapis);
28 $fclose($fp);
Logged


SHAKA1
Active Member
**
Offline Offline

Posts: 54


WWW
« Reply #15 on: July 13, 2007, 03:07:02 PM »

Пользователь заполняет в главном файле поле  E-mail: значение "name=" у этого поля равно "email"
E-mail:<input type="text" name="email">
далее значение этого поля, например vasyia@mail.ru, передается через POST файлу gb.php
method="post" action="gb.php"
в котором оно и заноситсятся в переменную $email

Вроде так....

Вот мона тут почитать http://php.su/phphttp/forms/?send
« Last Edit: July 13, 2007, 03:11:07 PM by SHAKA1 » Logged
hellheaven
Member
*
Offline Offline

Posts: 35


WWW
« Reply #16 on: July 13, 2007, 04:10:57 PM »

Пользователь заполняет в главном файле поле  E-mail: значение "name=" у этого поля равно "email"
E-mail:<input type="text" name="email">
далее значение этого поля, например vasyia@mail.ru, передается через POST файлу gb.php
method="post" action="gb.php"
в котором оно и заноситсятся в переменную $email

Вроде так....

Вот мона тут почитать http://php.su/phphttp/forms/?send

Сам код технически некорректен  shocked shocked

Code:
<meta http-equiv="refresh" content="0;URL=guestbook.php">
это ваще должно идти только непосредственно перед
Code:
<title>Please, wait...</title>

Quote
в котором оно и заноситсятся в переменную $email
так то оно так, было лет 2-3 назад.
этот метод зовется register_globals.
но он примитивен и к тому же может стать серьезной брешью безопасности в коде, написанном непрофессионалом! на 110mb register_globals отключены. (и пральна) поэтому используйте суперглобальные масивы, тоесть не $email, а $_POST['email']. но за определенною небольшую плату они могут включить register_globals.

ЗЫ если нужна толковая гостевая
Logged
Santa
Russian
Hyper-Active Member
***
Offline Offline

Posts: 124



« Reply #17 on: July 13, 2007, 06:09:16 PM »

... Запись в переменные $msg, $name, $email ...
Запись просто так не происходит, без суперглобальных массивов не обойтись!

... Вот мона тут почитать http://php.su/phphttp/forms/?send
Здесь всё толком объяснено и видно не вооруженным глазом.

Code:
if (isset($_POST['msg'])) {$msg=$_POST['msg'];} else {$msg=$_POST['none'];}
if (isset($_POST['email'])) {$email=$_POST['email'];} else {$email=$_POST['none'];}
if (isset($_POST['name'])) {$name=$_POST['name'];} else {$name=$_POST['none'];}
if (isset($_POST['url'])) {$url=$_POST['url'];} else {$url=$_POST['none'];}
Я добавил и всё прекрасно пошло.
« Last Edit: July 13, 2007, 06:15:46 PM by Santa » Logged

SIVIS PACEM PARA BELLUM
Serh1O
Active Member
**
Offline Offline

Posts: 56

Оранж коннекш


WWW
« Reply #18 on: July 13, 2007, 08:45:28 PM »

ок, спасибо. завтра попробую
Logged


ComIntern
Active Member
**
Offline Offline

Posts: 94

Russian bolshevik


WWW
« Reply #19 on: July 18, 2007, 04:10:34 AM »

Ну й калі ты зробіш сваю гасцёўню? Я дарэчы спрабаваў дадаць паведамленьне ў тваю кнігу. Толькі нішто не убачіў.

Дарэчы, дзе ты навучыўся так пісаць код? Узрушаючае грэбаваньне бяспекай свайго сайта!
Я нават ведаю, як яго узламаць  cheesy
Logged

You  should never ask anyone for anything.
Never - and  especially from those who are more  powerful than yourself. They
will make the offer and they will give of their own accord.
(c) Woland, "The Master & Margarita"
Pages: [1] 2   Go Up
Send this topic | Print
Jump to: