Как декодировать массив в функцию, которая была закодирована в другой функции в php? - PullRequest
0 голосов
/ 04 марта 2020

Я закодировал $ result в одной функции и попытался декодировать и сопоставить с условием в другой функции. Вот код:

function postOperation(){
    include("function/db.php");
        $name = $_POST['name'];
        $mfsname = $_POST['mfsname'];
        $mfsnumber = $_POST['mfsnumber'];
        $amount = $_POST['amount'];
        $pin_no = $_POST['pinno'];

        $insert_info = "insert into table_name(name, mfs_name, mfs_number, amount, pin_no) 
        values('$name', '$mfsname', '$mfsnumber', '$amount', '$pin_no')";

        $success=0;
        $insert_final = mysqli_query($conn,$insert_info);
        if($insert_final){
           $success=1;
           $result["success"]=$success;
        }
        json_encode($result);
}

function getOperation(){
        $array = json_decode($result, true);
        if($array["success"] == 1){
           echo "<script>alert('Transaction successful!')</script>";
        }

}

1 Ответ

0 голосов
/ 04 марта 2020

Есть логическая ошибка

$success=0; $result["success"]=$success; //I have added this line

и добавлено return json_encode($result);

См. Полный код:

function postOperation(){
        include("function/db.php");

        $name = $_POST['name'];
        $mfsname = $_POST['mfsname'];
        $mfsnumber = $_POST['mfsnumber'];
        $amount = $_POST['amount'];
        $pin_no = $_POST['pinno'];

        $stmt = mysqli_prepare("insert into table_name(name, mfs_name, mfs_number, amount, pin_no) values(?, ?, ?, ?, ?)");
        mysqli_stmt_bind_param($stmt, "ssiii", $name, $mfsname, $mfsnumber, $amount, $pin_no);

        $success=0;
        $result["success"]=$success; 
        if(mysqli_stmt_execute($stmt)){
           $success=1;
           $result["success"]=$success;
        }

        return json_encode($result);
}

function getOperation($result){
        $array = json_decode($result, true);
        if($array["success"] == 1){
           echo "<script>alert('Transaction successful!')</script>";
        }

}

Пожалуйста, проверьте вышеуказанную функцию после жесткого кодирования некоторых значений переменных $ _POST. Затем вызовите эти функции, как показано ниже: -

$result = postOperation(); 
getOperation($result);

И еще одна важная вещь: ваше утверждение sql небезопасно. Там будет SQL инъекция Пожалуйста, обратитесь по ссылке: Как избежать SQL инъекция

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