Не нравятся результаты поиска? Попробуйте другой поиск!

Вывод php-кода в футере?


     24.10.2014    Общие вопросы по PHP    1248

вопрос
Нужно, чтобы в футере сайта выводился PHP, который добавлен внизу в файле engine/engine.php
Но если просто добавить, к примеру, echo "Hello World";, то текст выводится вверху страницы сайта.
Как сделать, чтобы выводился внизу, в футере?

Ответа пока нет


Комментарии пользователей (15)

FastFud
50

1599 | 588

FastFud - 24 октября 2014 14:04 - Юзер

А не лучше открыть index.php найти
$tpl->set ( '{speedbar}', $tpl->result['speedbar'] );
и после поставить
$tpl->set ( '{mytag}', "mytext" );
потом в в шаблоне main.tpl использовать тег {mytag}

Антон_Мельников
10

Антон_Мельников - 24 октября 2014 14:19 - Юзер

FastFud, а если у меня include "file.php";, то как заменить его тегом?

FastFud
50

1599 | 588

FastFud - 24 октября 2014 14:27 - Юзер

Написать такое же в вашем модуле и уже подключить ваш модуль в main.tpl в нужном месте через
{include file="engine/modules/mymod.php"}

Антон_Мельников
10

Антон_Мельников - 24 октября 2014 14:29 - Юзер

А заменить {include file="engine/modules/mymod.php"} на {mymod} можно?

FastFud
50

1599 | 588

FastFud - 24 октября 2014 14:54 - Юзер


Антон_Мельников
10

Антон_Мельников - 24 октября 2014 15:31 - Юзер

Про стандартный способ я знаю, но меня он не устраивает.

Нужно что-то вроде этого (это не работает):

$mytaglink = "include \"engine/modules/mytag.php\"";
$tpl->set( '{mytag}', $mytaglink );

vitnet
218

2172 | 930

vitnet - 24 октября 2014 15:55 - Эксперт

mytag.php
<?php

$my_text = "Text";

?>

index.php
include ENGINE_DIR . "/modules/mytag.php";

$tpl->set( '{mytag}', $my_text ? $my_text : "empty" );

Антон_Мельников
10

Антон_Мельников - 24 октября 2014 16:07 - Юзер

В mytag.php у меня же не текст. Как я несколько десятков сток php в переменную засуну?

vitnet
218

2172 | 930

vitnet - 24 октября 2014 16:13 - Эксперт

Так, давайте без этих гаданий, показывайте пример вашего файла, тогда и будет вам правильный ответ

Антон_Мельников
10

Антон_Мельников - 24 октября 2014 16:28 - Юзер

<?
session_start();
require_once("config.php");
require_once("kcaptcha/util/script.php");

if ($_POST['act']== "y")
{
    if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] ==  $_POST['keystring'])
    {
        
        if (isset($_POST['posName']) && $_POST['posName'] == "")
        {
         $statusError = "$errors_name";
        }
        elseif (isset($_POST['posEmail']) && $_POST['posEmail'] == "")
        {
         $statusError = "$errors_mailfrom";
        }
        elseif(isset($_POST['posEmail']) && !preg_match("/^([a-z,._,0-9])+@([a-z,._,0-9])+(.([a-z])+)+$/", $_POST['posEmail']))
        {
         $statusError = "$errors_incorrect";

         unset($_POST['posEmail']);
        }
        elseif (isset($_POST['posRegard']) && $_POST['posRegard'] == "")
        {
         $statusError = "$errors_subject";
        }
        elseif (isset($_POST['posText']) && $_POST['posText'] == "")
        {
         $statusError = "$errors_message";
        }

elseif (!empty($_POST))
{  
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: $content  charset=$charset\r\n";
$headers .= "Date: ".date("Y-m-d (H:i:s)",time())."\r\n";
$headers .= "From: \"".$_POST['posName']."\" <".$_POST['posEmail'].">\r\n";
$headers .= "X-Mailer: My Send E-mail\r\n";

mail("$mailto","$subject","$message","$headers");

unset($name, $posText, $mailto, $subject, $posRegard, $message);

$statusSuccess = "$send";
}

       }else{
             $statusError = "$captcha_error";
             unset($_SESSION['captcha_keystring']);
        }
}
?>


Ну вот как сделать, чтобы файл с таким содержанием инклудился через {tag}?

FastFud
50

1599 | 588

FastFud - 24 октября 2014 15:50 - Юзер

Что за модуль, я так понял он не текст должен вывести?

Антон_Мельников
10

Антон_Мельников - 24 октября 2014 16:34 - Юзер

<?
session_start();
require_once("config.php");
require_once("kcaptcha/util/script.php");

if ($_POST['act']== "y")
{
    if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] ==  $_POST['keystring'])
    {
        
        if (isset($_POST['posName']) && $_POST['posName'] == "")
        {
         $statusError = "$errors_name";
        }
        elseif (isset($_POST['posEmail']) && $_POST['posEmail'] == "")
        {
         $statusError = "$errors_mailfrom";
        }
        elseif(isset($_POST['posEmail']) && !preg_match("/^([a-z,._,0-9])+@([a-z,._,0-9])+(.([a-z])+)+$/", $_POST['posEmail']))
        {
         $statusError = "$errors_incorrect";

         unset($_POST['posEmail']);
        }
        elseif (isset($_POST['posRegard']) && $_POST['posRegard'] == "")
        {
         $statusError = "$errors_subject";
        }
        elseif (isset($_POST['posText']) && $_POST['posText'] == "")
        {
         $statusError = "$errors_message";
        }

elseif (!empty($_POST))
{  
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: $content  charset=$charset\r\n";
$headers .= "Date: ".date("Y-m-d (H:i:s)",time())."\r\n";
$headers .= "From: \"".$_POST['posName']."\" <".$_POST['posEmail'].">\r\n";
$headers .= "X-Mailer: My Send E-mail\r\n";

mail("$mailto","$subject","$message","$headers");

unset($name, $posText, $mailto, $subject, $posRegard, $message);

$statusSuccess = "$send";
}

       }else{
             $statusError = "$captcha_error";
             unset($_SESSION['captcha_keystring']);
        }
}
?>



Ну вот как сделать, чтобы файл с таким содержанием инклудился через {tag}?

Sander
1126

1637 | 1204

Sander - 25 октября 2014 01:56 - Эксперт

Главный вопрос.
Вам нужно в шаблоне обработка тега {tag}. НО.
Что этот тег будет выводить? Ведь тег нужен как раз для того, чтобы что-то выводить. НО!
Как раз ваш код ничего и не выводит. Ваш код является лишь обработчиком POST формы с отправкой на почту данных из полей. Этот обработчик достаточно просто подключить в index.php или init,php или engine.php

Возможно. Теоретически. Я так догадываюсь, что вам нужно выводить значение одной из переменных из предоставленного кода.
В общем, проще всего вам будет подключать его через {include file="..."} Если же вас это не устраивает по каким-либо необъяснимым либо эстетическим причинам, то боюсь тут вам не помогут.

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

Антон_Мельников
10

Антон_Мельников - 25 октября 2014 20:25 - Юзер

А если выводить такой код, то как его заключить в переменную?

if (!isset($_COOKIE['__utmr_cache']))
{
echo'<div class="1">';
echo $info1;
echo'</div>';
}
else
{
echo'<div class="2">';
echo $info2;
echo'</div>';
}

Sander
1126

1637 | 1204

Sander - 25 октября 2014 20:26 - Эксперт

Читайте мануал по буферизации вывода.

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

 13.09.2014 Антон_Мельников  Общие вопросы по PHP