2016-03-27 45 views
0

我想让我的警报值作为php中的变量。这是我的代码获取警报值,并将其作为变量在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

var myval = $(this).val();' –

+0

@Anant我怎样才能把它作为一个变量在PHP中? –

+0

echo'alert(“'。$ variable。'”);'; – Vigikaran

回答

0

你不能直接这样做。

引发警报消息的JavaScript事件侦听器由Web浏览器(客户端)执行,并且PHP在服务器端在Web浏览器(服务器端)加载页面之前执行。

您可以做的是使用AJAX请求将警报消息发送到PHP脚本。

例子:

$('#kat').on('change', function() { 
 

 
    $.ajax({ 
 
    url: "myscript.php", 
 
    type: "post", 
 
    data: { 
 
     message: this.value 
 
    } 
 
    }); 
 

 
    alert(this.value); 
 

 
});
<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" />

现在,您可以捕获从一个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这样的数据库抽象层,以便于输入消毒。

2

在服务器端执行PHP代码后,JavaScript在客户端运行。所以你不能在PHP中使用JavaScript变量。但是,您可以对PHP文件进行Ajax调用,发布JavaScript值。这些值可以通过PHP脚本存储在数据库中。

使用jQuery,你可以很容易发送Ajax请求:

http://api.jquery.com/jquery.ajax/

然后,您可以访问使用PHP $ _POST和$ _GET这些值。

相关问题