【问题标题】:How to get url value in php?如何在php中获取url值?
【发布时间】:2012-05-14 19:14:32
【问题描述】:

我想在用户登录时进行选项编辑产品。 这是用户在网络上单击编辑时的链接。

 <a href="edit.php?id=<?php $id=$data['gameId'];echo $id;?>" ><input type="button" value="Edit"/></a>

然后在编辑页面中,有提交按钮,我在 doUpdate.php 中填写了一些验证我试图从 doUpdate.php 中的 URL 获取 id 以在数据库中进行更新(id 是主键,我使用我的 sql作为数据库)所以我使用这个代码

  $id= $_GET['id'];

问题是,为什么 $id 不能从 url 中获取 id 值?我应该如何解决这个问题? (它还没有托管,我使用 localhost 因为我还在学习)

【问题讨论】:

    标签: php mysql database


    【解决方案1】:

    您必须在 edit.php 中编辑表单操作,例如 &lt;form name="edit" action="doUpdate.php?id=&lt;?= $_GET['id'] ?&gt;,或者您只需在表单中创建一个输入字段,该字段具有来自您的 GET 参数的值。 .

    【讨论】:

      【解决方案2】:

      如果我的理解正确,问题不是在edit.php 中获取id,而是在doUpdate.php 中获取id。大概您的编辑页面正在将日期发布到 doUpdate 页面,在这种情况下,您需要做两件事。

      首先在编辑页面的表单中,您需要在表单中添加一个隐藏元素,其中包含要传递给 doUpdate.php 的 id

      <input type="hidden" name="id" value="<?php echo $_GET['id']; ?>"/>
      

      然后在 doUpdate.php 中从 $_POST 全局获取它

      $id = $_POST['id'];
      

      【讨论】:

      • 是的,我无法在 doUpdate.php 中获取 id。我添加了隐藏的输入类型作为您的建议,但它仍然无法正常工作。为什么我使用了 $_GET['id'] 并且它位于 URL 中,但我却无法获取 id?
      【解决方案3】:

      PHP 可以使用名为 register_globals 的功能以这种方式自动设置变量,但使用此功能可能会在您的应用程序中打开安全漏洞,这就是它目前被弃用的原因,最终将从 PHP 中删除。

      PHP 手册有详细解释该特性以及为什么不应该使用它:http://php.net/manual/en/security.globals.php

      【讨论】:

        【解决方案4】:

        &lt;a&gt; 标签内的代码不正确。此外,您不能在 &lt;a&gt; 中包含 &lt;button&gt;。试试这个:

        <a href="edit.php?id=<?php echo $data['gameId'];?>">Edit</a>
        

        【讨论】:

        • 我想通过按钮建立一个链接。我的代码不对吗?因为我总是在我的网络中使用它
        • 您可以设置链接样式,使其看起来像一个按钮。但是,是的,在链接中使用 &lt;button&gt; 是无效的。
        • @Ravinder,请参阅this answer。超链接内的按钮无法跨浏览器正常工作。
        • @Ravinder,W3C HTML5 规范禁止在 &lt;a&gt; 标签内使用 &lt;button&gt; 标签。这是paste,你可以试试validating
        • @Ravinder, &lt;input&gt; 元素在&lt;a&gt; 标签内无效(包括输入按钮)。尝试将我之前粘贴中的 &lt;button&gt; 更改为 &lt;input&gt; 并进行验证。
        猜你喜欢
        • 1970-01-01
        • 2013-11-27
        • 2019-04-18
        • 2017-08-18
        • 2021-04-27
        • 2017-09-30
        • 2018-03-01
        • 1970-01-01
        • 2016-01-14
        相关资源
        最近更新 更多