2012-11-06 2 views
-1

이봐, 나는이 문제 ...FB-링크를 공유 한 후 작동하지 mysql을 삽입

나는 사용자가 난에 자신의 ID를 얻을, 내 페이스 북 앱에서 링크를 공유했습니다 때 싶습니다 내 db.

내가 링크를 공유하는 방법은 내가

공유 수정 한 자바 스크립트 예를 들어 페이스 북의 대화 자바 스크립트 코드를 통해입니다

<script> 
     FB.init({appId: 'xxxx', channelUrl: 'xxxx', status: true, cookie: true}); 

     function postToFeed() { 

     // calling the API ... 
     var obj = { 
      method: 'feed', 
      link: 'https://developers.facebook.com/docs/reference/dialogs/', 
      picture: 'http://fbrell.com/f8.jpg', 
      name: 'Facebook Dialogs', 
      caption: 'Reference Documentation', 
      description: 'Using Dialogs to interact with users.' 
     }; 

     function callback(response) { 
      xmlhttp=new XMLHttpRequest(); 
      xmlhttp.onreadystatechange=function(){ 
       if (xmlhttp.readyState==4 && xmlhttp.status==200){ 
        document.getElementById('msg').innerHTML = "Post ID: " + response['post_id']; 
        document.getElementById('post').style.display = "none"; 
       } 
      } 
      xmlhttp.open("POST","shared.php",true); 
      xmlhttp.send("id=xxx"); 
     } 

     FB.ui(obj, callback); 
     } 

</script> 

PHP의 코드

$con = mysqli_connect("xxxx","xxx","xxx","xxx"); 
    if (!$con) { 
     die('Could not connect: ' . mysql_error()); 
    }; 

     mysqli_query($con, "INSERT INTO xxx (fb-id) VALUES (".$_POST['id'].")"); 

    mysqli_close($con) 

I을 나는 post_id를 얻을 수있는 링크를 공유하고 있지만 DB에는 아무것도 없다.

아무도 말할 수 있습니까?

+0

Facebook 정책에 따라 해당 사용자의 ID를 저장할 수 있는지 확인할 수 있습니다. – Madbreaks

+0

나는 사용자 아이디를 저장하지만 사용자 이름과 패스워드를 허용하지 않는다;) –

답변

4

잘못된 필드 이름 : 두 개의 필드가 아닌 하나의 필드를 차감되는 것 같습니다

INSERT INTO xxx (fb-id) ... 
       ^^^^^ 

. 당신은 아마 하나의 필드 이름으로 그것을보고 강제로 역 따옴표로 탈출하고 싶을 것이다 다음 greature 사진에서

INSERT INTO xxx (`fb-id`) ... 

, 당신은 전공 SQL injection hole을 입을 딱 벌리고있어. 이 코드 작업을 중단하고 누군가가 서버를 파손하기 전에이 문제를 피하는 방법에 대해 배웁니다.

또한 쿼리가 성공했다고 가정하므로 잘못된 행동입니다. connect() 호출에 오류 처리가 있지만 다른 곳에서는 오류 처리가 있습니다. 절대로 쿼리가 성공했다고 가정하지 마십시오. 이후에 항상 오류를 확인하십시오.

+0

나는 sql 코드에서 큰 차이가 있다는 것을 안다. 그러나 데이터베이스에 삽입 할 수있는 코드를 제거하면 문제가 해결되었다. 최소한의 코드;) –

관련 문제