Отключите элемент HTML на основе значения переменной php в PHP

#php #html

Вопрос:

У меня есть страница на php home.php

 <?php

ob_start();
include_once("app_header.php");
$disableCreate = 'true';    

//below code to show the home page template
$htmlrenderObj = Htmlrender::getObj();          
$template_path  = $htmlrenderObj->app_home_template_path."app_home.html";
$template       = $htmlrenderObj->return_file_content($template_path);
ob_end_flush(); 
include_once("app_footer.php");
?>
 

На этой странице php у меня есть переменная php $disableCreate , и я использую предоперационный класс HTMLrender, чтобы предоставить общие методы для замены содержимого в html-шаблоны.
Теперь, основываясь на $disableCreate переменной, мне нужно отключить гиперссылку «Создать».

 <tr>
<td valign="top" colspan="2">
     <div id="menuId">
       <ul>        
       <li><a href="view.php" id="tab-visited"> <span>View</span></a></li>         
        <li><a href="create.php" <?php echo $disableCreate; ?>><span>Create</span></a></li>                                     
        <li><a href="search.php?default=1"> <span>Search</span></a></li>
        <li><a href="update.php"><span>Update</span></a></li>                               
        <li><a href="about.php"><span>About</span></a></li>
        <li><a href="help.php"><span>Help</span></a></li>
       </ul>
    </div>
</td>
</tr>
 

Но я получаю ошибку во время компиляции.

 Multiple annotations found at this line:
- Invalid character used in text string (<?php echo 
 $disableCreate; ?>>).
- Start tag (<a>) not closed.
 

Как я могу отключить тег привязки на основе переменной php.

Комментарии:

1. Из какого фреймворка был взят Htmlrender? Или это то, что вы сами создали?

Ответ №1:

Измените свой html следующим образом

 <tr>
<td valign="top" colspan="2">
     <div id="menuId">
       <ul>        
        <li><a href="view.php" id="tab-visited"> <span>View</span></a></li>         
        <li><a <?php if(!$disableCreate) { echo "href='create.php'" }; ?> ><span>Create</span></a></li>                                     
        <li><a href="search.php?default=1"> <span>Search</span></a></li>
        <li><a href="update.php"><span>Update</span></a></li>                               
        <li><a href="about.php"><span>About</span></a></li>
        <li><a href="help.php"><span>Help</span></a></li>
       </ul>
    </div>
</td>
</tr>
 

А потом измениться

 $disableCreate = 'true';   
 

Для

 $disableCreate = true;   
 

С помощью этой работы вы проверяете $disableCreate значение с этим условием if(!$disableCreate) и решаете, добавлять href его или нет

Комментарии:

1. Привет, Азибом, спасибо за твой ответ. Я изменил свой код, как вы и предлагали. Все еще получаю то же исключение.

Ответ №2:

не могли бы вы попробовать использовать этот код: $GLOBALS[‘disableCreate’] = true;

а затем вместо переменной в представлении используйте $GLOBALS[‘disableCreate’]

Сработает ли это?

Комментарии:

1. Привет, Иван, все еще я получаю ту же ошибку, и в ней говорится, что в этой строке найдено несколько аннотаций: — Начальный тег (<a>) не закрыт. — Начальный тег (<a>) не закрыт.