Ajax 从输入框中更新 PHP 变量而不提交


ajax update php variable from input box without submitting

所以我正在尝试在输入框中键入一些东西,我想将其动态存储在变量中。然后记录表旁边有一个超链接,它将采用此变量(.php?S=$inputboxvariable) 并转到下一个 php 页面,该页面将使用此变量的值执行 sql 语句。

我不想提交,_GET或_POST,甚至SESSION变量。

请帮忙。我知道编码会有所帮助,但我不知道怎么做,只需一个基本代码就足够了。

谢谢

好吧,

我现在明白你的要求。下面的javascript将从您的页面调用外部脚本(ajax/myscripthere.php),该脚本将处理SQL。

在 php 脚本中,我们只是像平时一样处理我们的 SQL,如果这不是 AJAX 调用。

如果这符合您的期望,请接受回答:)

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();
?>

您不想使用 get、post 或 session 来传递变量,但您的示例使用了这个:

(.php?S=$inputboxvariable)

这将使用 GET 传递变量。

如果你真的想避免使用这些,

  1. 使用数据库存储数据。

  2. 使用文件存储数据。

也许你可以告诉我为什么你避免获取、发布或会话变量,我会更好地理解你想要完成什么?