【问题标题】:HTTP Header with Location doesn't ID to the URL带有位置的 HTTP 标头不标识到 URL
【发布时间】:2011-09-13 03:02:14
【问题描述】:

我在使用“标题位置”时遇到问题,下面是代码:

case 'update':
        updateUser($_GET['ticket_id']);
        header('Location: ../ticket/listOfTicket.php?ticket_id='.$_GET['ticket_id'].'');
        exit;
        break;

我正在使用case,因为我想更新到数据库中。我认为这里的问题是:

header('Location: ../ticket/listOfTicket.php?ticket_id='.$_GET['ticket_id'].'');

我不知道在哪里引用 '"。它会像这样在 URL 中输出:

http://localhost/ticket/listOfTicket.php?ticket_id=

它没有显示ticket_id。为什么?

【问题讨论】:

  • 您还必须检查是否存在以及 $_GET 值 if (isset($_GET['ticket_id']) && is_numeric($_GET['ticket_id'])) 是否为数字

标签: php header location


【解决方案1】:

您应该始终清理您的用户输入。我可以轻松地将您不期望的东西传递给 $_GET['ticket_id']。假设 ticket_id 是一个整数,当我访问页面并将 ticket_id 设置为某个值时,这对我有用。

header( 'Location: ../ticket/listOfTicket.php?ticket_id=' . intval( $_GET['ticket_id']));
exit;

【讨论】:

    猜你喜欢
    • 2013-10-27
    • 2014-02-14
    • 1970-01-01
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    • 2022-11-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多