include () дает [function.include]: не удалось открыть ошибку при попытке загрузить другую страницу - PullRequest
0 голосов
/ 25 февраля 2012

У меня проблемы с загрузкой php-файла в мой основной php-файл с помощью функции include ().Сначала все работает нормально, но потом выдает ошибку [function: include]: не удалось открыть.

Здесь все и начинается.Существует страница продуктов ("products.php"), на которой при щелчке ссылки на продукт необходимо отправить имя файла для ссылки (в данном случае "details.php") и переменную (например, 1 или 2).или некоторый номер), чтобы в конце весь URL выглядел как «details.php? sent = 2», и этот URL должен включать мою страницу php по умолчанию, если он получил переменную.

<?php
$received="";
$receivedlink =$_GET["sentlink"]; //this gets the file to link to name
$received =$_GET["sent"]; //this gets the other variable
print $received." ".$receivedlink; //this is for testing purposes. this shows "2 details.php". all ok here.

if ($received == "") {
    include("products.php"); //if no variable received show the first page
} else {
    print ($receivedlink."?sent=".$received); //this too is for testing purposes. this shows "details.php?sent=2". all ok here
    include($receivedlink."?sent=".$received); //this is where the error occurs
} 
?>

Часть elseу меня проблемы сПосле того, как я нажму на ссылку, все переменные будут отправлены и получены, и моя php-страница по умолчанию должна показывать страницу с подробностями через функцию include (), это дает мне эту чертову ошибку.Все файлы на месте.Переменная отсутствуетВсе ссылки работают.Тестирование, выполненное с помощью «print» в этом скрипте, показывает, что все в порядке.

Есть ли какая-то другая функция, которую я могу вызвать для загрузки разных страниц при нажатии на ссылки?

1 Ответ

1 голос
/ 25 февраля 2012

include (если вы хотите прочитать страницу руководства) предназначен для вставки некоторого PHP-кода из некоторого файла в вызывающий скрипт. Не для включения каких-либо "страниц".

На вашем диске НЕТ файла с именем details.php?sent=2. Существует файл details.php, и вы должны включить этот.

также ваш код небезопасен. хотя бы очистить имя файла с помощью функции basename().

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