-1

だから私はユーザーがコンテンツを共有できるウェブサイトを持っています。ユーザーの投稿に「いいね」ボタンを追加したいと思います。それを行うための最も賢い/最もクリーンな方法は何でしょうか?

今のところ、投稿IDと投稿者のユーザーIDを含む値を持つ2つの非表示のフォームフィールドを持つ送信ボタンを使用できることを知っています。次に、my$_SESSION['id']を使用してそれをテーブルの新しい行に挿入しLIKESます。さて、それはあまり効果的ではありません。私はそれがすべて機能することを意味しますが、ページとデータベースの両方で即座に更新されるようにしたいと思います。それに対する論理的なプロセスは何ですか?誰かが私が何を学ぶ必要があるかについて正しい方向に私を導くことができますか?JavaScriptですか?アヤックス?

4

1 に答える 1

0

ユーザーとは、アクティブなセッションを持つ登録ユーザーを意味すると思います。

正直なところ、@DarkXphenomenonが提案したように、これを行う最善の方法はajaxであることはわかっていますが、方法がわからないので、アプローチをプレーンphpに入れます。

<?php
    if (is_int($_POST['postnumber'])) {
        mysqli_query($connected,"INSERT INTO likes (userid, postid)
        VALUES ('".mysqli_real_escape_string($connected,$_SESSION['userid'])."',".$_POST['postnumber'].")");
        echo "Liked";
    } else {
?>
<form>
    <input type="hidden" name="postnumber" value="3456">
    <input type="submit" value="Like">
</form>
<?php
    }
?>

注: mysqli_real_escape_string()およびmysqli_query( )に見られるようにリンク$connectedである必要があります。

PS、他に何を達成したいのかわかりません。このコードは、単一の投稿に対してクリックすると、送信ボタンの代わりに「いいね」を表示します (最初に送信するときのみ)。それを使用して、いくつかの投稿にコードを適応させる方法、各投稿のいいねの総数をカウントする方法、どのユーザーがそれを気に入ったかをマウスオーバーしたときに表示したい場合、いいねを削除する機能を追加する方法を考えることができます。あなたが欲しいものならなんでも。それはあなた次第です。

于 2012-09-11T23:48:21.667 に答える