PHP文件的URL无法正常工作

时间:2018-03-21 13:10:15

标签: php html xampp href

我正在尝试学习HTML和PHP,因此尝试使用一些链接构建登录表单。

bebsite打开OK,但是注册的链接似乎无处可去。

我的索引文件如下:

<?php
 include ('../app/header.php');
 ?>
    <section class="main-container">
      <div class="main-wrapper">
        <h2>Home</h2>
      </div>
     </section>
 <?php
   include ('../app/footer.php');
 ?>

我的标题php如下:

<!DOCTYPE html>
<html lang="en" dir="ltr">
 <head>
  <meta charset="utf-8">
  <title>Welcome</title>
   <link rel="stylesheet" type="text/css" href="/css/styles.css">
 </head>
 <body>
<header>
  <nav>
    <div class="main-wrapper">
      <ul>
        <li><a href="/index.php">Home</a></li>
      </ul>
      <div class="nav-login">
        <form>
          <input type="text" name="uid" placeholder="Username\e-mail">
          <input type="password" name="pwd" placeholder="password">
          <button type="submit" name="submit">Login</button>
        </form>
        <a href="../app/signup.php">Sign up</a>
      </div>
    </div>
  </nav>
</header>

问题是注册php的href链接让我无处可去。但是,如果我将文件复制到公共目录并更改链接中的路径,那么工作正常。

此外,点击注册链接后,我的网址显示localhost \ app \ signup.php。

我正在使用 xammp

有人可以告知为什么链接无法按预期工作吗?

由于

更新:

我的目录如下:

C:\ XAMPP \ htdocs中\ basicwebsite \公共\的index.php

并且所有PHP文件都在这里:

C:\ XAMPP \ htdocs中\ basicwebsite \应用

3 个答案:

答案 0 :(得分:0)

据我所知,目前这些是您的文件夹:

// site
   // app
      signup.php
   // public
      index.php

您的http服务器使用public文件夹作为 doc root ,因此访问http://localhost/index.phppublic/index.php相同。

如果您链接到../app/signup.php ,您的浏览器会尝试访问http://localhost/../app/signup.php,因为您无法在 doc root 之外请求文件>它找不到你的文件。

这不是php,apache甚至是xampp所有,但对于所有http服务器都是如此。

要使其正常工作,必须将所有系统的入口点(如索引和注册)公之于众。

将文件移至public/signup.php并更新链接即可。

答案 1 :(得分:0)

您可能想要正确理解如何使用绝对路径和相对路径(this是W3S的快速参考)和 - 如Federico klez Culloca在第一条评论中所写 - 检查您的目录结构以验证路径正确指向您要链接的资源。

此外,请注意您的<form>未向您的signup.php脚本发送任何数据。您必须指定一个操作,并最终指定一个方法,如下所示:

<form action='/app/signup.php' method='post'>
... your input fields here ...
... your submit button ...
</form>

答案 2 :(得分:0)

管理以解决这个问题。

在公共文件夹中创建了一个新的php文件,其中包含一个include语句,如下所示:

<?php include ('../app/signup.php') ?>

我的原始链接调用如下:

<a href="signup_form.php">Sign up</a>`