使用curl或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);

我希望用于更新数据库的数据电话和电子邮件是从 serverb 中的表单中的帖子发送的电话和电子邮件,我尝试并使用 pandglo@yahoo.com 和固定电话 09077345 设置固定值,但我想要这个值是从 serverA 中的表单实际提交的内容,它会更新数据库,但我希望它是通过curl发布的表单中的值。请提供任何帮助。


天涯尽头无女友
浏览 53回答 1
1回答

一只名叫tom的猫

非常简单地说,您可以使用它来获取发布到服务器的值:$email&nbsp;=&nbsp;$_POST['email']; $phone&nbsp;=&nbsp;$_POST['phone'];请注意,您的代码尚未做好生产准备,因为它容易受到 SQL 注入的攻击,而且它也不会验证传入的数据等。在实际网站上使用它之前,请务必解决此问题。
打开App,查看更多内容
随时随地看视频慕课网APP