【问题标题】:PHP pass variable through URLPHP 通过 URL 传递变量
【发布时间】:2011-08-23 02:05:17
【问题描述】:

我了解 PHP URL 的工作原理 - 我认为...但我在获取要在下面的示例中传递的变量的 实际 值时遇到问题。

示例

注意:我将以下表单添加到数据单元格中(作为通过 PHP 读取的表格的一部分)。

$currentrowid = 1;

echo '<td>
  <div class="editdelete">
    <form action="phpindex.php?page=edit&thisrow=<?php echo $currentrowid;?>" method="post">
      <input type="submit" value="Edit" >
    </form>
  </div>
</td>';

... 其他一些代码部分,用于读取上述表单输出的 URL:

$val = $_POST['thisrow']; 
echo "the value is: " .$val; //Outputs "$currentrowid"

因此,如您所见,代码返回的是被传递变量的实际名称,而不是被传递变量的值。

这里有什么想法吗?

【问题讨论】:

    标签: php url variables


    【解决方案1】:

    由于您已经在 PHP 块中,因此不应将变量包装在 &lt;?php ... ?&gt; 中。这会给你一个错误。

    要完成这项工作,您可以从 2 个选项中选择 1 个:

    1) 字符串连接:

    echo '... <form action="phpindex.php?page=edit&thisrow='.$currentrowid.'" method="post"> ...';
    

    2) 将字符串用"(双引号)而不是'(单引号)括起来:

    echo "... <form action=\"phpindex.php?page=edit&thisrow=$currentrowid\" method=\"post\"> ...";
    

    请注意,第二种方法会强制您转义字符串中的所有双引号。

    【讨论】:

    • @Even: 因为这是基本的 PHP 代码。我并不是要粗鲁,但如果你不知道这一点,你应该认真阅读 PHP。
    • @Evan:如果您收到“有一个额外的括号”的错误,它一定是在您未发布的代码的一部分中(尽管我确实看到 $currentrowid=10;&lt;form 没有?&gt;)。
    • @Josesph 此错误仅在我添加 PHP 部分时存在。它可能只是网络表达。在这种情况下......也许上面的评论可能不像你预期的那样必要......
    • @Joseph 请查看我的最新更新,我想我遗漏了问题的一个重要部分——现在它为什么不工作可能更有意义。我不是在写 HTML 表单,这个表单是使用 PHP 创建的。
    • @Evan:我完全重写了我的答案以反映您(完全重写)的问题。
    【解决方案2】:

    2 分。

    1. <form action="index.php?thisrow=<?php echo $currentrowid ?>" method="post">
    2. 您应该使用 $_POST 而不是 $_GET 来获取帖子值。

    【讨论】:

    • 他没有从form 获得post 值。他正在获取 URL 值,他正确地通过了$_GET
    • @Joseph 哎呀,你是对的。使用 $_GET 获取查询字符串值。
    【解决方案3】:

    正如上面的回答,

    <form action="index.php?thisrow=<?php echo $currentrowid; ?>" method="post">
    

    是正确的。 这背后的原因是您正在传递 HTML,并且您必须使用 echo from php 来输出到 html。否则,您只会得到您输入的内容,即 $currentrowid。

    【讨论】:

      【解决方案4】:

      不是最简单的,而是解决问题的快速方法。改变你的表单方法获取method="get"&gt;,然后

      $val = $_GET['thisrow']; 
      

      【讨论】:

        猜你喜欢
        • 2016-09-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-27
        • 1970-01-01
        • 2011-11-03
        相关资源
        最近更新 更多