2012-02-02 106 views
1

單擊它時會有一個按鈕將語句插入到數據庫,但即使沒有單擊該按鈕,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> 
+0

這比表單提交更適合於ajax。 – mowwwalker 2012-02-02 06:27:33

回答

0

檢查$_POSTempty()這樣

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

每當頁面刷新進入數據庫時​​,問題仍然會發生。 – user1175105 2012-02-02 06:31:53

+0

在if語句中打印'$ _POST'變量並檢查值 – maxjackie 2012-02-02 06:40:40

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的你。

相關問題