ajax从输入框更新php变量而不提交

时间:2012-08-10 20:40:48

标签: php ajax variables inputbox

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

我不希望提交,_GET或_POST甚至是SESSION变量。

请帮忙。我知道编码会有所帮助,但我不知道如何,只需一个基本代码即可。

由于

2 个答案:

答案 0 :(得分:0)

您不想使用get,post或session传递变量,但您的示例使用此:

(.php?S=$inputboxvariable)

使用GET传递变量。

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

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

  2. 使用文件存储数据。

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

答案 1 :(得分:0)

好吧,我得到了你现在的要求。下面的javascript将从您的页面调用一个将处理SQL的外部脚本(ajax / myscripthere.php)。

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