Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
php717
4 / 4 / 2
Регистрация: 11.06.2014
Сообщений: 106
#1

Не записываются данные в локальный текстовый файл - PHP

16.08.2014, 18:11. Просмотров 597. Ответов 10
Метки нет (Все метки)

форма по записи данных в локальный файл
в чем проблема подскажите плиз ??
на кодил вроде правильно ..
а текст в fail.txt не идет

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html lang="en"> <!--<![endif]-->
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <title>контактная форма</title>
  <link rel="stylesheet" href="css/style.css">
  <!--[if lt IE 9]><script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
</head>
<body>
  <form class="sign-up">
  <form action="process.php" method="post">
    <h1 class="sign-up-title">хотите присоединиться ? оставьте ваш номер телефона и мы вам перезвоним</h1>
    <input type="password" class="sign-up-input" placeholder=" телефон ">
    <input type="submit" value="Подтверждаю" class="sign-up-button">
  </form>
 
  </div>
</body>
</html>
process.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
<html><body>
<?php
$password = $_POST['password'];
$location = "index.html" ;
$file = fopen ( "fail.txt" , "a" );
$str_avto = $pass . "\t" . "\n"
fwrite( $file , $str_avto );
fclose( $file );
header( "Location: $location " );
 
?>
</body></html>
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.08.2014, 18:11
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Не записываются данные в локальный текстовый файл (PHP):

Не записываются данные в сессию
Не знаю в чем ошибка. Существует три файла форма входа, обработчик и заготовка...

Не записываются данные из формы в БД mysql
Взяла готовое решение из интернета, однако данные не записываться. В окне...

