-6

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

我不想在此提交、_GET 或 _POST 甚至 SESSION 变量。

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

谢谢

4

2 回答 2

0

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

(.php?S=$inputboxvariable)

这将使用 GET 传递变量。

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

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

  2. 使用文件来存储数据。

也许你可以告诉我你为什么要避免 get、post 或 session 变量,我会更好地理解你想要完成什么?

于 2012-08-10T20:46:17.480 回答
0

好吧,我明白你现在的要求了。下面的 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();
?>
于 2012-08-10T21:09:33.787 回答