2016-05-23 56 views
0

私は2つのテーブル(blog_membersとblog_posts)を1対多に、1メンバーから多くの投稿に関連づけています。したがって、私は2つを関連付けることができるように、member_IDという名前のblog_postsに1つのフィールドを作成し、このフィールドとblog_membersの関係を設定しなければなりませんでした。 今、データベースに投稿を追加するスクリプトを作成しようとしています。事は、今私は関連するためにblog_メンバーからのものと同じである必要があるblog_postsのフィールドmemberIDを持っています。だから、私はblog_postsに紹介することができるようにblog_membersから現在のログインIDを取得しようとしています。 IDを入力することができますが、それは正しいとは思わない入力で行うことができます。私はこれを背中には見えないようにします。databseからmemberIDにログインしてください

短編小説:長い質問の

$memberID = get current logged in memberID from blog_members; 

    //insert into database 
    $sql="INSERT INTO blog_posts (memberID, postTitle,postDesc,postCont,postDate) VALUES('$memberID',$postTitle','$postDesc','$postCont','$postDate')"; 

    $result=mysqli_query($link,$sql); 

    if($result){ 
     echo '<p>Added successfully!</p>'; 
    }else { 
     echo "Error: ".$sql."<br>".mysqli_error($link); 
    } 

申し訳ありません。私はPHPに新しいです。

ありがとうございます!

答えて

0

通常は、sessionでログインしているユーザーのIDを格納します:

$_SESSION['login_userid'] = // THE USER ID OBTAINED FROM LOGIN 

は、今では$_SESSION['login_userid']としてブラウザに保存され、あなたは自分のコードの先頭にこれを置くことができます。

$memberID = $_SESSION['login_userid']; 

セッションを使用するすべてのページで、HTMLコードの最初の行の前にsession_start()を実行する必要があります。独自のログインシステムを作成する方法がわからない場合は、this tutorialをご覧ください。

注:1人のユーザーが多数の投稿を作成できるため、memberIDはblog_postsテーブル内で一意ではありません。おそらく、プライマリキーblogpostIDも作成してください。

+0

あなたの答えをありがとう。 blog_postsテーブルでは、プライマリキーであるpostIDとauto_incrementも持っています。それはポスト権を明らかにするためにユニークですか? –

+0

ええ、そうですよ! – siggen

+0

私はそれを把握する!どうもありがとう! –

関連する問題