В сессию записываются другие данные
class Session { const SECRET_WORD = 'some'; public static $id = 1; public...

Не записываются данные в куки на php
Пишу регистрацию и авторихзацию на AJAX. Сам код работает отлично, но данные в...

Не записываются данные в базу данных mysql
Приветствую! При регистрации, ошибок нет, говорит что регистрация успешна, а...

не записываются данные при отправке запроса почему
1.php &lt;!DOCTYPE html&gt; &lt;html lang=&quot;ru&quot;&gt; &lt;head&gt; &lt;title&gt;Заголовок&lt;/title&gt;...

10
_include
Студент
52 / 52 / 38
Регистрация: 17.09.2012
Сообщений: 291
Записей в блоге: 2
Завершенные тесты: 1
16.08.2014, 21:03 #2
Если вы пишите в fail перменную password, то почему так?:
$password = $_POST['password'];
$file = fopen ( "fail.txt" , "a" );
$str_avto = $pass . "\t" . "\n"
fwrite( $file , $str_avto );
----------------------------
Пустую переменную в файл?:3
1
N3stY
(ノಠ益ಠ)ノ彡┻━┻
151 / 151 / 78
Регистрация: 05.06.2014
Сообщений: 710
Записей в блоге: 2
18.08.2014, 16:05 #3
php717,
Цитата Сообщение от php717 Посмотреть сообщение
<?php
$password = $_POST['password'];
$location = "index.html" ;
$file = fopen ( "fail.txt" , "a" );
$str_avto = $pass . "\t" . "\n"
fwrite( $file , $str_avto );
fclose( $file );
header( "Location: $location " );
?>
Как сказал _include

PHP
1
2
3
4
5
6
7
8
9
10
<?php
$pass = $_POST['password'];
$location = "index.html" ;
$file = fopen ( "fail.txt" , "a" );
$str_avto = $pass . "\t" . "\n"
fwrite( $file , $str_avto );
fclose( $file );
header( "Location: $location " );
 
?>
2
php717
4 / 4 / 2
Регистрация: 11.06.2014
Сообщений: 106
20.08.2014, 18:50  [ТС] #4
сменил ... только там опять пусто в файле fail.txt ...
на fail.txt стоит 777
0
N3stY
(ノಠ益ಠ)ノ彡┻━┻
151 / 151 / 78
Регистрация: 05.06.2014
Сообщений: 710
Записей в блоге: 2
20.08.2014, 21:52 #5
Проверьте через echo если POST приходит заполненный
Хотя как я вижу PASSWORD вообще не существует,

HTML5
1
<input type="password" class="sign-up-input" placeholder=" телефон ">
Ему нужно имя однако.

HTML5
1
<input type="password" class="sign-up-input" placeholder="телефон" name="password">
Добавлено через 2 минуты
php717, если инпуту не дать имени, то форма его не отсылает POST`ом.
0
php717
4 / 4 / 2
Регистрация: 11.06.2014
Сообщений: 106
20.08.2014, 23:53  [ТС] #6
N3stY дописал в индекс как прописано спс за подсказку...

всё же проблема остаётся старая... файл пуст...

да.. после ввода в форму : Moj nomer Telefona
в строке браузера отображаеться то что вводилось..

index.html?password=Moj+nomer+Telefona
0
N3stY
(ノಠ益ಠ)ノ彡┻━┻
151 / 151 / 78
Регистрация: 05.06.2014
Сообщений: 710
Записей в блоге: 2
21.08.2014, 00:31 #7
php717,

В HTML была ошибка 2 формы, а в PHP я не стал разбираться, просто переписал заново.

HTML5
1
2
 <form class="sign-up">
  <form action="process.php" method="post">
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html lang="en"> <!--<![endif]-->
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <title>контактная форма</title>
  <link rel="stylesheet" href="css/style.css">
  <!--[if lt IE 9]><script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
</head>
<body>
  <form method="post" action="process.php" class="sign-up">
    <h1 class="sign-up-title">хотите присоединиться ? оставьте ваш номер телефона и мы вам перезвоним</h1>
    <input type="text" class="sign-up-input" placeholder="телефон" name="password">
    <input type="submit" value="Подтверждаю" class="sign-up-button">
  </form>
 
  </div>
</body>
</html>
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$filename = 'fail.txt';
$content = $_POST['password']."\t\n";
 
if (is_writable($filename)) {
 
    
    if (!$handle = fopen($filename, 'a')) {
         echo "Где файл ($filename)?";
         exit;
    }
 
    if (fwrite($handle, $content) === FALSE) {
        echo "Нет доступа к файлу ($filename)";
        exit;
    }
 
    echo "Данные: ($content) добавлены в файл ($filename)";
 
    fclose($handle);
 
} else {
    echo "Файл $filename недоступен для записи";
}
0
php717
4 / 4 / 2
Регистрация: 11.06.2014
Сообщений: 106
21.08.2014, 17:11  [ТС] #8
файл пустой ...
даже при том варианте который указан выше...
0
N3stY
(ノಠ益ಠ)ノ彡┻━┻
151 / 151 / 78
Регистрация: 05.06.2014
Сообщений: 710
Записей в блоге: 2
22.08.2014, 14:39 #9
php717, я перед тем как выложить проверил, все записалось в файл.

Вы уверенны что файл называется fail.txt, то что он лежит в одной папке со скриптом, то что у него есть права на запись?

Добавлено через 3 минуты
Файл должен лежать именно в папке где лежит process.php, иначе указывать нужно:

PHP
1
$filename = '/fail.txt'; //Если файл лежит в корневой папке сайта.
PHP
1
$filename = '/путь/к/файлу/fail.txt'; //Если файл лежит в серии папок.
PHP
1
$filename = '/путь к файлу/fail.txt'; //Если файл лежит в папке которая находится в корневой дирректории.
Добавлено через 5 минут
Перепроверил только что:
Данные: (123456789 ) добавлены в файл (fail.txt)
Добавлено через 3 минуты
php717, Что вообще говорит скрипт?
0
php717
4 / 4 / 2
Регистрация: 11.06.2014
Сообщений: 106
22.08.2014, 22:35  [ТС] #10
все файлы лежат в одном месте ..

выдаёт то что на картинке

сам зайди глянь :

ссылка
0
Миниатюры
Не записываются данные в локальный текстовый файл  
N3stY
(ノಠ益ಠ)ノ彡┻━┻
151 / 151 / 78
Регистрация: 05.06.2014
Сообщений: 710
Записей в блоге: 2
24.08.2014, 21:49 #11
Лучший ответ Сообщение было отмечено php717 как решение

Решение

php717, код PHP в обязательном порядке должен быть выделен "<?PHP ?>" иначе он не будет срабатывать, а всего лишь вылезать на страницу "как есть"!
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$filename = 'fail.txt';
$content = $_POST['password']."\t\n";
 
if (is_writable($filename)) {
 
    
    if (!$handle = fopen($filename, 'a')) {
         echo "Где файл ($filename)?";
         exit;
    }
 
    if (fwrite($handle, $content) === FALSE) {
        echo "Нет доступа к файлу ($filename)";
        exit;
    }
 
    echo "Данные: ($content) добавлены в файл ($filename)";
 
    fclose($handle);
 
} else {
    echo "Файл $filename недоступен для записи";
}
?>
1
24.08.2014, 21:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.08.2014, 21:49
Привет! Вот еще темы с решениями:

При создании CSV данные записываются в одну ячейку
Формируется сначала массив товаров: $plist=array(); foreach...

Не записываются логи в файл
Подскажите, плиз, в чем ошибка. Задача следующего характера: в файл должны...

Не записываются данные в БД. Ошибка "Query was empty"
почему выбивает Query was empty. перед добавлением в базу вседанные...

Иногда данные не записываются в файлы, а файлы обнуляются
Есть скрипт, который работает по крону, парсит небольшие данные и записывает их...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru