[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: пхп проблема начинающего
Страницы: 1, 2
Aluer
Приветствую, браты! Народ, такая проблема, не могу решить: Есть фаил 1 и в нём вывод переменной, объявление этой переменной в файле 2, который инклюдится в фаил 1, но по порядку кода получается что вывод переменно раньше чем объявление, как можно заставить эту переменную выводиться? Буду крайне благодарен за помощь. ещё час и головой ап манитор стукнусь
GET
Реструктурить надо я думаю, нарушена где - то логика.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Aluer
да логгика в том, что пхп читает сверху вниз, а переместить инклюд выше не получится
Aluer
если подробнее, то тег title должен заполняться в зависимости от инклюда
GET
Цитата
если подробнее, то тег title должен заполняться в зависимости от инклюда

Цитата
Реструктурить надо я думаю, нарушена где - то логика.


еще раз.

Нужно составить приложение так, чтоб к моменту вычисления HTML в браузер под рукой были все переменные. Почитайте про MVC.

https://www.google.ru/search?q=MVC

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
Aluer
а вот как?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php $title = 'тест'; ?>
<title><?php echo $title; ?></title>
</head>
<body>
<table width="100%" border="0" cellspacing="10" cellpadding="0">
<tr>
<td align="center">Установка</td>
</tr>
<tr>
<td align="center" valign="top">
<?php if ($_GET) {}
else {include 'steps/step0.php';}

?>
<?php if (isset($_GET['step1']))
{
include 'steps/step1.php';
}
?>
<?php if (isset($_GET['step2']))
{
include 'steps/step2.php';
}
?>
<?php if (isset($_GET['step3']))
{
include 'steps/step3.php';
}
?>
</td>
</tr>
<tr>
<td align="center" valign="top">Подвал</td>
</tr>
</table>

</body>
</html>
эт первый фаил
<?php
$title = 'тест';
?>
<table width="100%" border="0" cellspacing="10" cellpadding="0">
<tr>
<td align="center" valign="middle">
<h1>Вас приетствует Установщик!</h1>
</td>
</tr>
<tr>
<td align="center" valign="middle">

</td>
</tr>
<tr>
<td height="500" align="left" valign="top">
</td>
</tr>
<tr>
<td align="center" valign="middle">
<form action="install.php?step1" method="post" target="_self">
<input type="submit" name="step1" value="Продолжить устоновку" />
</form>
</td>
</tr>
</table>
а эт второй
Aluer
на грязь в коде можно не обращать внимания, это тест
Aluer
<?php $title = 'тест'; ?>в первом файле я писал для проверки, её быть не должно
inpost
Начни мыслить как программист. Код делится на 2 вещи, обработка (создание, редактирование и удаление) данных, и вывод данных.
Когда ты пишешь: $title = 'тест'; - это ОБРАБОТКА, она выполняется в этапе №1.
Когда ты пишешь echo $title; - это вывод данных, он выполняется в этапе №2.
Если ты пишешь ?> <html> - ты выводишь на экран ТЕГ html, значит второй этап.
Рисуем:
<?php
////////// Первый этап //////////
...
$title = 'тест';
...


////////// Второй этап //////////
?>
<html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title><?php echo $title; ?></title>


П.С. Условные операторы (if,else), циклы (for,foreach,while) могут выполняться во втором этапе, если они служат для вывода данных. Примеры:
if(isset($var)) echo $var;
foreach($var as $v) echo $v;


_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.