Не удается отправить данные через метод POST в PHP - PullRequest
0 голосов
/ 04 октября 2018

GET работает, но POST не работает.Error_log пуст.Когда я запускаю этот код напрямую для записи post_error.

Я добавил этот код и записал эту ошибку в файл журнала.

error_log(print_r($_POST,true));

[Чт, окт 04 12: 17: 35.6109672018] [fcgid: warn] [pid 16802] [клиент 162.158.90.26:54114] mod_fcgid: stderr: Array

[Чт 04 октября 12: 17: 35.611010 2018] [fcgid: warn] [pid 16802][клиент 162.158.90.26:54114] mod_fcgid: stderr: (

[четверг, четверг 12: 17: 35.611014 2018] [fcgid: warn] [pid 16802] [клиент 162.158.90.26:54114] mod_fcgid: stderr:)

<?php
include('mobiItıraf_dbConfig.php');

if($_SERVER['REQUEST_METHOD'] == 'POST'){   
    if(isset($_POST['key']) and isset($_POST['nick']) and isset($_POST['pass']) and isset($_POST['pass_saver'])){
        $key = $_POST['key'];
        $user_nick = $_POST['nick'];
        $user_pass = $_POST['pass'];
        $pass_sever = $_POST['pass_saver'];         
        if($key == "1"){
            $query = $db->prepare("INSERT INTO mobiItiraf_users SET user_nick = ?, user_pass = ?, pass_sever = ?");
            $insert = $query->execute(array($user_nick,$user_pass,$pass_sever));
            if($insert){
                echo "in";
            }else{
                echo "not in";
            }
        }else{
            echo "key error";
        }
    }else{
        echo "isset error";
    }
}else{
    echo "post_error";
}

?>

1 Ответ

0 голосов
/ 04 октября 2018

$_SERVER["REQUEST_METHOD"] может содержать запросы POST для HTTP GET на некоторых серверах PHP Apache2.

Первое решение состоит в том, чтобы использовать === вместо ==, поскольку $_SERVER['REQUEST_METHOD'] может возвращать значение 0 или конфликт с прописными и строчными буквами

if(strtoupper($_SERVER['REQUEST_METHOD']) === 'POST')

или простой способ заключается виспользуйте короткий путь, используя

if ($_POST) 

@ edit: если это не сработает, вы можете сделать var_dump из $ _POST

Надеюсь, это поможет.

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