Отправка формы PHP / HTML - PullRequest
       3

Отправка формы PHP / HTML

2 голосов
/ 03 апреля 2011

У меня есть код HTML и PHP

    <form name="addaserver" method="post" action="addaserver.php">
    <p>Server Name<form method="post">
    <input name="servername" type="text" /></form>

    <p>Description<form method="post">
    <input name="description" type="text" /></form>

    <p>Server IP<form method="post">
    <input name="ip" type="text" /></form>

    <p>Tags (ex: &quot;pvp, economy, fun&quot;)<form method="post">
    <input name="tags" type="text" /></form>

    <form method="post">
        <input name="submitserver" type="submit" value="submit" /></form>
    </p>

и (Addaserver.php)

$servername=$_POST['servername'];
$desc=$_POST['description'];
$ip=$_POST['ip'];
$tags=$_POST['tags'];

Очевидно, я пытаюсь получить данные из форм ... однако, когда я нажимаю "отправить", он просто перезагружает страницу, на которой находятся формы. Вероятно, это просто простая ошибка, но я не могу понять, что не так D:

Ответы [ 7 ]

4 голосов
/ 03 апреля 2011

Вы должны определить только одну форму, а не одну для каждого ввода:

<form name="addaserver" method="post" action="addaserver.php">
inputs, inputs, inputs, submit
</form>
2 голосов
/ 03 апреля 2011

Первое, что я вижу неправильно, это то, что у вас есть два отдельных тега формы в одном и том же HTML.

Второй является в значительной степени бесполезным, поскольку он не предоставляет никаких данных для какой-либо цели или действия.Я бы реструктурировал ваш HTML-код так, чтобы он был более похожим на это, и попробуйте;

<form name="addaserver" method="post" action="addaserver.php">
<p>Server Name<form method="post">
<input name="servername" type="text" /></p>

<p>Description<form method="post">
<input name="description" type="text" /></p>

<p>Server IP<form method="post">
<input name="ip" type="text" /></p>

<p>Tags (ex: &quot;pvp, economy, fun&quot;)
<input name="tags" type="text" /></p>

<p><input name="submitserver" type="submit" value="submit" /></p>
</form>

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

1 голос
/ 03 апреля 2011

Попробуйте вместо этого:

<form name="addaserver" method="post" action="addaserver.php">
    <p>Server Name: <input name="servername" type="text" /></p>
    <p>Description: <input name="description" type="text" /></p>
    <p>Server IP: <input name="ip" type="text" /></p>
    <p>Tags (ex: &quot;pvp, economy, fun&quot;)<input name="tags" type="text" /></p>
    <p><input name="submitserver" type="submit" value="submit" /></p>
</form>
1 голос
/ 03 апреля 2011

Вы вкладываете дополнительные теги формы в вашу форму. Вам нужен только один тег формы. Все входы идут внутри него.

<form name="addaserver" method="post" action="addaserver.php">
    <p>Server Name</p>
    <input name="servername" type="text" />

    <p>Description<</p>
    <input name="description" type="text" />

    <p>Server IP</p>
    <input name="ip" type="text" />

    <p>Tags (ex: &quot;pvp, economy, fun&quot;)</p>
    <input name="tags" type="text" />

    <input name="submitserver" type="submit" value="submit" />
</form>
1 голос
/ 03 апреля 2011

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

<form name="addaserver" method="post" action="addaserver.php">
<p>Server Name
<input name="servername" type="text" /></p>

<p>Description
<input name="description" type="text" /></p>

<p>Server IP<form method="post">
<input name="ip" type="text" /></p>

<p>Tags (ex: &quot;pvp, economy, fun&quot;)
   <input name="tags" type="text" />

   <input name="submitserver" type="submit" value="submit" /></form>
</p>
1 голос
/ 03 апреля 2011

Вы, кажется, заключаете все свои элементы ввода в разные теги. тег Form - это набор элементов Form, значения которых будут отправлены при отправке формы. И если вы не укажете атрибут действия в форме, он (как вы говорите) перезагрузит страницу. Так что в приведенном выше примере, если вы удалите все теги, окружающие входные теги, и поместите их под одним тегом, вы должны опубликовать свою информацию

Посмотрите на http://www.w3schools.com/html/html_forms.asp и http://www.tizag.com/phpT/examples/formex.php для примеров того, как это сделать.

Надеюсь, что это имеет смысл.

1 голос
/ 03 апреля 2011

В вашем коде слишком много тегов <form method="post">.

Ваш код должен начинаться с <form method="post"> и заканчиваться </form>, но между ними должны быть только поля ввода.

Вы определяете действие для 'addaserver.php' в первом теге <form>, но кнопка отправки находится после другого тега <form>, поэтому она не учитывает исходную цель, которую вы устанавливаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...