$ _POST суперглобальный не проходящий (1and1) - PullRequest
1 голос
/ 20 марта 2011

Я только что создал базовую страницу формы и через Aptana, WAMP и через базовую страницу 1and1, я не могу заставить поля формы проходить через суперглобальный $ _POST.

Вот страница index.html:

<html>
<head>
    </head>
    <body>
        <p>Type in the areas</p>
    <form action="keywords.php" method="POST">
        <label for="Area1"> 1:</label>
        <input type="text" id="Area1" name="first area /"><br />
        <label for="Area1"> 2:</label>
        <input type="text" id="Area2" name="second area /"><br />
        <label for="Area1"> 3:</label>
        <input type="text" id="Area3" name="third area /"><br />
        <label for="Area1"> 4:</label>
        <input type="text" id="Area4" name="fourth area /"><br />
        <label for="Area1"> 5:</label>
        <input type="text" id="Area5" name="fifth area /"><br />
        <label for="Area1"> 6:</label>
        <input type="text" id="Area6" name="sixth area /"><br />
        <label for="Area1"> 7:</label>
        <input type="text" id="Area7" name="seventh area /"><br />
        <label for="Area1"> 8:</label>
        <input type="text" id="Area8" name="eighth area /"><br />
            <input type="submit" value="Run" name="Run">
            </form>
    </body>
</html>
?>

Который переходит кwords.php

<?php

 if(isset($_POST['submit'])){
     echo "test";


    $area1 = $_POST['Area1'];
    $area2 = $_POST['Area2'];
    $area3 = $_POST['Area3'];
    $area4 = $_POST['Area4'];
    $area5 = $_POST['Area5'];
    $area6 = $_POST['Area6'];
    $area7 = $_POST['Area7'];
    $area8 = $_POST['Area8'];


    echo $area1;
 }
 ?>

Дорогой господин, что я делаю не так? Быть нежным. PHP 5.3.4

Ответы [ 3 ]

2 голосов
/ 20 марта 2011

Ошибка, в вашем коде PHP вы ссылаетесь на значение, которое вы задали в атрибуте HTML id, а не на атрибут name для элементов формы.Браузер передает атрибут name как имя элемента формы.Попробуйте $ _POST ['first area'] и т. Д.:)

2 голосов
/ 20 марта 2011

Переменные вставляются в $_POST в зависимости от имени. Так было бы $_POST['first area'].

Кроме того, я не знаю, если это плохое копирование, но внутри имени не должно быть косых черт ... они должны быть вне кавычек. Например:

<input type="text" id="Area1" name="first area" /><br />
1 голос
/ 20 марта 2011

Фактически вы можете передать все входные данные как один массив.

Вот пример.

<html>
<head>
    </head>
    <body>
        <p>Type in the areas</p>
    <form action="keywords.php" method="POST">
        <label for="Area1"> 1:</label>
        <input type="text" id="Area1" name="area[]"><br />
        <label for="Area1"> 2:</label>
        <input type="text" id="Area2" name="area[]"><br />
        <label for="Area1"> 3:</label>
        <input type="text" id="Area3" name="area[]"><br />
        <label for="Area1"> 4:</label>
        <input type="text" id="Area4" name="area[]"><br />
        <label for="Area1"> 5:</label>
        <input type="text" id="Area5" name="area[]"><br />
        <label for="Area1"> 6:</label>
        <input type="text" id="Area6" name="area[]"><br />
        <label for="Area1"> 7:</label>
        <input type="text" id="Area7" name="area[]"><br />
        <label for="Area1"> 8:</label>
        <input type="text" id="Area8" name="area[]"><br />
            <input type="submit" value="Run" name="Run">
            </form>
    </body>
</html>

Получит одну переменную: $_POST['area'] Эта переменная является массивом из 8 значенийзатем вы можете повторить.

...