单击按钮时向MySQL添加数据,而不是在加载页面时

时间:2012-12-20 08:32:11

标签: php mysql youtube-api

我有一个页面,您可以在其中添加视频到您的播放列表。这是通过单击添加按钮完成的。

然而问题是我每次都去这个页面而不管添加按钮无关紧要,它会将该视频添加到您的播放列表中,即使它已经存在。

您必须拥有一个帐户才能使用播放列表功能。登录时可以看到添加按钮,如果没有,则不会看到添加按钮。

这是我添加到数据库的代码:

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.";
            }

因此,即使您已登录并尝试观看视频,即使您不想,也会将其添加到播放列表中。 你如何确保这种情况永远不会发生?

1 个答案:

答案 0 :(得分: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>