0

再生リストに動画を追加できるページがあります。これは、追加ボタンをクリックすることによって行われます。

ただし、問題は、[追加]ボタンをクリックするかどうかに関係なく、このページに移動するたびに、そのビデオが既にそこにある場合でも、そのビデオがプレイリストに追加されることです。

プレイリスト機能を使用するには、アカウントが必要です。ログインすると追加ボタンが表示されます。ログインしていない場合は、追加ボタンは表示されません。

これがデータベースに追加するための私のコードです:

if (isset($_SESSION['username'])){


                echo '<button type="submit" formmethod="post" formaction="video.php" onClick="Confirm(this.form)">ADD</button>';

                $userID = $_SESSION['username'];
                $ID = $watch;
                $artist = $new[0];
                $title = $new[1];
                $youtubeID = $code;
                include 'opendb.php';
                $sql = "insert into youtube_playlist (userid,youtubeID,artist,title) values ((select id from users where username = \"$userID\"),\"$youtubeID\",\"$artist\",\"$title\")";
                $result = mysql_query($sql,$conn) or die(mysql_error());

            }
            //if not logged in.
            else{
                echo "You are not logged in, you cant use the playlist feature.";
            }

そのため、ログインしてビデオを視聴しようとしても、ビデオをプレイリストに追加します。これが決して起こらないようにするにはどうすればよいですか?

4

1 に答える 1

2

あなたはいつでもこのようなことを試すことができます:

<html>
<head>
<title>My Website</title>
</head>
<body>
<?php
    if (isset($_POST['add'])) {
        $userID = $_SESSION['username'];
        $ID = $watch;
        $artist = $new[0];
        $title = $new[1];
        $youtubeID = $code;
        include 'opendb.php';
        $sql = "insert into youtube_playlist (userid,youtubeID,artist,title) values ((select id from users where username = \"$userID\"),\"$youtubeID\",\"$artist\",\"$title\")";
        $result = mysql_query($sql,$conn) or die(mysql_error());
    }

    if (isset($_SESSION['username'])){
        echo "<form action='' method='post'>
            <input name='add' type='submit' value='Add'/>
        </form>";
    } else {
        echo "You are not logged in, you cant use the playlist feature.";
    }
?>
</body>
</html>
于 2012-12-20T09:02:24.580 に答える