单击按钮时插入数据库

时间:2012-02-02 06:15:20

标签: php database button insert

单击时我有一个按钮会将语句插入数据库,但即使没有单击按钮,插入语句也已运行.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>

4 个答案:

答案 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 
}

此代码说明如果命名了某些输入=设置了提交(单击/发布),则将执行查询。