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。。这实际上是我的第一个答案,我仍然掌握着这个网站的窍门。我将在今后的答复中考虑这一点。谢谢以后不需要考虑,现在就可以编辑!或者以后。或者明天。您应该会看到这些注释上方左侧的编辑链接。