HTML отправить формы с использованием PHP - PullRequest
1 голос
/ 02 декабря 2011

Я сейчас изучаю PHP, так что извините за мой глупый вопрос, который я не могу решить.Я создал простую веб-форму, в которой я отображаю значения, введенные пользователем.

function submitform()
{
  document.forms["myForm"].submit();
} // in head of html



<form action ="res.php" id="myForm" method="post" >
 Name: <input type="text" name="name" size="25" maxlength="50" /> <br> </br>
 Password:<input type="password" name="password" size="25" maxlength="50" /> 
 Description: <textarea name="editor1"> </textarea> 
<input type="submit" value="Submit" onclick="submitForm()" />
</form>

, а res.php содержит:

foreach($_POST as $field => $value)
{
  echo "$field = $value";
}

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

Ответы [ 6 ]

1 голос
/ 02 декабря 2011

Начнем с исправления ошибок:

JavaScript чувствительно к регистру.Я вижу, что ваша функция называется submitform, а форма onclick вызывает submitForm.

1 голос
/ 02 декабря 2011

Нет необходимости в JavaScript. Это должно сделать:

<form action ="res.php" id="myForm" method="post" >
        Name: <input type="text" name="name" size="25" maxlength="50" /> <br> </br>
        Password:<input type="password" name="password" size="25" maxlength="50" /> 
        Description: <textarea name="editor1"> </textarea> 
        <input type="submit" value="Submit" />
  </form>
0 голосов
/ 25 октября 2018

Вы можете отправить HTML-форму, используя PHP с библиотекой fsubmit .

Пример:

require_once 'fsubmit.php';
$html = "<form action ='res.php' method='post'><input type='text' name='name'/></form>";
$form = new Fsubmit();
$form->url = 'http://submit_url_here.com';
$form->html = $html;
$form->params = ['name'=>'kokainom'];
$response = $form->submit();
echo $response['content'];
0 голосов
/ 02 декабря 2011

Поместите свой php-код в теги php!

<?php

foreach($_POST as $field => $value)
{
  echo $field ." = ." $value.'<br />';
}

?>

Если вы сделаете

<?php
  print_r($_POST);
?>

что вы получите?Если это все еще не работает, ваш сервер анализирует php?

Создайте файл test.php и получите к нему прямой доступ http://localhost/test.php или любой другой URL-адрес

<?php
echo 'Hello';
?>

если это не работает .. это совсем другая проблема

0 голосов
/ 02 декабря 2011

Есть 2 вещи, которые вы должны сделать сейчас.

  1. Удалите функцию JavaScript для отправки формы.Это не обязательно (или необходимо).Поведение кнопки отправки по умолчанию - ... хорошо ... отправить.Вам не нужно помогать с JavaScript.
  2. Включить отображение ошибок с помощью error_reporting(E_ALL).

После того, как вы сделаете обе вещи, вы сможете отладить и оценитьпроблема гораздо проще.

0 голосов
/ 02 декабря 2011

Javascript не является действительно необходимым из того, что вы нам показали, я попробую это на одной странице php и посмотрю, работает ли он:

Создайте файл test.php для целей тестирования:

<?php
if($_POST){
    foreach($_POST as $key=>$value){
        echo "$key: $value<br />";
    }
}else{
    <form action="test.php" method="post">
        <input type="text" value="1" name="name1" />
        <input type="text" value="2" name="name2" />
        <input type="submit" value="submit" name="Submit" />
    </form>
}
?>

Если это работает, медленно переходите к текущей настройке формы, чтобы увидеть, что ее нарушает.Если это не работает, в игре есть что-то большее.

...