Файлы не найдены при использовании переменных PHP - PullRequest
0 голосов
/ 27 сентября 2019

Здравствуйте (английский не мой родной язык, так что прости меня за любые ошибки),

Я работаю над проектом для внеклассной школы, цель проекта - разработать и кодировать сайт форума.Я использую HTML, CSS, JavaScript и PHP для этого проекта.Я очень плохо знаком с последними двумя.Я использую JavaScript, чтобы проверить, соответствует ли пароль всем требованиям.Буквы Captial, цифры и т. Д. PHP используется для импорта данных из формы в базе данных MySql и для переменных.

В настоящее время я работаю над главной страницей и страницей регистрации.Я получил процесс регистрации на дыры, работающий с помощью видео на YouTube.Сейчас я пытаюсь сделать несколько «шаблонов div», поэтому, когда у меня есть, например, 10 страниц, и я меняю название веб-сайта, мне не нужно открывать каждый файл, чтобы изменить его.В настоящее время я использую php define для создания переменной (я думаю), и эта переменная размещается на каждой странице.В настоящее время это работает на странице индекса, но когда я захожу на страницу регистрации, каждое изображение и ссылки на другие страницы не работают.Проблема в том, что он ищет изображение или файл внутри папки, где находится страница регистрации.Но изображение находится в папке Root / CSS / Images / Registration, а не в Root / Registration / CSS / Images / Registration.

Короче говоря, есть ли способ найти файл на каждой странице, не используяабсолютный URL?

Я попробовал следующее: Использование ../ перед путем, но это не работает при возврате к файлу индекса.

Использование, например, абсолютного URL.D / OneDrive / Документы / Школа / сайта / хоста / CSS / Images /.Это работает только тогда, когда сайт находится на этом пути.Но когда я перемещаю его на настоящий сервер, это, очевидно, не работает, потому что путь неверен.

Индексный файл:

<?php
require_once('PHP/config.php');
?>

<html>
<head>
    <meta charset="UTF-8">
    <title><?php echo  title; ?></title>
    <link rel="icon" href="CSS/Images/icon.png">
    <link rel="stylesheet" href='CSS/style.css'>
</head>
<body>
    <?php echo  header; ?>
</body>

<footer class="footer"><?php echo  footer; ?></footer>
</html>

Файл конфигурации / переменной:

<?php
define('title','Martijns Forum');
define('footer', '*All the footer code*');
define('header', '
    <div class="banner">
        <img src="CSS/Images/banner.jpg">
        *All the other banner code*
    </div>'
?>

Я ожидал ошибку 404, потому что я не знаю другого способа, как справиться с этой проблемой.

Ответы [ 2 ]

0 голосов
/ 27 сентября 2019

Попробуйте создать еще одну константу.В приведенном ниже случае я буду использовать INCLUDE_PATH в качестве константы.И установите в нем полный URL-адрес по умолчанию для папки, в которой находятся документы страницы, и в этом случае я буду использовать в качестве примера https://mydomain/

    <?php
    define('INCLUDE_PATH','https://mydomain/');
    define('title','Martijns Forum');
    define('footer', '*All the footer code*');
    define('header', '
     <div class="banner">
        <img src="CSS/Images/banner.jpg">
        *All the other banner code*
     </div>');
    ?>

Теперь используйте функцию echo и вызовите константу include_path длявсе запросы страницы, в данном случае в начале CSS.Это будет выглядеть примерно так:


<?php
require_once('PHP/config.php');
?>

<html>
<head>
    <meta charset="UTF-8">
    <title><?php echo  title; ?></title>
    <link rel="icon" href="<?php INCLUDE_PATH; ?>CSS/Images/icon.png">
    <link rel="stylesheet" href="<?php INCLUDE_PATH; ?>CSS/style.css">
</head>
<body>
    <?php echo  header; ?>
</body>

<footer class="footer"><?php echo  footer; ?></footer>
</html>
0 голосов
/ 27 сентября 2019

Если вы используете абсолютные URL-адреса, вам нужно изменить URL-адрес при развертывании страницы на сервере.Абсолютный URL-адрес должен использоваться следующим образом:

<?php echo SERVER_URL.'/CSS/Images/icon.png'; ?>

Вы должны изменить URL-адрес СЕРВЕРА на IP-адрес вашего сервера или имя домена.

<?php
   define('SERVER_URL', 'http://8.8.8.8');
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...