Post 使用 curl 或 webhooks 从外部服务器到数据库的数据

Post data to database from external server using curl or webhooks

这是我想要存档的内容的摘要以及我使用 curl 走了多远,这似乎通过触发另一个服务器中的文件到 运行 并更新数据库来完美地完成我的任务,但是我现在的问题是,更新的数据库不是从 html 表单所在的 serverA 发送的数据或值。

<!--- html code -->
<form action="" method="post" name="cashaform" id="cashaform">
<div class="dephone">Phone <br><input type="text" name="phone" id="phone" /></div>
<div class="deemail">Email <br><input type="text" name="email" id="email" /></div>
<div class="submit"> <br><input type="submit" name="submitprime" value="Submit" id="submitprime" /></div>

</form>

// 处理表单并将其发送到另一台服务器上的 do.php 的代码,该服务器使用表单

中的详细信息更新数据库
// This is process.php in serverA
if(isset($_POST['submitprime'])){
    
    $sphone = $_POST['phone'];
    $semail = $_POST['email'];

    $form_data = array(
    'phone' => $sphone,
    'email' => $semail
    );

    $str = http_build_query($form_data);

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'http://localhost/serverb/do.php');
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $str);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $output = curl_exec($ch);
    curl_close($ch);
}

现在在 serverB 上,我有一个名为 do.php 的文件,一旦 process.php 通过 curl

命中它,它就会更新数据库
// do.php that is on serverb

$hostname = 'localhost';
$dbusername = 'prime';
$dbpassword = 'prime';
$dbname = 'prime';
 
$conn = mysqli_connect($hostname, $dbusername, $dbpassword, $dbname);

$email = 'pandglo@yahoo.com';  // this values should be replaced with phone sent from form in serverA via curl
$phone = '09077345';           // this values should be replaced with email sent from form in serverA via curl


// update the database
$run = "INSERT INTO prime_securetable (email, phone) VALUES('$email', '$phone')";

if(mysqli_query($conn, $run) ) {
    echo 'Transferred Successfully';
}else{
    echo'transfer failed';
}

mysqli_close($conn);

我希望用于更新数据库的数据 phone 和电子邮件是从 post 从 serverb 中的表单发送的,我试过了并使用 pandglo@ 设置了固定值yahoo.com 和一个固定的 phone 09077345 但我希望这个值是实际从 serverA 中的表单提交的值 它会更新数据库,但我希望它是通过 curl 编辑的 post 形式的值。 请帮忙。

非常简单地说,您可以使用它来获取发布到您的 serverb 的值:

$email = $_POST['email'];
$phone = $_POST['phone'];

请注意,您的代码未准备好生产,因为它容易受到 SQL 注入攻击,它也不验证传入数据等。在您的实时网站上使用它之前,请务必解决此问题。