Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 26.04.2010, 20:43   #1
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,603
Вопрос Не создается файл при алгоритме Вопрос-Ответ

Здравствуйте. Создавая домашнюю страничку(ссылка в подписе) решил сделать что-то типа вопрос-ответ
Есть форма, кнопки Анти-спам(хотя врядли они помогут),и обработчик.
Форма
Код HTML:
<?php
$f=fopen("inc/question.txt","a+");
if(!$f)
{
echo "Ошибка вывода списка вопросов";
}
else
{
fpassthru($f);
}?>
<br /><br /><br /><br /><br /></font>
<table>
<form action="spam_or_no2.php" method="POST">
<tr><td>Ваше имя в Родительном Падеже.
Нет кого?:</td><td><input type="text" name="firstname" /></td></tr>
<tr>
<td>Введите текст вопроса:</td><td><textarea cols="60" rows="4" name="question"></textarea></td>
<tr><td colspan="2"><div align="center"><input type="submit" value="Отправить"></div></td></tr>
</tr> 
</form>
</table>

<?php
if(!empty($_SESSION['buzdin']) or $_SESSION['buzdin']!="n")
{
echo"<font color='red'>{$_SESSION['buzdin']}</font>";
}
$_SESSION['buzdin']="n";
$_SESSION['buzdin']="";
?>
это Анти-СПАМ
PHP код:
<?php
session_start
();
$name=trim($_POST['firstname']);
$text=trim($_POST['question']);
if(empty(
$name))
{
 
$error['name'] = "Введите имя.";
}
else
{
 
$name=htmlspecialchars($name);
}
if(empty(
$text))
{
 
$error['text']="Введите текст вопроса.";
}
else
{
 
$text=htmlspecialchars($text);
}
if(
$error['text'] or $error['name'])
{
 
$_SESSION['buzdin']="{$error['name']} {$error['text']}";
 echo 
"<script language='javascript'>location.href='question.php';</script>";
}
else
{
  
$_SESSION['name']=$name;
  
$_SESSION['text']=$text;
  
$_SESSION['buzdin']="";
}
?><div id="content"><div align="center"><h3>Выберите ответ</h3>
<form action="index.php">
<input type="submit" value="Это спам!!! Удалите мой вопрос">
</form>
<form action="question_ok.php">
<input type="submit" value="Опубликовать">
</form>
<form action="question.php">
<input type="submit"value="Я передумал(а) опубликовывать этот вопрос">
</form>
и вот сам обработчик
PHP код:
<?php
session_start
();
$name=$_SESSION['name'];
$text=$_SESSION['text'];
echo 
"Писал: $name<br>$text";

$msg $text;
    
// из BBcode в html
    
$msg nl2br($msg);
    
$msg str_replace("[u]","<u>",$msg);
    
$msg str_replace("[U]","<u>",$msg);
    
$msg str_replace("[i]","<i>",$msg);
    
$msg str_replace("[I]","<i>",$msg);
    
$msg str_replace("[b]","<B>",$msg);
    
$msg str_replace("[B]","<B>",$msg);
    
$msg str_replace("[sub]","<SUB>",$msg);
    
$msg str_replace("[SUB]","<SUB>",$msg);
    
$msg str_replace("[sup]","<SUP>",$msg);
    
$msg str_replace("[SUP]","<SUP>",$msg);
    
$msg str_replace("[/B][/b][/I][/i][/u][i][I][b][B]","</u>",$msg);
    
$msg str_replace("[/B][/b][/I][/i][/U][i][I][b][B]","</u>",$msg);
    
$msg str_replace("[/B][/b][/i][b][B]","</i>",$msg);
    
$msg str_replace("[/B][/b][/I][b][B]","</i>",$msg);
    
$msg str_replace("[/b]","</B>",$msg);
    
$msg str_replace("[/B]","</B>",$msg);
    
$msg str_replace("[/SUB]","</SUB>",$msg);
    
$msg str_replace("[/sub]","</SUB>",$msg);
    
