PHP не будет публиковать мою HTML-форму
Html:
<form method="post" action="create.php">
Job #: <input type="text" name="jobnum">
<br>
Program: <input type="text" name="program"><br />
Ship Date: <input type="text" name="shipdate"><br />
Description: <input type="text" style="height:100px; width:85%" name="description"><br /><br />
Proto Verified By: <input type="text" name="name"><br /><br />
Additional Notes: <input type="text" style="height:100px; width:85%" name="notes"><br />
<input type="submit" name="value" value="submit" />
</form>
PHP:
$savedata = $_REQUEST['savedata'];
if ($savedata == 1){
$data = $_POST['jobnum'] . "\r\n";
$data .= $_POST['program'] . "\r\n";
$data .= $_POST['description'] . "\r\n";
$data .= $_POST['name'] . "\r\n";
$data .= $_POST['notes'] . "\r\n";
$file = "YOURDATAFILE.txt";
$fp = fopen($file, "a") or die("Couldn't open $file for writing!");
fwrite($fp, $data) or die("Couldn't write values to file!");
fclose($fp);
echo "Your Form has been Submitted!";
}
Я не уверен, почему мой php не будет публиковать мою форму. Моя отправка идет на страницу php, но она полностью пуста. Я новичок в коде, поэтому мне может понадобиться подробный ответ...
4 ответа
Попробуйте это, Вы не прошли или опубликовали с именем savedata
, из кнопки отправки формы, я использовал, как показано ниже
if(isset($_POST['value'])){
вместо
$savedata = $_REQUEST['savedata'];
if ($savedata == 1){
Вам нужно добавить скрытые настройки поля формы сохраненные данные в 1, чтобы ваш оператор if завершился:
<input name="savedata" value="1" type="hidden" />
Нет никаких savedata
Именованное поле в форме. Поэтому я предлагаю вам использовать имя кнопки отправки, чтобы проверить, отправлена ли форма. А также isset()
для проверки значения в php.
$savedata = $_REQUEST['value'];
if (isset($savedata)){
...
Элемент сохраненных данных не определен в форме.
Я бы также предложил вам быть последовательным в вашем коде, получить все элементы с помощью $_POST или $_REQUEST. Кроме того, присвойте значение атрибуту имени формы.