【问题标题】:ajax update php variable from input box without submitting [closed]ajax从输入框中更新php变量而不提交[关闭]
【发布时间】:2012-08-08 04:27:28
【问题描述】:

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

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

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

谢谢

【问题讨论】:

  • 没有编码就无法做到这一点。
  • 我认为您将 SO 误认为是re​​nt-a-coder。
  • @thatidiotguy 我知道这需要编码这就是我所要求的。
  • @Petra 我买不起编码器,这就是我寻求帮助的原因。谢谢
  • @user1467788 会话可以解决问题

标签: php ajax variables inputbox


【解决方案1】:

好的,我现在明白你的要求了。下面的 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();
?>

【讨论】:

    【解决方案2】:

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

    (.php?S=$inputboxvariable)
    

    这将使用 GET 传递变量。

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

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

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

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

    【讨论】:

    • 但我没有在主页上使用 get,它是使用 get 获取 S 值的辅助页面。我关心的是如何使用 ajax 发布它
    • 所以基本上,主页上的超链接会发布变量并带您到下一页?
    • 好吧,我不太明白你为什么不为此使用 get 或 post。但既然这是你要求的,我会试试的。我假设您因为某种原因不想使用表单/提交按钮而避免发布和获取?
    • 是的,php 页面是从数据库中检索的表,因此没有表格只是一个表,我在最后添加一个字段,该字段将使用放入一个输入框中的变量更新数据库中的该行.我希望我已经解释清楚了。
    • 哦,等等,你想更新数据库中的那个值吗?还是您试图将变量从一个页面传递到另一个页面?
    猜你喜欢
    • 2013-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多