$msg str_replace("[/SUP]","</SUP>",$msg);
    
$msg str_replace("[/sup]","</SUP>",$msg);
    
$msg str_replace("
"
,"<br>",$msg);
$f fopen("inc/question.txt","a+");
$date date("j/n/Y");
$time date("H:i");
fputs($f"<table width='100%'>
<tr>
<td class='question' width='20%'><b>Вопрос от 
$name</b></td> <td class='question' width='80%'><a href='edin.php?href=$date$time'>$text</a></td>
</tr></table><br><br>"
);
$f fopen("inc/questions/$date$time.txt","a+");
fputs($f"<table width='100%'>
<tr>
<td class='question' width='20%'><b>Вопрос от 
$name</b></td> <td class='question' width='80%'>$text</td>
</tr></table><br><br>"
);
echo 
"<script language='javascript'>location.href='question.php';</script>";
$_SESSION['name']="";
$_SESSION['text']="";
?>
работает вроде бы все нормально, но есть одно "но" - Не создается файл, который имеет имя "ДатаВремя.txt" в каталоге "inc/question/". Не могу найти ошибку. Заранее спасибо.

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог
_PROGRAMM_ вне форума Ответить с цитированием
Старый 26.04.2010, 20:54   #2
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Какую ошибку пишет? Обычно надо делать еще Fclose
motorway вне форума Ответить с цитированием
Старый 26.04.2010, 21:01   #3
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,603
По умолчанию

Цитата:
Сообщение от motorway Посмотреть сообщение
Какую ошибку пишет? Обычно надо делать еще Fclose
делал. Вот зайдите на страничку. Ее нет вообще.
--
Попробывал убрать переадресацию и увидел вот что:
Warning: fopen(inc/questions/26/4/201021:03.txt) [function.fopen]: failed to open stream: No such file or directory in Z:\home\test1.ru\www\bloks\question _ok.php on line 39

Warning: fputs() expects parameter 1 to be resource, boolean given in Z:\home\test1.ru\www\bloks\question _ok.php on line 43

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог

Последний раз редактировалось _PROGRAMM_; 26.04.2010 в 21:04.
_PROGRAMM_ вне форума Ответить с цитированием
Старый 26.04.2010, 21:05   #4
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Сделайте вначале вывод всех ошибок ini_set('display_errors','On');
Попробуйте задать полный путь
motorway вне форума Ответить с цитированием
Старый 27.04.2010, 07:26   #5
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,603
По умолчанию

Полный путь, Чего именно?

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог
_PROGRAMM_ вне форума Ответить с цитированием
Старый 27.04.2010, 10:06   #6
Adblock
Форумчанин
 
Аватар для Adblock
 
Регистрация: 25.04.2010
Сообщений: 184
По умолчанию

Не много не по теме.Не могли бы вы показать реализацию BB кодов.А то у меня идей нет))
Online
Adblock вне форума Ответить с цитированием
Старый 27.04.2010, 14:30   #7
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,603
По умолчанию

PHP код:
    $msg nl2br($msg); 
    
$msg str_replace("[u]","<u>",$msg); 
    
$msg str_replace("[u]","<u>",$msg); 
    
$msg str_replace("[i]","<i>",$msg); 
    
$msg str_replace("[i]","<i>",$msg); 
    
$msg str_replace("[b]","<B>",$msg); 
    
$msg str_replace("[b]","<B>",$msg); 
    
$msg str_replace("[sub]","<SUB>",$msg); 
    
$msg str_replace("[SUB]","<SUB>",$msg); 
    
$msg str_replace("[sup]","<SUP>",$msg); 
    
$msg str_replace("[SUP]","<SUP>",$msg); 
    
$msg str_replace("[/b][/b][/i][/i][/u][i][i][b][b]","</u>",$msg); 
    
$msg str_replace("[/b][/b][/i][/i][/u][i][i][b][b]","</u>",$msg); 
    
$msg str_replace("[/b][/b][/i][b][b]","</i>",$msg); 
    
