PHP - 地址工作后的问号怎么办?

4 php url

我一直在想像http://example.com/filename.php?dosomethinghttp://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">
Run Code Online (Sandbox Code Playgroud)

这些行到?editname

Type your name
<input type="text" name="name">
<input type="submit">
Run Code Online (Sandbox Code Playgroud)

我怎么能在一个可能包含的文件中执行此操作

<?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"; ?>
Run Code Online (Sandbox Code Playgroud)

这样的事情?

Thi*_*ter 6

如果只是?foo整个查询字符串是提供$_SERVER['QUERY_STRING']"foo".

当您使用HTML表单时,method="GET"您将获得键值对,然后通过它们获得$_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
}
Run Code Online (Sandbox Code Playgroud)

但我真的建议你使用正确的GET变量而不是简单的查询字符串.只需用以下内容替换剪切的第一行:

$action = isset($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : '';
switch($action) {
Run Code Online (Sandbox Code Playgroud)