PHP - 地址后的问号如何工作?

标签 php url

我一直在想像http://example.com/filename.php?dosomething 这样的链接是什么?和 http://somesite.net?logoff做。

由于我对 PHP 了解不多,而且英语不是我的母语,所以我一直无法找到像这样的好资料。

我知道http://mysite.com/edit.php?editpasswordhttp://mysite.com/edit.php?editname可以提供完全不同的内容,但我该如何实现?

假设我想将这些代码行实现到 ?editpassword

Password
<input type="password" name="password">
<input type="submit">

这些行到 ?editname

Type your name
<input type="text" name="name">
<input type="submit">

我怎么能在一个可能包含的文件中做到这一点

<?php 
require "includes/head.php"; 
require "includes/nav.php";
if(!isset($_SESSION['login'])){
    header("Location: index.php");
}
?>



            <div class="row-fluid">
        <div class="span3">
          <div class="well sidebar-nav">
            <ul class="nav nav-list">
            <li class="nav-header">New</li>
              <li><a href="#">sss</a></li>

            </ul>
          </div><!--/.well -->
        </div><!--/span-->
        <div class="span9">
          <div class="row-fluid">
            <div class="span9">
              <h2>Some header</h2>
              <p>Some text</p>
            </div><!--/span-->
          </div><!--/row-->
          <div class="row-fluid">
            ?editname & ?editpassword should appear here.
      </div><!--/row-->

            <?php require "includes/footer.php"; ?>

类似的东西?

最佳答案

如果只有 ?foo $_SERVER['QUERY_STRING'] 中可用的整个查询字符串是"foo" .

使用带有 method="GET" 的 HTML 表单时你得到键值对,然后可以通过 $_GET['key'] 获得.实际上,您在使用 POST 时也会收到这些对,但它们在 URL 中不可见,您可以通过 $_POST['key'] 访问它们.


假设您希望它完全简单并且不使用一些高级路由框架,那么您的代码看起来像这样:

switch($_SERVER['QUERY_STRING']) {
    case 'editname':
        // do stuff
        break;
    case 'editpassword':
        // do stuff
        break;
    default:
        // do stuff if none of the cases matched
}

但我真的建议您使用适当的 GET 变量,而不仅仅是普通的查询字符串。只需将第一行代码替换为:

$action = isset($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : '';
switch($action) {

关于PHP - 地址后的问号如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14424162/

相关文章:

php - SQL:如何在sql中实现特定表的多条数据的插入/更新

php - null 在 PHP 中究竟是如何定义的?

php - 多步搜索在 codeigniter 中不起作用

javascript - 编译在线 html 表单上提交的代码并使用 gcc 处理它的过程

java - 以编程方式向 URL java 添加参数

c# - URL 中存在特殊字符的 Web Api 2 路由问题

php - file_get_contents 不适用于 CentOS 7

html - 通过从表单选择选项中选择的按钮按下打开链接

javascript - javascript 属性值可以通过手动 url 参数确定吗?

python - 将 URL 编码为 google 可读的格式