Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 单击按钮时向MySQL添加数据,而不是加载页面时_Php_Mysql_Youtube Api - Fatal编程技术网

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

Php 单击按钮时向MySQL添加数据,而不是加载页面时,php,mysql,youtube-api,Php,Mysql,Youtube Api,我有一个页面,您可以将视频添加到播放列表中。这是通过点击添加按钮来完成的 然而,问题是每次我进入这个页面时,不管点击“添加”按钮,它都会将该视频添加到播放列表中,即使它已经存在 您必须拥有一个帐户才能使用播放列表功能。“添加”按钮在您登录时可见,如果未登录,则不会看到“添加”按钮 以下是我添加到数据库的代码: if (isset($_SESSION['username'])){ echo '<button type="submit" formmethod

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

然而,问题是每次我进入这个页面时,不管点击“添加”按钮,它都会将该视频添加到播放列表中,即使它已经存在

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

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

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.";
            }
因此,即使您登录并试图观看视频,它也会将其添加到播放列表中,即使您不想这样做。
如何确保这种情况永远不会发生???

您可以尝试以下方法:

<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>

你试过什么?什么不起作用?你做了什么研究来解决这个问题?也许你应该参考一下。您似乎对HTML和PHP之间的交互也有很大的误解。PHP生成HTML。当用户使用任何PHP代码点击浏览器时,您没有做任何事情来粘合浏览器操作…另外:注意!PHP的下一个主要版本是不推荐mysql_uu函数系列。现在是去做手术的好时机。-1,这不是一个好答案。哦,我的意思是,它是有效的,但是你还没有解释你改变了什么,为什么改变了,它是如何起作用的,或者它是如何工作的。谢谢你的反馈Charles。。这实际上是我的第一个答案,我仍然掌握着这个网站的窍门。我将在今后的答复中考虑这一点。谢谢以后不需要考虑,现在就可以编辑!或者以后。或者明天。您应该会看到这些注释上方左侧的编辑链接。