PHP: передача значений выбора и скрытого ввода через кнопку отправки изображения

#php

#php

Вопрос:

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

Я попробовал оба метода POST и GET, и я заметил, что данные передаются по URL, ведущему к файлу php, но с пустой страницей.

это URL-адрес для отображения параметров:

 http://localhost/project_name/test2.php?submit.x=15amp;submit.y=22amp;status=newamp;orderId=190406053842
  

вот моя HTML-форма

 <td>
        <form action="test2.php" method="GET">
        <input type="image" name="submit" src="icons/submit.png" alt="Submit" style='width:30px;height:30px;border:0;' onclick="confirm('are you sure?')"> 
        <select name="status">
            <option value="new">new</option>
            <option value="checking">checking</option>
            <option value="processing">processing</option>
            <option value="done">done</option>
          </select>
          <input type="hidden" name="orderId" value="<?php echo $row["ORDER_ID"]; ?>">
          </form>
</td>
  

это php-файл (просто повторяю результат, чтобы убедиться, что он работает, и продолжаю дальше)

     <?php
    $db = mysqli_connect('localhost', 'root', '', 'project_name');


            if(isset($_GET['submit'])){
                $status = $_GET['status'];
                $ID = $_GET['orderId'];

    echo $staus;
    echo $ID;
}
    ?>  
  

Спасибо.

Комментарии:

1. Привет, Эмма, спасибо, что приветствовала меня! .. упс, я перепутал вставку этой скобки, так что, к сожалению, пока все в порядке. в любом случае спасибо!

Ответ №1:

Если вы посмотрите на свою строку GET URL, там нет переменной ‘submit’, поэтому проверка переменной ‘submit’ не сработает.

Похоже, что он добавляет координаты к переменной ‘submit’, поэтому фактически выводит ‘submit.x’ и ‘submit.y’. Я никогда раньше не использовал тип ввода изображения, поэтому могу только догадываться, что это предполагаемая функциональность этого типа ввода.

Вы могли бы обойти это, проверив ‘OrderID’ вместо ‘submit’. Или вы могли бы попробовать ‘submit.x’ или ‘submit.y’.

Комментарии:

1. Хорошо, вот что это значит.. думаю, мне следует попробовать другой тип или изменить весь тег, чтобы отправить форму. большое спасибо!