gpt4 book ai didi

php - 如何将颜色选择器的值保存到mysql中

转载 作者:行者123 更新时间:2023-11-30 01:00:11 25 4
gpt4 key购买 nike

如何将颜色选择器的值保存到mysql中,我有更改背景的代码,但我想使用php脚本将颜色选择器的值保存到我的sql中..请帮助我..先谢谢了^^

<!DOCTYPE HTML>
<html>
<head>
<title>Control Color</title>
<script type="text/javascript">
window.onload = init;
function init () {
var formulir = document.getElementById("formulir");
formulir.onsubmit = function() {
var color1 = document.getElementById("color1").value;
document.bgColor = color1;
return false; // Batalkan submit
}
}
</script>
<style>
label {
float: left;
width: 120px;
}
p { clear: both; }
</style>
</head>
<body>
<form id="formulir" action="">
<fieldset>
<legend>change background:</legend>
<p>
<label>color:</label>
<input type="color" id="color1" name="color1">
</p>
<input type="submit" id="button" value="Process">
</fieldset>
</form>
</body>
</html>

最佳答案

您正在阻止发送表单,所以我猜您不希望重新加载页面。这意味着您必须使用 AJAX。既然你使用了纯 javascript,我也会使用它,但我建议对基本项目使用框架:)

在你的 JavaScript 脚本中添加类似的内容

function sendPostToPHP( color ){
if (window.XMLHttpRequest) var ajaxPostRequest = new XMLHttpRequest(); // IE7+, Firefox, Chrome, Opera, Safari
else var ajaxPostRequest = new ActiveXObject("Microsoft.XMLHTTP"); // IE6, IE5

ajaxPostRequest.open("POST", "YOURSCRIPT.php", false);

ajaxPostRequest.onreadystatechange = function() {
if(ajaxPostRequest.readyState == 4) {
if (ajaxPostRequest.status == 200) {
//data was revived successfully.
}
}
}

var data = "color=" + color;
//setting header is important - otherwise PHP will not load it into $_POST:
ajaxPostRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajaxPostRequest.send(data);
}

然后在行 var color1 = document.getElementById("color1").value; 之后添加如下内容:

sendPostToPHP(color1);

您的 PHP 可能如下所示:

if( empty($_POST['color']) ) exit("No color recived.");

try {
$db_connection = new PDO('mysql:host=YOURHOSTNAME;dbname=YOURDBNAME', 'YOURDBUSER', 'YOURDBPASSWORD');
$db_connection -> query("SET NAMES 'utf8'"); //optional
} catch (Exception $e) {
// DB CONNECTION ERROR
}
//example query:
$query = $db_connection->prepare( "INSERT INTO colors (color) VALUES (:color)" );
$query->bindValue(':color', $_POST['color'], PDO::PARAM_STR);
$query->execute();

编辑和测试

我已经更正了代码并对其进行了一些测试 - 现在它可以工作了:)

关于php - 如何将颜色选择器的值保存到mysql中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20208804/

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