извлекать данные из elementor webhook с помощью php - PullRequest
0 голосов
/ 21 марта 2020

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

<!doctype html>
<html>
<body>


    <?php
        //Data Base connection info:
        $servername = "localhost";
        $username = "username"; 
        $password = "password";
        $dbName="dbName";

        ////////////////////////////Retrieved information from form ////////////////////////////////////////////
        $name=$email=$telephone=$message="";
                              ///////Data Obtained in the form:////////////
        if($_SERVER["REQUEST_METHOD"] == "POST") {
        $name=$_POST["No Label name"];
        $email=$_POST["No Label email"];
        $telephone=$_POST["No Label phone"];
        $message=$_POST["No Label message"];;


        //////////////////////////////////////////// DATA BASE CONNECTION ///////////////////////////////////////


        // Create connection with DB.

        $conn = mysqli_connect($servername, $username, $password, $dbName);
        //////////////////////////// Check connection ///////////////////////////////////
        if (!$conn) {
            die("Connection failed: " . mysqli_connect_error());
        }
        $sql="INSERT INTO TableName (Name, Email, Phone, Menssage ,Contacted) VALUES (?, ?, ?, ?,0)";
        $stmt=$conn->prepare($sql);
        $stmt->bind_param("ssss", $name, $email, $telephone, $message);
        $stmt->execute();
        mysqli_close($conn);
        }

    ?>
</body>
</html>

Пришло «Имя без метки», потому что я не хотел менять внешний вид веб-страницы. Запрос bin https://requestbin.com/ показал мне метки отправляемого массива .

Я также пробовал это решение, но оно не сработало:

<!doctype html>
<html>

<body>


    <?php
        //Data Base connection info:
        $servername = "localhost";// has to be changed to the actual host
        $username = "username"; 
        $password = "password";
        $dbName="dbName";//we need to add the data base name

        ////////////////////////////Retrieved information from form ////////////////////////////////////////////
        $name=$email=$telephone=$message="";
                              ///////Data Obtained in the form:////////////
        $Rawdata = file_get_contents("php://input");
        $data = json_decode($Rawdata, true); 
        $name=$data["No Label name"];
        $email=$data["No Label email"];
        $telephone=$data["No Label phone"];
        $message=$data["No Label message"];

        //////////////////////////////////////////// DATA BASE CONNECTION ///////////////////////////////////////


        // Create connection with DB.

        $conn = mysqli_connect($servername, $username, $password, $dbName);
        //////////////////////////// Check connection ///////////////////////////////////
        if (!$conn) {
            die("Connection failed: " . mysqli_connect_error());
        }
        $sql="INSERT INTO TableName (Name, Email, Phone, Menssage ,Contacted) VALUES (?, ?, ?, ?,0)";
        $stmt=$conn->prepare($sql);
        $stmt->bind_param("ssss", $name, $email, $telephone, $message);
        $stmt->execute();
        mysqli_close($conn);


    ?>
</body>
</html>

Если у вас есть какие-либо вопросы по поводу кода или переменных, пожалуйста, задавайте. Также у меня есть вопрос, отправляет ли elementors webhooks данные в json или как обычный метод POST. С уважением

...