В рамках приобретения подписчика я хочу захватить введенные пользователем данные из формы 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 и поменять форму после отправки с благодарственным сообщением?
Еще раз спасибо всем за помощь.
// 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);
замените, в impode на \ t для вкладок
Открыть файл в режиме добавления
$fp = fopen('./myfile.dat', "a+");
И поставьте все свои данные там, вкладка разделена. Используйте новую строку в конце.
fwrite($fp, $variable1."\t".$variable2."\t".$variable3."\r\n");
Закрыть файл
fclose($fp);
// 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();
-// 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 () для перенаправления браузера, вы избегаете проблем с перезагрузкой страницы и повторной отправкой своих данных.
Поменять форму довольно легко. Убедитесь, что действие формы указано на той же странице. Просто оберните форму внутри условия if (! Isset ($ _ POST ['Fname'])). Поместите содержимое, которое вы хотите показать после того, как форма была размещена внутри части «else {}». Итак, если форма опубликована, будет отображаться контент в предложении «else»; если форма не отправлена, будет отображаться содержимое «if (! isset ($ _ POST ['Fname']))", которое является самой формой. Вам не нужен другой файл, чтобы он работал.
Чтобы написать значения POSTED в текстовом файле, просто следуйте любым из методов, упомянутых выше.
Это лучший пример с 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); }
Очень просто: данные формы будут собраны и сохранены в данных $ var в $ var, будут записаны в файл filename.txt. \ N добавит новую строку. File Append Запрещает перезаписывать файл
<?php $var = $_POST['fieldname']; file_put_contents("filename.txt", $var . "\n", FILE_APPEND); exit(); ?>