【问题标题】:Dynamic Content....why isn't it working?动态内容....为什么它不起作用?
【发布时间】:2013-02-11 06:40:29
【问题描述】:

好的,我想提前道歉,因为我无法阐明问题的根本原因是我正在尝试构建的这个网站。所以如果我在外太空……=/

无论如何,我遇到的第一个问题是,当我尝试修复 php 中“包含”函数的问题时,我收到了这个错误(如下),我完全篡改它的原因是因为我的导航不工作。每当我尝试离开 index.php 页面时,我都会收到 404。

警告:include(/home/content/22/10350022/html/../Setup.php) [function.include]:无法打开流:/home/content/22/10350022 中没有这样的文件或目录/html/index.php 在第 6 行

警告:include() [function.include]:无法打开“/home/content/22/10350022/html/../Setup.php”以包含(include_path='.:/usr/local/php5_3/ lib/php') 在第 6 行的 /home/content/22/10350022/html/index.php 中

下面是 index.php、setup 和 navs 的代码:

Index.php ---下面

       > > <?php
// Setup Document:
//include (1) - forces the site to load the file one time but we're not going to include set up file more than once

define('APP_PATH', dirname(__FILE__) . "/../");
include(APP_PATH . "Setup.php");

if (isset($_GET['page']) && $_GET['page'] ==! ''){
   $pg =$_GET['page'];
} else {
   $pg = 'Home';
}

?>

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>

<link rel="stylesheet" type="text/css" href="Css/styles.css">

<style type="text/css">
body {
    background-color: #039;
}
</style>
</head>

<body>
<div class ="header">
            <?php include('Template/header.php');?>
     </div>   
    <div class ="main_Nav">
          <?php include('Template/main_Nav.php');?>     
    </div>

    <div class ="main_Content">

        <?php include('Content/'.$pg.'.php');?>
        <?php #$Home = "SELECT body FROM Pages WHERE Id=1";
            #$d = '$Home, $conn';
                #if ($d == false) {
                    #echo "FAILURE".mysql_error($conn);
                #}
        ?>
<div class ="main_Footer">
        <?php include('Template/footer.php');?> 
    </div>

</body>

</html>

有些东西是故意注释掉的,所以我可以解决这个问题。

下面的导航 --

<?php
## Main Navigation Document
include('/Config/setup.php');
?>

    <ul>
        <li><a href="Home">Home</a></li>
        <li><a href="Services">Services</a></li>
        <li><a href="FreeStuff">Free Stuff</a></li>
        <li><a href="Blog">Blog</a></li>
        <li><a href="AboutUs">About Us</a></li>
    </ul>    

最后——设置——一些信息明显被涂黑了,一些东西被故意注释掉了

<?php

    ## Setup Document

    //Host - location of database on server etc
    //username
    //pswd
    //database name

    //connection variables
    $host = "";
    $user = "test";
    $pwd = "";
    $db = "test";

    //connection info

    $conn = mysqli_connect ($host, $user, $pwd, $db);
    if ($conn ==false) {
        echo "connection has failed";
    }

    //fetching the title of pages
    #$sql = "SELECT title FROM pages WHERE Id=2";

    //da warnings

    #$r = '$sql,$conn';
    #   echo $r;
    #   echo "sucess!";
    // return

    #if ($r == false) {
    #   echo "FAILURE".mysql_error($conn);
    #}

    ?>

最初我只是使用 include('/Config/setup.php'); 工作。但是,每当我尝试导航到导航栏中的特色内容时……我都会收到 404 错误。现在这应该只改变内容框——页面的其余部分应该保持静态。 &lt;?php include('Content/'.$pg.'.php');?&gt; 这就是我想我在这里做的事情。或者至少我希望它是大声笑。 $pg 是字符串 4(Home),除非 page 另有定义,否则默认为 home。至少那是我认为我在上面写的。

我的文件结构真的很快是这样的:

...FTP 上的根文件夹 -内容 -配置 -图片 -CSS -模板 -统计 -Roodyinfo

现在它一直要求这条路径...这与我的托管服务有关吗?因为它似乎在说我必须定义一个绝对路径???

欢迎并感谢所有帮助。谢谢!

【问题讨论】:

  • 我敢打赌 include('/Config/setup.php'); 从来没有工作过,因为那将是一条绝对路径。尝试使用 PHPs include_path,或者如果所有其他方法都失败,则使用 include("$_SERVER[DOCUMENT_ROOT]/Config/setup.php"); 使所有包含路径相对于网络服务器主目录。
  • 谢谢,但我试过了,还是不行。

标签: php


【解决方案1】:

只要把你需要的所有文件放在同一个目录下,然后使用 require('filename');没有路径。

【讨论】:

    猜你喜欢
    • 2015-10-04
    • 2016-11-06
    • 2015-07-15
    • 2017-11-28
    • 1970-01-01
    • 2013-04-17
    • 2014-05-07
    • 2012-02-04
    • 1970-01-01
    相关资源
    最近更新 更多