这是我想要归档的内容以及我使用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发布的表单中的值。请提供任何帮助。
一只名叫tom的猫