Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не работает гостевая.... 
:(
    Опции темы
mr.Anderson
Дата 6.5.2005, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 1
Всего: 128



Я написал код:
Код

<form action="<?=$SCRIPT_NAME?>" method=post>
<center>
<h3><font color=white>Гостевая книга</h3>
<table width="50%">
<tr><td><font color=white><b>Ваше имя:</b><td><input type=text maxlength=30 name="nick">
<tr><td><font color=white><b>Сообщение:</b><td><textarea name="sms"></textarea>
</font></table>
<input type=submit name="ok" value="Отправить">
</center>
</form>
<?php
if(@$ok)
{
    $file=fopen("gbsms.txt","a") or die("Невозможно открыть файл для записи! Большая просьба сообщить об этой ошибке администратору сайта!");
    flock($file,LOCK_EX);
    $textsms="Имя: $nick ; Сообщение: $sms";
    fwrite($file,$textsms) or die("Невозможно запись в файл! Большая просьба сообщить об этой ошибке администратору сайта!");
    flock($file,LOCK_UN);
    fclose($file);
    echo"<script>alert('Спасибо! Я прочитаю Ваше сообщение в ближайшее время.')</script>";
}
?>

Когда я проверял этот код на компьютере с помощью локального хоста, все работало (сообщения записывались в файл gbsms.txt, все шло нормально). Загрузил файлы на свой сайт - не работает... Пишет:
Цитата

Warning: fopen(gbsms.txt): failed to open stream: Permission denied in /home/guitaris/public_html/myguestbook.php on line 15
Невозможно открыть файл для записи! Большая просьба сообщить об этой ошибке администратору сайта!

Ну, последняя надпись (про админа) - моя, как видно из скрипта. А вот почему возникла другая? На локальном сервере все работало безо всяких ошибок и проблем.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
PARROT
Дата 6.5.2005, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



А файл gbsms.txt создан?


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
mr.Anderson
Дата 6.5.2005, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 1
Всего: 128



Да, создан. Ну, в принципе, я пробовал и так:
Код

$file=fopen("gbsms.txt","a+") or die("Невозможно открыть файл для записи! Большая просьба сообщить об этой ошибке администратору сайта!");


Это сообщение отредактировал(а) sim7 - 6.5.2005, 17:48


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
PARROT
Дата 6.5.2005, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Вот рабочая книга, попробуй сверить.
Код

<?php


if($send)
{
if(!(eregi("^(([a-z0-9]+)@([a-z0-9]+\.)+[a-z]{2,4})$",$mail)))
{
$error="E-mail адрес введен неверно!";
}
if($log=="")
{
$error.="не ввели имя!";
}
if($info=="")
{
$error.="забыли ввести сообщение!";
}
echo "<font size=+3>$error</font>";

$log=strip_tags($log);
$mail=strip_tags($mail);
$info=strip_tags($info,("<b>,<i>"));


$log=ereg_replace("\t|\r","",$log);
$mail=ereg_replace("\t|\r","",$mail);
$info=ereg_replace("\t|\r","",$info);

$info=ereg_replace("\n","<br>",$info);

if(!$error)
{



$new=file("forgos.txt");
list($logn,$mailn,$infon)=split("\t",chop($new[count($new)-1]));
if(!($info==$infon))
{

$a="$log\t$mail\t$info\n";
$text=fopen("forgos.txt","a");
fwrite($text,$a);
fclose($text);
}

}
}

$mass=file("forgos.txt");
$num=count($mass);
$numstr=ceil($num/10);
for($i;$i<$numstr;$i++)
{
$start=$i*10+1;
$stop=($i+1)*10;
if($stop>$num)$stop=$num;
if($stop!=$start)
{
echo "[<a href='gostevayamy.php?s=$start'>$start-$stop</a>]";
}
else{
echo "[<a href='gostevayamy.php?s=$start'>$start</a>]";
}
}


if(empty($s))$s=1;
$mass=array_reverse($mass);
echo "<table width=100% border=1 bgcolor=lightblue>";

for($i=$s-1;$i<$s+9;$i++)
{                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        

list($log,$mail,$info)=split("\t", $mass[$i]);
if(empty($mass[$i]))
{
break;
}
echo "<tr><td>$log<br><a href=mailto:$mail>$mail</a><br>$info</td></tr>";
}
echo "</table>";

?>



<html>
<head>
 <title>отправка e-mail</title>
<meta http-equiv="Content-Type" content="text/html; CHARSET=Windows-1251">
</head>
<body bgcolor="#c2c3f2"><center>
<table width="200" height="200"><tr><td>
<form name="forma" method=get>
<fieldset>
<legend align="center"><font color="black">оставить сообщение</font></legend>
<table width="200" border="0" height="200">
<tr>
<td align="right"><font size="3">Имя</font></td>
<td align="left"><input type="text" name="log"></td></tr>
<tr>
<td align="right"><font size="3">E-mail</font></td>
<td align="left"><input type="text" name="mail"></td></tr>
<tr>
<td align="right"><font size="3">Текст</font></td>
<td align="left"><textarea name="info" cols="15" rows="5"></textarea></td></tr>
<tr>
<td align="center" colspan="2"><input type="submit" name="send" value="Отправить"></td></tr>
</table></fieldset></form></td></tr></table></center>
</body>
</html>




Только не забудь заранее создать файл, а то впервый раз будут ошибки, второй раз ругаться уже не будет, потому как файл будет создан.


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
mr.Anderson
Дата 6.5.2005, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 1
Всего: 128



Елки... Не могу разобраться в указанном вами коде. Не позволяют знания PHP...


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
PARROT
Дата 6.5.2005, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



$textsms="Имя: $nick \tСообщение: $sms\n";
Добавлено @ 17:52
Цитата(sim7 @ 6.5.2005, 17:50)
Елки... Не могу разобраться в указанном вами коде. Не позволяют знания PHP...

Ты не разбирайся сначала, вставь код, проверь работоспособность, а потом сверь просто со своим!

А еще возможно права на запись файла поставь все 777 у хостера, у меня так голосование не работало. А именно чтение, запись, изменение. Чтобы 3 галки стояли!

Это сообщение отредактировал(а) PARROT - 6.5.2005, 17:54


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Illuminaty
Дата 6.5.2005, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


/*Антон Захаров*/
***


Профиль
Группа: Комодератор
Сообщений: 1238
Регистрация: 19.3.2005
Где: Россия, Казань

Репутация: 6
Всего: 56



посмотри права доступа, может с этим проблема

Цитата(PARROT @ 6.5.2005, 17:47)
Только не забудь заранее создать файл, а то впервый раз будут ошибки, второй раз ругаться уже не будет, потому как файл будет создан.

Хорошим стилем считается перед записью в файл проверить на его (файла) наличие smile
PM MAIL ICQ   Вверх
PARROT
Дата 6.5.2005, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Illuminatyпосмотри права доступа, может с этим проблема

Да, на моем старом хостинге если не выставишь права на файл 777, то работать ничего не будет, а вот у нового, такие права просто запрещены! У них их нет!

Это сообщение отредактировал(а) PARROT - 6.5.2005, 18:05


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Illuminaty
Дата 6.5.2005, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


/*Антон Захаров*/
***


Профиль
Группа: Комодератор
Сообщений: 1238
Регистрация: 19.3.2005
Где: Россия, Казань

Репутация: 6
Всего: 56



Цитата(PARROT @ 6.5.2005, 17:56)
В начале пути мы много чего не делаем, не проверяем, не используем

И очень зря. Лучше сразу начинать с правильного программирования
Теперь по теме. Похожая проблема сейчас в этой теме.
Там как раз про права доступа. sim7 посмотри обязательно
PM MAIL ICQ   Вверх
PARROT
Дата 6.5.2005, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Цитата(Illuminaty @ 6.5.2005, 18:05)
Лучше сразу начинать с правильного программирования

Как учат, в учебных заведениях, так и начинаем писать.


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Sscr
Дата 7.5.2005, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 7.5.2005

Репутация: нет
Всего: нет



Цитата(sim7 @ 6.5.2005, 17:38)
Я написал код:
Код

<form action="<?=$SCRIPT_NAME?>" method=post>
<center>
<h3><font color=white>Гостевая книга</h3>
<table width="50%">
<tr><td><font color=white><b>Ваше имя:</b><td><input type=text maxlength=30 name="nick">
<tr><td><font color=white><b>Сообщение:</b><td><textarea name="sms"></textarea>
</font></table>
<input type=submit name="ok" value="Отправить">
</center>
</form>
<?php
if(@$ok)
{
    $file=fopen("gbsms.txt","a") or die("Невозможно открыть файл для записи! Большая просьба сообщить об этой ошибке администратору сайта!");
    flock($file,LOCK_EX);
    $textsms="Имя: $nick ; Сообщение: $sms";
    fwrite($file,$textsms) or die("Невозможно запись в файл! Большая просьба сообщить об этой ошибке администратору сайта!");
    flock($file,LOCK_UN);
    fclose($file);
    echo"<script>alert('Спасибо! Я прочитаю Ваше сообщение в ближайшее время.')</script>";
}
?>

Когда я проверял этот код на компьютере с помощью локального хоста, все работало (сообщения записывались в файл gbsms.txt, все шло нормально). Загрузил файлы на свой сайт - не работает... Пишет:
Цитата

Warning: fopen(gbsms.txt): failed to open stream: Permission denied in /home/guitaris/public_html/myguestbook.php on line 15
Невозможно открыть файл для записи! Большая просьба сообщить об этой ошибке администратору сайта!

Ну, последняя надпись (про админа) - моя, как видно из скрипта. А вот почему возникла другая? На локальном сервере все работало безо всяких ошибок и проблем.

Попробуй так!
Код

<form action="<?=$SCRIPT_NAME?>" method=post>
<center>
<h3><font color=white>Гостевая книга</h3>
<table width="50%">
<tr><td><font color=white><b>Ваше имя:</b><td><input type=text maxlength=30 name="nick">
<tr><td><font color=white><b>Сообщение:</b><td><textarea name="sms"></textarea>
</font></table>
<input type=submit name="ok" value="Отправить">
</center>
</form>
<?php
if(@$ok)
{
    $file=fopen("gbsms.txt","w+") or die("Невозможно открыть файл для записи! Большая просьба сообщить об этой ошибке администратору сайта!");
    flock($file,LOCK_EX);
    $textsms="Имя: $nick ; Сообщение: $sms";
    fwrite($file,$textsms) or die("Невозможно запись в файл! Большая просьба сообщить об этой ошибке администратору сайта!");
    flock($file,LOCK_UN);
    fclose($file);
    echo"<script>alert('Спасибо! Я прочитаю Ваше сообщение в ближайшее время.')</script>";
}
?>
[b][/b][b][i]
PM MAIL WWW   Вверх
PARROT
Дата 7.5.2005, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Цитата(Sscr @ 7.5.2005, 09:04)
Код
if(@$ok)
{
    $file=fopen("gbsms.txt","w+") or die("Невозможно открыть файл для записи! Большая просьба сообщить об этой ошибке администратору сайта!");


При выводе из файла сообщений, нужно считать данные "a", при добавлении скрипт должен записывать в файл "w"
Код написан, но не доконца.
Что же это за книга, в которой сообщения не будут выводиться для чтения другим пользователям?
Добавлено @ 11:16
потом запись данных в файл не может идти через ;
Код

$textsms="Имя: $nick ; Сообщение: $sms";

Точка с запятой не пройдет. Это делается \t, а в конце \n

Это сообщение отредактировал(а) PARROT - 7.5.2005, 11:39


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
mr.Anderson
Дата 7.5.2005, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 1
Всего: 128



Ладно, попробую подредактировать.
За совет по хостингу спасибо! Все заработало.
А как вывести на экран сообщения, я не знаю... Можете привести пример простенького кода, содержащего мой код + ваше дополнение?


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
PARROT
Дата 7.5.2005, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



вывод сообщений на экран.
Код

<?
$a=file("gbsms.txt");
$a=array_reverse($a);
foreach($a as $str)
{
list($nick,$sms)=split("\t",$str);
echo"Имя:$nick<br> Email:$sms<br>";
}
?>


Вывод по количеству сообщений, например по 10, смотри выше в моем коде. smile

Это сообщение отредактировал(а) PARROT - 7.5.2005, 20:36


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Aliance
Дата 7.5.2005, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



sim7
1) chmode поставь writtable
2) используй не a, а a+
PM MAIL WWW ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0601 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.