gpt4 book ai didi

php - 按钮 Onclick 调用 Javascript,Javascript 调用 PHP 文件添加到 Mysql 数据库

转载 作者:可可西里 更新时间:2023-11-01 08:36:54 24 4
gpt4 key购买 nike

我需要有关添加到数据库的帮助。我想从按钮单击方法调用 javascript scrt。Javascript 脚本,我想调用一个 php 文件,其中包含一些添加到 MySQL 数据库的代码。

我确实尝试了 20 多个网站,但没有任何帮助。

如果 AJAX 会更好你能帮帮我吗?

按钮代码:

<input type="button" value="favorites1" onClick="favfunct();"> 

Javascript 代码

function favfunct() {
var target = document.createElement( "script" );
target.setAttribute( "src", "php/addtofavorites.php" );
document.getElementsByTagName( "body" )[0].appendChild( target );`
}

PHP代码

<?php
echo "test successful"
$con = mysql_connect("localhost","root","student");
if ($_POST["get"] == 'runfunction')
echo "Works";
}
if ($_POST["action"] == 'favorites1'){
echo "Testing Was Successful"
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("tvid", $con);
$sql="INSERT INTO Persons (userid, davorites) VALUES
('1','$_POST[video0]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "Your Video was Added To Your Favorites";
mysql_close($con)
}
?>

最佳答案

因此,这种“工作方式”与敲入螺钉的方式相同。它会进入那里,但不是您真正想要做事的方式。

不要使用脚本标签来触发 php 页面。您的页面将触发,但它不是完成工作的错误工具。你想使用 AJAX。 AJAX 是专门为此目的而制作的,而脚本标签则用于在页面上运行脚本。它将尝试获取 addtofavorites.php 的内容,但它期望 JavaScript 作为返回值。而且您将无法使用 $_POST,因为您无法将数据发布到请求。

相反,请使用 AJAX。如果您已经在使用 JavaScript 库,那么它将为您提供一个很好的 AJAX 包装器(我不知道有哪个库没有这样做)。您可以查看给定库的 API 文档,了解有关如何使用 AJAX 功能的文档(jQueryPrototype.jsMootools 等)。

例如,我将使用 jQuery,因为它是最流行的之一。这是对您的页面使用 jQuery 的请求(以及看起来是预期的变量)

// Call an AJAX function to the proper page
$.ajax("php/addtofavorites.php", {
// Pass our data to the server
data: { "get" : "runfunction", "action" : "favorites1" },
// Pass using the appropriate method
method: "POST",
// When the request is completed and successful, run this code.
success: function (response) {
// Successfully added to favorites. JS code goes here for this condition.
}
});

此外,作为旁注,PHP 中的每一行末尾都需要一个分号 ;。你们中的许多人没有。第三行缺少左括号 { 虽然我不确定这是否只是您复制粘贴的产物。

附录

我也推荐使用 jQuery 来监听事件。 events jQuery 的 API 可以让你监听对象上的事件。所以,像这样:

<input id="button_1" type="button" value="favorites1" />

和 jQuery

$(document).ready(function () { // Make sure the elements are loaded on the page
// Listen for a click event on the button
$('#button_1').click(favfunct);
});
// Now define the function
function favfunct(e) {
// Stop the page from "following" the button (ie. submitting the form)
e.preventDefault();
e.stopPropagation();
// Insert AJAX call here...
}

关于php - 按钮 Onclick 调用 Javascript,Javascript 调用 PHP 文件添加到 Mysql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9446640/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com