单击时我有一个按钮会将语句插入数据库,但即使没有单击按钮,插入语句也已运行.Why?
<?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>
答案 0 :(得分:0)
检查$_POST
是否不是empty()
这样
if (!empty($_POST)){
mysqli_query($mysqli, "INSERT INTO members (fbId, name, email) values ('$fbme', '$fbName', '$fbEmail')") or die(mysql_error());
}
答案 1 :(得分:0)
将代码更改为
if (isset($_POST['submit'])){
mysqli_query($mysqli, "INSERT INTO members (fbId, name, email)
values ('$fbme', '$fbName', '$fbEmail')") or die(mysql_error());
}
答案 2 :(得分:0)
您需要更具体地了解检查存在哪个密钥,因为您的Facebook应用程序总是通过POST方法获取,因为这是Facebook注入签名请求的方式。
奇怪我知道,但那是你的Facebook。
答案 3 :(得分:0)
您需要定义提交的内容?试试这个:
if(isset($_POST['submit'])){
//Query or something
}
此代码说明如果命名了某些输入=设置了提交(单击/发布),则将执行查询。