Добрый вечер!Функция выбора ссылок(страниц) меню,работает везде исправно. PHP: <?php function find_selected_page() { global $current_subject; global $current_page; if (isset($_GET["subject_id"])) { $current_subject = find_subject_id($_GET["subject_id"]); $current_page = null; }elseif (isset($_GET["page_id"])) { $current_page = find_page_id($_GET["page_id"]); $current_subject = null; }else { $current_page = null; $current_subject = null; } } //но при попытке обратиться к глобальной переменной $current_subject через проверку, //происходит переадресация,хотя ошибок нет. if(!$current_subject) { redirect_to("manage_content.php"); } //Стоит убрать восклицательный знак,или саму проверку, //и тот эффект что мне нужен в принципе дистигается,но не до конца,я по прежнему именно //на этой странице не могу работать с этой переменной,а в частности сделать это: <h2>Edit Subject:<?php// echo $current_subject["menu_name"]; ?></h2> //что бы при нажатии на любую ссылку,ее название появлялось справа от Edit Subject: //или это: <input type = "text" name = "menu_name" value = "<?php echo $current_subject["menu_name"]; ?>" /> //к примеру на другой странице обращение к функции и переменной проходит отлично: <a href = "edit_subject.php?subjects=<?php echo $current_subject["menu_name"];?>">Редактировать страницу</a> // //Возможно дело в области на странице куда я пытаюсь впихнуть эту функцию?
С документацией то все ясно,я не хотел спрашивать как с глобальными правильно обращаться. Все дело в том что на всех страницах глобальная работает нормально,а вот на одной ее словно клинит.
В общем скорей всего проблема в коде самой страницы,но точно не функции и ее вызове.Буду думать. Спасибо.
Так и не нашел решения,может полный код страницы и скажет что то. Проблема в том что я не могу использовать в двух местах строчку: <?php echo $current_subject["menu_name"]; ?> один раз в <h2>Edic subject второй в инпуте Если же перед ЭХО поставить восклицательный знак то вылезает true ,если без восклицательного,то фолс.А по задумке должна быть надпись из меню. На других страницах вывод <?php echo $current_subject["menu_name"]; ?> работает нормально. Код (Text): <?php include("../includes/session.php"); include("../includes/loyaots/header.php"); require_once("../includes/db_connection.php"); require_once("../includes/function.php"); function find_selected_page() { global $current_subject; global $current_page; if (isset($_GET["subject_id"])) { $current_subject = find_subject_id($_GET["subject_id"]); $current_page = null; }elseif (isset($_GET["page_id"])) { $current_page = find_page_id($_GET["page_id"]); $current_subject = null; }else { $current_page = null; $current_subject = null; } } function find_subject_id($subject_id) { global $connection; $safe_subject_id = mysqli_real_escape_string($connection,$subject_id); $query = "SELECT * "; $query .= "FROM subjects "; $query .= "WHERE id = {$safe_subject_id} "; $query .= "LIMIT 1"; $result = mysqli_query($connection, $query); confirm_query($result); if ($subject = mysqli_fetch_assoc($result)) { return $subject; }else { return null; } } ?> <div id = "main"> <div id = "navigation"> <?php echo navigation($current_subject,$current_page); ?> </div> <div id = "page"> echo message(); ?> <?php $errors = errors(); ?> <p><?php echo form_errors($errors); ?> </p> <h2>Edit Subject:<?php echo $current_subject{"menu_name"};?></h2> <form action = "create_subject.php" method = "post"> <p>Menu name: <input type = "text" name = "menu_name" value = "<?php echo $current_subject["menu_name"]; ?>" /> </p> <p>Position: <select name = "position"> <?php $subject_set = find_all_subjects(); $subject_count = mysqli_num_rows($subject_set); for($count = 1; $count <= ($subject_count + 1); $count ++) { echo "<option value = \"$count\">$count</option>"; } ?> <!--<option value = "{}">1</option>--> </select> </p> <p>Visible: <input type = "radio" name = "visible" value = "0" /> No <input type = "radio" name = "visible" value = "1" /> Yes </p> <input type = "submit" name = "submit" value = "Edit Subject" /> </form> </br> <a href = "manage_content.php">Cancel</a> </div> </div> <?php include("../includes/loyaots/footer.php"); ?>