单击按钮时插入数据库

问题描述 投票:1回答:3

单击时我有一个按钮会将语句插入数据库,但即使没有单击按钮,插入语句也已经运行。为什么?

<?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>
php database button insert
3个回答
0
投票

检查$_POST是不是像这样的empty()

if (!empty($_POST)){
        mysqli_query($mysqli, "INSERT INTO members (fbId, name, email) values ('$fbme', '$fbName', '$fbEmail')") or die(mysql_error());
    }

0
投票

将代码更改为

if (isset($_POST['submit'])){
    mysqli_query($mysqli, "INSERT INTO members (fbId, name, email) 
values ('$fbme', '$fbName', '$fbEmail')") or die(mysql_error());
}

0
投票

您需要更具体地了解您检查存在哪个密钥,因为您的Facebook应用程序总是通过POST方法获取,因为这是Facebook注入签名请求的方式。

奇怪我知道,但那是你的Facebook。

© www.soinside.com 2019 - 2024. All rights reserved.