PHP: <?php if(!isset($_POST['submit'])) { exit(); } if(isset($_POST['pass_reg'])) { $pass_reg_md=md5(md5($_POST['pass_reg'])); } $array_reg=array($_POST['login_reg'],$_POST['name_reg'],$pass_reg_md,$_POST['data_reg']); $reg_data=implode("|",$array_reg); $file_us = "user.txt"; if (is_writable($file_us)) { if (!$handle = fopen($file_us,"ab+")) { header('Refresh: 3'); die("Невозможно открыть файл ($file_us)"); } if (fwrite($handle, $reg_data) === FALSE) { echo "Невозможно записать в ($file_us)"; exit; } echo "Ура! Записали ($reg_data) в файл ($file_us)"; fclose($handle); } else { echo "Файл $file_us недоступен для записи"; } ?> Проверка на запись проходит положительно. А следующее условие возращает false. Всю голову сломал не пойму в чем дело с файлами не работал до этого.Помогите в какую сторону рыть.
у тебя дофига проверок. какая проходит положительно, а какая — фейлит? Какая ОСь? error_reporting(E_ALL); — включено ?
TheShock Спасибо что так быстро откликнулся второй раз помогаешь. PHP: if (is_writable($file_us)) эта проходит PHP: if (!$handle = fopen($file_us,"ab+")) здесь false ось windows что б Бил Гейтс перевернулся.))))
iliavlad пробовал и без нее т.е. "b" а по поводу пути и другого файла я же говорю проверка на запись проходит. PHP: if (is_writable($file_us)) то бишь true загвоздка в PHP: if (!$handle = fopen($file_us,"ab+")) Такое ощущение что права доступа на него закрыты. Но насколько я знаю на локалхосте по умолчанию все права открыты. Еще незнаю может поможет в решении у меня IIS а не apache и окошечник 2003 сервер.
PHP: <?php if ($handle = fopen($file_us,"ab+")) { /*{ header('Refresh: 3'); die("Невозможно открыть файл ($file_us)"); }*/ if (fwrite($handle, $reg_data) === FALSE) { echo "Невозможно записать в ($file_us)"; exit; } echo "Ура! Записали ($reg_data) в файл ($file_us)"; fclose($handle); }
Frozen Спасибо продвинулся на шаг. PHP: if (fwrite($handle, $reg_data) === FALSE) Теперь здесь застрял. reg_data приходит полностью а в файл не пишет. Помогите знатоки весь мозг взорвал.
http://ru.php.net/manual/en/function.fi ... ntents.php http://ru.php.net/manual/en/function.fi ... ntents.php
всем спасибо за советы но оказалось что на денвере все заработало.А на работе на IIS не работает. Вопрос еще следующего характера как мне после записи в файл перейти допустим в index.php header я так понимаю мне использовать нельзя. Помогите чем еще это выполнить можно?
Volt(220) При вводе header('Location: index.ru'); появляется ошибка Cannot modify header information - headers already sent by
А где вы header пишете? После: PHP: <?php echo "Ура! Записали ($reg_data) в файл ($file_us)"; ?> ? Попробуйте: PHP: <?php header('Refresh: 3; URL=http://dom.ru/index.php'); echo "Ура! Записали ($reg_data) в файл ($file_us)"; exit; ?>
Volt(220) Пробовал как вы предложили выглядит примерно так PHP: <?php if(!isset($_POST['submit'])) { exit(); } if(isset($_POST['pass_reg'])) { $pass_reg_md=md5(md5($_POST['pass_reg'])); } $array_reg=array($_POST['login_reg'],$_POST['name_reg'],$pass_reg_md,$_POST['data_reg']); $reg_data=implode("|",$array_reg); $reg_data.="\r\n"; $file_us = "user.txt"; if (is_writable($file_us)) { if (!$handle = fopen($file_us,"ab+")) { header('Refresh: 3'); die("Невозможно открыть файл ($file_us)"); } if (fwrite($handle, $reg_data) === FALSE) { echo "Невозможно записать в ($file_us)"; exit; } fclose($handle); header('Refresh: 3; URL=http://localhost/test/index.php'); echo "Ура! Записали ($reg_data) в файл ($file_us)"; exit; } else { echo "Файл $file_us недоступен для записи"; } ?> и дает ошибку Warning: Cannot modify header information - headers already sent by (output started at T:\home\localhost\www\test\registr.php:8) in T:\home\localhost\www\test\registr.php on line 63
если уж Код (Text): <script>document.location("http://.../index.php");</script> или Код (Text): <META HTTP-EQUIV="Refresh" CONTENT="3; URL=/"> по каким-то причинам не нравится (не пойму кстати по каким) то юзай ob_start
Может добавка type="text/javascript" поможет: PHP: echo '<script type="text/javascript">document.location.href="http://.../index.php"</script>';
Спасибо огромное всем.Проблема решена следующем образом. Был файл registr.php сначала шла читая html форма потом php, header ругался на вывод html перед ним поменял их местами и все заработало. Volt(220) Спасибо огромное отдельно что натолкнул на путь истинный.
А еще вопрос как сессию к файлу прикрутить что бы писалась и удалялась на каждого пользователя. Простите за назойливость.