Получить пользовательский ввод из формы, написать в текстовый файл с помощью PHP - PullRequest
4 голосов
/ 06 января 2010

Как часть приобретения подписчика, я собираюсь получить введенные пользователем данные из HTML-формы и записать их в текстовый файл с разделителями табуляции с помощью php. Записанные данные должны быть разделены вкладками и добавлены под другими данными.

После нажатия кнопки «подписаться» на форме я хотел бы удалить форму и отобразить небольшое сообщение, например «спасибо за подписку», в div.

Это будет на WordPress блоге и содержится во всплывающем окне.

Ниже приведены конкретные детали. Любая помощь очень ценится.

Переменные / входы

$Fname = $_POST["Fname"];
$email = $_POST["emailPopin"];
$leader = $_POST["radiobuttonTeamLeader"];
$industry = $_POST["industry"];
$country = $_POST["country"];
$zip = $_POST["zip"];

$ leader - это переключатель с двумя вариантами, в котором значениями «да» и «нет».

$ страна - это выпадающий список примерно с 40 странами.

Все остальные значения являются текстовыми.

У меня есть весь основной код формы, готовый и готовый, за исключением действия, все, что мне действительно нужно знать, это:

Как записать текстовый файл с разделителями табуляции с помощью php и заменить форму после отправки сообщения с благодарностью?

Еще раз спасибо за помощь.

Ответы [ 6 ]

10 голосов
/ 06 января 2010
// the name of the file you're writing to
$myFile = "data.txt";

// opens the file for appending (file must already exist)
$fh = fopen($myFile, 'a');

// Makes a CSV list of your post data
$comma_delmited_list = implode(",", $_POST) . "\n";

// Write to the file
fwrite($fh, $comma_delmited_list);

// You're done
fclose($fh);

заменить, в имподе на \ t для вкладок

3 голосов
/ 06 января 2010

Открыть файл в режиме добавления

$fp = fopen('./myfile.dat', "a+");

И поместите все свои данные там, разделив табуляцией. Используйте новую строку в конце.

fwrite($fp, $variable1."\t".$variable2."\t".$variable3."\r\n");

Закройте файл

fclose($fp);
0 голосов
/ 02 февраля 2015

Очень очень просто: Данные формы будут собраны и сохранены в $ var данные в $ var будут записаны в filename.txt \ n добавит новую строку. Файл Добавить Запрещает перезаписывать файл

<?php
$var = $_POST['fieldname'];
file_put_contents("filename.txt", $var . "\n", FILE_APPEND);
exit();
?>
0 голосов
/ 17 февраля 2014

Это лучший пример с fwrite (), вы можете использовать не более 3 параметров, но добавляя «.» Вы можете использовать столько переменных, сколько хотите.

if isset($_POST['submit']){
    $Fname = $_POST["Fname"];
    $email = $_POST["emailPopin"];
    $leader = $_POST["radiobuttonTeamLeader"];
    $industry = $_POST["industry"];
    $country = $_POST["country"];
    $zip = $_POST["zip"];

    $openFile = fopen("myfile.ext",'a');
        $data = "\t"."{$Fname}";
        $data .= "\t"."{$email}";
        $data .= "\t"."{$leader}";
        $data .= "\t"."{$industry}";
        $data .= "\t"."{$country}";
        $data .= "\t"."{$zip}";

    fwrite($openFile,$data);
    fclose($openFile);
}
0 голосов
/ 28 декабря 2011

Поменять форму относительно просто. Убедитесь, что вы установили действие формы на той же странице. Просто оберните форму внутри условия "if (! Isset ($ _ POST ['Fname']))". Поместите любой контент, который вы хотите показать после публикации формы, внутри части "else {}". Таким образом, если форма размещена, будет показано содержимое в предложении «else»; если форма не опубликована, будет показано содержимое «if (! isset ($ _ POST ['Fname']))», которое является самой формой Вам не нужен другой файл, чтобы он работал.
Чтобы записать POST-значения в текстовый файл, просто следуйте любым из методов, упомянутых выше.

0 голосов
/ 06 января 2010
// format the data
$data = $Fname . "\t" . $email . "\t" . $leader ."\t" . $industry . "\t" . $country . "\t" . $zip;

// write the data to the file
file_put_contents('/path/to/your/file.txt', $data, FILE_APPEND);

// send the user to the new page
header("Location: http://path/to/your/thankyou/page.html");
exit();

Используя функцию header () для перенаправления браузера, вы избегаете проблем с перезагрузкой страницы пользователем и повторной отправкой его данных.

...