Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2012, 22:27   #1
kennyi666
 
Регистрация: 21.01.2012
Сообщений: 7
По умолчанию Гостевая книга

Вот, начал изучать php, написал первую гостевую книгу, но, как всегда, первый блин комом. Подскажите, пожалуйста, в чём ошибка?
p.s. Задумывалось, что сообщения будут дописываться в начало файла.
PHP код:
<?php
if ($_SERVER['REQUEST_METHOD']=='POST'){
    
$name=trim(strip_tags($_POST['name']));
    
$com=trim(strip_tags($_POST['com']));
        
$z=fopen('zzz.php','a+');
        
fwrite($z,$name.': <br>'.$com.'<br><hr>|');
        
fclose($z);
        
$gmass=explode("|",file_get_contents('zzz.php'));
        
$gmass=array_pop($gmass);
        
$gmass=array_reverse($gmass);
        
$f=fopen('iframe.php','w+');
        foreach(
$gmass as $zn){
        
fwrite($f,$zn);
        }
        
fclose($f);
        
header('Location: '.$_SERVER['REQUEST_URL']);
    
}
?>
kennyi666 вне форума Ответить с цитированием
Старый 21.01.2012, 23:51   #2
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

я не профи . Но думаю что тебе нужно сделать переменные присвоить им то что передаётся через $_POST
..........................
на пример
$file = "file.file";
$name = $_POST['name'];
$email = $_POST['email'];
$message = str_replace("\r\n", "<br />", $_POST['message']);

Наверняка нужно будет эти данные выводить . поэтому нужно хорошо записать что бы было легко доставать.

$sep = '<<->>'; // любой самодельный разделитель // не обязательно

$all = array ($name, $email, $message); //

$tmp_msg = implode ($sep, $all)."\r\n";

$fp = @fopen($file, "a+");
fwrite($fp, $tmp_msg);
fclose($fp);
============================
\r\n очень важны здесь , и implode тоже !

А что у тебя выводит ?
................................... ..
ЗЫ; Почитай про скобки / апострофы . Это очень тонкий момент.
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/

Последний раз редактировалось pompiduskus; 21.01.2012 в 23:54.
pompiduskus вне форума Ответить с цитированием
Старый 22.01.2012, 11:05   #3
kennyi666
 
Регистрация: 21.01.2012
Сообщений: 7
По умолчанию

Дело в том, что все данные в файл "zzz.php" у меня записываются верно, но после строчки "fclose($z);" что-то идёт не так.
kennyi666 вне форума Ответить с цитированием
Старый 22.01.2012, 15:54   #4
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Сделай пару записей скриптом и выложи тут ! Мне тоже интересно
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 22.01.2012, 20:50   #5
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Честно говоря понять не могу что вы там хотите получить, вместо фразы "где-то ошибка", надо описывать что и где идет не так, и что хотите получить(например что в файлах пишется). Но первый совет - забудьте файлы, сразу учитесь работать с БД.
Если по сути (общие замечания, поскольку не понятен желаемый результат):
1. Используйте для записи file_put_contents()
2. array_pop вовзращает последний элемент массива (я думаю вы надеетесь, что оно вернет старый массив - судя по array_reverse идущий далее)
3. 'w+' - очищает файл ... ну это так на всякий случай, надо или не надо
Cronos20 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Гостевая книга маГГ PHP 1 27.09.2011 23:39
Гостевая книга I.C.E JavaScript, Ajax 3 26.04.2010 11:12