$msg str_replace("[/b][/b][/i][b][b]","</i>",$msg); 
    
$msg str_replace("[/b]","</B>",$msg); 
    
$msg str_replace("[/b]","</B>",$msg); 
    
$msg str_replace("[/SUB]","</SUB>",$msg); 
    
$msg str_replace("[/sub]","</SUB>",$msg); 
    
$msg str_replace("[/SUP]","</SUP>",$msg); 
    
$msg str_replace("[/sup]","</SUP>",$msg); 
    
$msg str_replace(
"
,"<br>",$msg); 
str_replace($BBcode, $HTMLcode, $txt) - функция, которая заменяет $BBcode на $HTMLcode в строке $txt
--
Решил не посвещать этому еще один пост, но я нашел ответ на свой вопрос.
Вот в чем заключается ошибка
PHP код:
$date date("j/n/Y"); 
$time date("H:i"); 
Здесь дата делется слешами, которые образуют каталог. Php каким-то образом не смог создать файл. Еще я изменил при создании файла тип с "a+" на "w"(w - создает пустой файл для записи). Всем спасибо.

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог

Последний раз редактировалось _PROGRAMM_; 27.04.2010 в 14:50.
_PROGRAMM_ вне форума Ответить с цитированием
Старый 30.04.2010, 14:45   #8
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,755
По умолчанию

PHP код:
 $msg nl2br($msg); 
    
$msg str_replace("[u]","<u>",$msg); 
    
$msg str_replace("[u]","<u>",$msg); 
    
$msg str_replace("[i]","<i>",$msg); 
    
$msg str_replace("[i]","<i>",$msg); 
    
$msg str_replace("[b]","<B>",$msg); 
    
$msg str_replace("[b]","<B>",$msg); 
    
$msg str_replace("[sub]","<SUB>",$msg); 
    
$msg str_replace("[SUB]","<SUB>",$msg); 
    
$msg str_replace("[sup]","<SUP>",$msg); 
    
$msg str_replace("[SUP]","<SUP>",$msg); 
    
$msg str_replace("[/b][/b][/i][/i][/u][i][i][b][b]","</u>",$msg); 
    
$msg str_replace("[/b][/b][/i][/i][/u][i][i][b][b]","</u>",$msg); 
    
$msg str_replace("[/b][/b][/i][b][b]","</i>",$msg); 
    
$msg str_replace("[/b][/b][/i][b][b]","</i>",$msg); 
    
$msg str_replace("[/b]","</B>",$msg); 
    
$msg str_replace("[/b]","</B>",$msg); 
    
$msg str_replace("[/SUB]","</SUB>",$msg); 
    
$msg str_replace("[/sub]","</SUB>",$msg); 
    
$msg str_replace("[/SUP]","</SUP>",$msg); 
    
$msg str_replace("[/sup]","</SUP>",$msg); 
    
$msg str_replace(
"
,"<br>",$msg); 
Торжество копипасты! Долой циклы!
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 30.04.2010, 20:40   #9
13th
Форумчанин
 
Аватар для 13th
 
Регистрация: 31.12.2008
Сообщений: 634
По умолчанию

Вы че ослепли?)))) Файла твоего нет вопросного))
Код:
Warning: fopen(inc/questions/26/4/201021:03.txt) [function.fopen]: failed to open stream: No such file or directory in Z:\home\test1.ru\www\bloks\question _ok.php on line 39
и почему название скрипта( имени файла) с пробелом??? question _ok.php . это же не по человечески!
Возможно всё
Пишу обо всем

Последний раз редактировалось 13th; 30.04.2010 в 20:43.
13th вне форума Ответить с цитированием
Ответ
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не создается объектный файл TASM Misha_M. Помощь студентам 0 27.12.2009 16:34
при setsid() создается лишний процесс z-s Общие вопросы C/C++ 0 02.10.2009 01:30
F.A.Q(Вопрос-Ответ) ben95 Помощь студентам 17 07.01.2008 14:26
g61 (вопрос/ответ) g61 Свободное общение 2 04.12.2006 11:05