Отправка формы php не работает

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

    <form action="interest.php" method="post" >                                                   <!-- BEGIN cardetail Form -->
    <table>
    <tr>
    <td width="50" class="alignRight" style="font-weight:bold;" >Year:</td>
    <td width="10px"></td>
    <td width="112"><p name="carYear">2011</p></td>
    <td class="alignRight" style="font-weight:bold;" >Color:</td>
    <td width="10px"></td>
    <td><p name="carColor">Red</p></td>
    </tr>
    <tr>
    <td class="alignRight" style="font-weight:bold;" >Make:</td>
    <td width="10px"></td>
    <td ><p name="carMake">Honda</p></td>
    <td width="50" class="alignRight" style="font-weight:bold;">Trim:</td>
    <td width="10px"></td>
    <td>Car has some sort of trim on it.</td>
    </tr>
    <tr>
    <td class="alignRight" style="font-weight:bold;" >Model:</td>
    <td width="10px"></td>
    <td><p name="carModel">Accord</p></td>
    <td class="alignRight" style="font-weight:bold;">Miles:</td>
    <td width="10px"></td>
    <td><p>180,000</p></td>
    </tr>
    <tr>

    </tr>
    <tr>
    <td class="alignRight" style="font-weight:bold;">Options:</td>
    <td width="10px"></td>
    <td colspan="4">
    <p>
        Power Windows, 
            Power Locks, 
            Keyless Entry, 
            Cruise Control, 
            Climate Control, 
            2.6L V-Tech
    </p>
    </td>
    </tr>
    <tr>
    <td style="font-weight:bold;">Repairs/Maintenance:</td>
    <td width="10px"></td>
    <td colspan="4">Fuel line flush, Transmission flush, Coolant flush, Oil Change, New Oil Filter, New Fuel Filter, New Air Filter, New Radiator, Painted Driverside Door, New Tires, Brand New Wax Job, and Fully Detailed.</td>
    </tr>
    <tr>
<td class="alignRight"></td>
        <td></td>
<td><a href="#top">Back to Top</a></td>
        <td class="alignRight" style="font-weight:bold;">Price:</td>
        <td></td>
        <td class="price"><p><span class="price"><?php echo $carPrice; ?>$6,000</span><input class="showInterest" type="submit" name="showInterest" id="showInterest" value="Show Interest" /></td>
    </tr>

    </table>
    </form>                     <!-- END cardetail Form -->

Вот код php, на который я пытаюсь передать информацию.

    <?php echo $_POST['carYear'] . " / " . $_POST['carMake'] . " / " . $_POST['carModel'] . " / " . $_POST['carColor']; ?>

Теперь, когда я запускаю код с моего сервера, все, что я получаю, это 3 "/". По какой-то причине $_POST не получает никаких данных. Я попытался передать его в переменную, И просто вставив данные, как в примере. Что я делаю неправильно? Есть ли небольшая опечатка, по которой я скучаю?

3 ответа

Решение

Почему вы ничего не получаете, потому что вы ничего не публикуете!!

У вас есть только один <input> и именно этот:

  <input class="showInterest" type="submit" name="showInterest"
               id="showInterest"  value="Show Interest" />

И это просто submit Только кнопка, она ничего не делает сама по себе. Он может только представить то, что находится внутри другого <input type=''> тег. пример: если у вас есть

<input type='text' name='carYear' /> Вы сможете получить значение, сказав echo $_POST['carYear']; на вашей странице PHP.

Я ничего не вижу там. Вы не можете опубликовать простой текст, независимо от того, находится ли он внутри вашего <form></form> теги. Вы должны создать входы.

отредактированный

Хорошо, поместите эти значения скриптов в ваш HTML-файл,

  <input type='text' name='carYear' value='' />
  <input type='text' name='carMake' value='' />
  <input type='text' name='carModel' value='' />
  <input type='text' name='carColor' value='' />

и заполните все value='' с данными автомобиля, и отправьте форму

У вас нет ввода в вашей форме, кроме кнопки отправки, поэтому вы не получаете никаких данных в

    <?php echo $_POST['carYear'] . " / " . $_POST['carMake'] . " / " . $_POST['carModel'] . " / " . $_POST['carColor']; ?>

Чтобы иметь значение, скажем, в $_POST['carYear'] Вы должны добавить где-нибудь в вашей форме

<input type="text" name="carYear">

Узнайте больше о формах PHP здесь

Вы ничего не публикуете. Но, если вы хотите сохранить свою структуру и на самом деле опубликовать что-то. Добавьте некоторые скрытые входы со значениями, которые вы хотите опубликовать.

Ваш вклад будет выглядеть так:

<input type="hidden" name="carYear" value="2011"/>
<input type="hidden" name="carMake" value="Honda"/>
<input type="hidden" name="carModel" value="Accord"/>
<input type="hidden" name="carColor" value="Red"/>
Другие вопросы по тегам