Невозможно выполнить файл php при включении в другой файл, но выполняется при открытии как отдельный файл - PullRequest
2 голосов
/ 19 апреля 2020

У меня есть два php файла с именем my_profile. php в двух разных папках: backend и frontend.

Root В папке есть 2 папки с именами frontend и backend. Папка внешнего интерфейса содержит 1 файл my_profile. php. И в папке backend есть 2 файла my_profile. php и соединения. php.

Код в backend / my_profile. php равен

    <?php
    require_once './connection.php';
    $credit_score=mysqli_query($conn, "SELECT credits FROM volunteers WHERE username='$user';");
    $credit=mysqli_fetch_assoc($credit_score);
    $credits=$credit['credits'];
    return $credits;

Код в backend / connection . php is

<?php
error_reporting (0);
$conn = new mysqli("localhost","root","","vector");
?>

Код в frontend / my_prohile. php is

<!DOCTYPE html>
<html lang="en">
<head>
    <?php require_once '../backend/my_profile.php'; ?>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My Profile</title>
</head>
<body>

    <!-- View credit score -->
    <p>Your credits: <?php echo($credits)?></p>

</body>
</html>

Когда я запускаю backend / my_profile. php: я получаю вывод как число (т. е. стоимость долларовых кредитов). Но когда я запускаю frontend / my_profile. php: я получаю ошибку Примечание: неопределенная переменная: conn в G: \ ROHAN \ eTh0 \ VectorVolunteers \ backend \ my_profile. php в строке 4 . Почему это так?

(пожалуйста, обратите внимание, что $ user был включен в другой файл как $ _SESSION ['user'], и это прекрасно работает ...)

1 Ответ

1 голос
/ 19 апреля 2020

В строке 4 frontend / my_profile. php вы вызываете '../backend/my_profile.php'.

Тогда для этого my_profile. php потребуется' ./connection. php 'в том же каталоге, что и my_profile. php, ie frontend каталог, который не содержит подключения. php.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...