Форма метода PUT в HTML с PHP - PullRequest
       12

Форма метода PUT в HTML с PHP

0 голосов
/ 15 ноября 2018

Я пытаюсь обновить запись через HTML-форму. Но у меня проблема в том, что, когда я нажимаю SUBMIT, тогда ($ _SERVER ['REQUEST_METHOD'] == "PUT") {} не активируется.

Моя форма html:

<form method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
           
            ID : <input type="text" name ="idCar1">
            NAME CAR: <input type="text" name="nameCar1" >
            YEAR CAR: <input type="text" name="yearCar1">
            <input type="hidden" name='_METHOD' value="PUT">
            <input type="submit" value="SUBMIT">
            
            <br><br>
            <span style="color:red">* <?php echo $idUpdateErr;?>                 </span>
 
    </form>

И код PHP:

   $idUpdate="";
   $idUpdateErr="";
   if ($_SERVER['REQUEST_METHOD'] == "PUT"){
    
        echo "debug";
        if(empty($_POST["idCar"])){
            $idUpdateErr="ID Car is required";
        }
        else{
            $idUpdate=test_input($_POST["idCar"]);

            $sql = " UPDATE cars 
                    SET name = '".$nameCar."', year= '".$yearCar."'
                    WHERE id= $idUpdate"  ;

            if (mysqli_query($conn, $sql)) {
                echo "Record updated successfully";
                header("Refresh:0");
            } else {
                echo "Error: " . $sql . "<br>" . mysqli_error($conn);
            }
        }

   }
Пожалуйста, помогите мне !!

1 Ответ

0 голосов
/ 15 ноября 2018

В HTML5 нельзя установить метод PUT в форме.

https://softwareengineering.stackexchange.com/questions/114156/why-are-there-are-no-put-and-delete-methods-on-html-forms

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

<form method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

            ID : <input type="text" name ="idCar1">
            NAME CAR: <input type="text" name="nameCar1" >
            YEAR CAR: <input type="text" name="yearCar1">
            <input type="hidden" name='_METHOD' value="PUT">
            <input type="submit" value="SUBMIT">

            <input type="hidden" name="_method" value="PUT">
            <br><br>
            <span style="color:red">* <?php echo $idUpdateErr;?>                 </span>

    </form>
...