我想将我的警报值作为php中的变量。这是我的代码
<html>
<body>
<form action="" method="post">
<select name="kat" id="kat" >
<option></option>
<option>UNANG TAE</option>
<option>PANGALAWANG TAE</option>
</select>
<input type="text" value="" name="baliw">
</form>
<script src="js/jquery.js"></script>
<script>
$('#kat').on('change', function () {
<?php
/*
mysql_connect('localhost','root','');
mysql_select_db('perens');
mysql_query(" INSERT INTO table (sample) VALUES ('".$alert_value."') ");
*/
?>
alert(this.value);
});
</script>
</body>
</html>
我的PHP内部有一条评论,我想将警报值作为变量,但我不知道如何。
答案 0 :(得分:2)
在服务器端执行PHP代码之后,JavaScript在客户端运行。因此,您无法使用PHP中的JavaScript变量。但是,您可以对PHP文件进行Ajax调用,发布JavaScript值。然后,这些值可以通过PHP脚本存储在数据库中。
使用jQuery,您可以轻松发送Ajax请求:
http://api.jquery.com/jquery.ajax/
然后,您可以使用PHP $ _POST和$ _GET。
访问这些值答案 1 :(得分:1)
http://api.jquery.com/jquery.ajax/
看看这个使用ajax将javascript变量发送到php。
答案 2 :(得分:0)
你不能直接这样做。
引发警报消息的javascript事件监听器由Web浏览器(客户端)执行,并且在Web浏览器(服务器端)加载页面之前,在服务器端执行php。
您可以做的是使用AJAX请求将警报消息发送到PHP脚本。
示例:
$('#kat').on('change', function() {
$.ajax({
url: "myscript.php",
type: "post",
data: {
message: this.value
}
});
alert(this.value);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Type whatever you want here:
<input type="text" id="kat" />
&#13;
现在您可以捕获来自php脚本的消息,如下所示:
<?php
// myscript.php
$alert_message = $_POST['message'];
// !!! Importat, sanitize the input in order to avoid a classic
// SQLInjection
// $alert_message = mySanitizationFunction($_POST['message']);
mysql_connect('localhost','root','');
mysql_select_db('perens');
mysql_query(" INSERT INTO table (sample) VALUES ('".$alert_value."') ");
?>
请记住,为避免SQL注入而清理输入很重要,我建议您使用像PDO这样的数据库创建层或可以促进输入清理的ORM。