单击时我有一个按钮会将语句插入数据库,但即使没有单击按钮,插入语句也已经运行。为什么?
<?php
header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"');
include_once 'mysqli.connect.php';
include_once 'fbmain.php';
if($me){
$fbid= $facebook->api('/me');
$fbme = $fbid['id'];
$fbName = $fbid['name'] ;
$fbEmail = $fbid['email'];
}
if (isset($_POST)){
mysqli_query($mysqli, "INSERT INTO members (fbId, name, email) values ('$fbme', '$fbName', '$fbEmail')") or die(mysql_error());
}
?>
<html>
<form action="" method="post">
<input type="image" src="../images/buy.png" name="submit" width="60"height="30" />
</form>
</html>
检查$_POST
是不是像这样的empty()
if (!empty($_POST)){
mysqli_query($mysqli, "INSERT INTO members (fbId, name, email) values ('$fbme', '$fbName', '$fbEmail')") or die(mysql_error());
}
将代码更改为
if (isset($_POST['submit'])){
mysqli_query($mysqli, "INSERT INTO members (fbId, name, email)
values ('$fbme', '$fbName', '$fbEmail')") or die(mysql_error());
}
您需要更具体地了解您检查存在哪个密钥,因为您的Facebook应用程序总是通过POST方法获取,因为这是Facebook注入签名请求的方式。
奇怪我知道,但那是你的Facebook。