2012-02-02 3 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, чем в форме submit. – mowwwalker

ответ

0

проверить, если $_POST не empty() как этого

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

проблема по-прежнему возникает каждый раз, когда страница обновляется, поступает в базу данных. – user1175105

+0

напечатайте переменную '$ _POST' внутри оператора' if' и проверьте значения – maxjackie

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 вводит подписанные запросы.

Odd Я знаю, но это Facebook для вас.

Смежные вопросы