请注意,我使用以下cURL代码从另一个页面调用此页面:
$chx = curl_init();
curl_setopt($chx, CURLOPT_URL,"../php/giveactions.php");
curl_setopt($chx, CURLOPT_POST, 1);
curl_setopt($chx, CURLOPT_POSTFIELDS, "user=myname&actions=10&addy=DCGyHh6cy46ZYqwyy5PzMYLujLZVoPJVPE");
curl_setopt($chx, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($chx, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($chx, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($chx, CURLOPT_SSLVERSION,3);
$server_output = curl_exec($chx);
curl_close ($chx);我有一个PHP函数页面,其中包含以下代码:
<?
require('db.php');
$moreactions = 0;
$totalActions = 0;
if (isset($_POST["user"])) {
$user_id = $_POST["user"];
}
if (isset($_POST["actions"])) {
$moreactions = $_POST["actions"];
}
if (isset($_POST["addy"])) {
$addy = $_POST["addy"];
}
$moreactions = round($moreactions / 10);
$query = "SELECT * FROM `systems` WHERE `name` = '$user_id';" or die(mysql_error());
$results = mysql_query($query);
while($row = mysql_fetch_array($results)) {
$actions = $row["actions"];
}
$totalActions = $actions + $moreactions;
mysql_query("UPDATE `systems` SET actions=" . $totalActions . " WHERE `name` = '".$user_id."';") or die(mysql_error());
echo "200ok";
mysql_close();
?>由于某些原因,我可以输出$totalActions精细(计算完美等)。但是只使用Rest客户端的,当我在web服务器上试用它时,除了更新MySQL行之外,它什么都做.
我对这个问题的含糊不清表示歉意,我将根据评论/答案进行修改。
事先谢谢各位朋友和女士们
编辑:变量回显精细,MySQL查询也回显良好,所有变量都正确设置。
编辑2:注意,“200 of”也是回荡罚款在文件的末尾!
发布于 2014-01-14 12:41:10
修正之处在于,cURL CURLOPT_URL需要是非亲属的。
所以http://www.blah.com/whatever.php而不是/whatever.php
谢谢大家的帮助!
发布于 2014-01-14 12:17:48
我想,使用REST客户端,您可以发送post变量用户。
当只是通过浏览器访问时,“$_POST”将不会被设置,因此更新中的WHERE子句不匹配。
https://stackoverflow.com/questions/21113273
复制相似问题