Ответов: 0 Просмотров: 476
|
Добрый вечер, друзья!
Не судите строго, пишу первый скрипт на php (реально первый). Сразу прошу извинения за неграмотность в php перед гиками.
Пролог: есть сайт на joomla 3, модуля нормально работающего вопросов - ответов нет, решил написать себе скрипт.
Вопросы:
- скрипт работает на локальном ПК, но когда выкладываю - "Warning: fopen(http://yunost.lugansk.ua/vi-source/qhistory.txt) [function.fopen]: failed to open stream: HTTP wrapper does not support writeable connections in V:\home\test1.ru\www\test.php on line 19
Не удается открыть файл!"
- после заполнения формы и обновления страницы - данные вводятся повторно. Почему и как избавиться?
- как еще можно улучшить скрипт.
ЗЫ
Прошу говорить на русском языке и обойтись без подключения дополнительных фалов.
CODE ( htmlphp):
скопировать код в буфер обмена
<?php // 1. Открыть файл для записи или отобразить ошибку "Не удается открыть файл!" $fp = fopen("http://yunost.lugansk.ua/vi-source/qhistory.txt", "r+") or die("Не удается открыть файл!"); // 2. Если файл пуст - написать "Пока нет вопросов" $filename = 'http://yunost.lugansk.ua/vi-source/qhistory.txt'; echo "Пока нет вопросов"; // 3. Если файл не пуст - отобразить содержимое $lines = file('http://yunost.lugansk.ua/vi-source/qhistory.txt'); foreach ($lines as $line_num => $line) echo "$line\n"; // 4. Ниже отобразить форму вопроса с полями "Имя", "Email", "Вопрос" и кнопкой "Отправить" ?> <form action="" method="post" class="text_forma" > Ваше имя: <input type="text" name="name" size="25" title="Введите ваше имя" /> Ваш e-mail (для ответа): <input type="text" name="email" size="25"/> Ваш вопрос: <textarea name="mess" cols="25" rows="3" ></textarea> <input type="submit" value="Отправить сообщение" /> </form> <?php // 5. Если пользователь заполнит форму и нажмет "Отправить" - // 5.1. сохранить в переменную $name имя пользователя, $email почту, $text вопрос, $date дата и время вопроса if (isset($_POST['name'])) {$name = $_POST['name'];} if (isset($_POST['email'])) {$email = $_POST['email'];} if (isset($_POST['mess'])) {$text = $_POST['mess'];} // 5.2. записать в конец файла http://yunost.lugansk.ua/vi-source/qhistory.txt данные в таком формате $file = 'http://yunost.lugansk.ua/vi-source/qhistory.txt'; // 5.2.1 1 строка. <h1>$date - $name</h1> if ($name != NULL and $text != NULL and $email != NULL ) { $current .= "<h1 style='font-weight:bold'>$date - $name</h1>\n"; // 5.2.2 2 строка. <h3>Вопрос: $text</h3> $current .= "<h3>Вопрос: $text</h3> \n"; $current .= "<h3 style='text-indent: 1.5em;'>Ответ: <h3 style='font-style: italic; text-indent: 3em;'>Ответа пока нет...</h3></h3> \n"; $current .= "<hr>\n\n\n"; } // 5.2.3. 3 строка. <h3>Ответа пока нет...</h3> // 6. Закрытие файла ?>
|