所以我试图在输入框中输入一些我想动态存储在变量中的东西。然后在记录表旁边有一个超链接,它将采用此变量(.php?S=$inputboxvariable)并转到下一个 php 页面,该页面将使用此变量的值执行 sql 语句。
我不想在此提交、_GET 或 _POST 甚至 SESSION 变量。
请帮忙。我知道编码会有所帮助,但我不知道如何,只需一个基本代码就足够了。
谢谢
您不想使用 get、post 或 session 来传递变量,但您的示例使用了这个:
(.php?S=$inputboxvariable)
这将使用 GET 传递变量。
如果你真的想避免使用这些,
使用数据库来存储数据。
使用文件来存储数据。
也许你可以告诉我你为什么要避免 get、post 或 session 变量,我会更好地理解你想要完成什么?
好吧,我明白你现在的要求了。下面的 javascript 将从您的页面调用处理 SQL 的外部脚本 (ajax/myscripthere.php)。
在 php 脚本中,如果这不是 AJAX 调用,我们只需像往常一样处理我们的 SQL。
如果这符合您的期望,请接受答案:)
javascript:
<script>
var xmlHttpReq = false;
// Set ID Equal to your input box ID
input_box_value = document.getElementById("inputboxvariable").value;
if(window.XMLHttpRequest) {
self.xmlHttpReq = new XMLHttpRequest();
}
else if(window.ActiveXObject) {
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
// Set filename equal to your PHP script
self.xmlHttpReq.open('POST', "ajax/myscripthere.php", true);
self.xmlHttpReq.onreadystatechange = function()
{
if(self.xmlHttpReq.readyState == 4)
{
// Update is complete
}
};
self.xmlHttpReq.send("value="+input_box_value);
</script>
PHP:
<?php
if(isset($_POST['value']))
{
$conn = new mysqli("host", "username", "password", "db_name")
or die ('Error: '.mysqli_connect__error());
// Make Correct SQL Query (i dont know your DB)
$query = "UPDATE table_name SET col=".$_POST['value']." WHERE xxxxxx;";
$result = @$conn->query($query);
$conn->close();
?>