brussens
Мега-мастер
Дата регистрации:
11.10.2011 22:50:07
Сообщений: 438
Михаил, вот есть такой код
while ($row = mysqli_fetch_array($result)) {
$text .= "<option>" . $row['name'] . "</option>";
}
$reg = file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/templates/registration.tpl"
$reg = str_replace("{strana}", $text, $reg);
echo $reg;
как вы понимаете - это цикл для создания селекта в форме регистрации. Используется он для построения селекта с множеством стран, но это не так важно, как то, что нужно полностью отделить сам код php от html. т.е. как сделать, что бы в
$text .= "<option>" . $row['name'] . "</option>";
убрать html тэги?
p.s.: заодно хотелось бы узнать, на что ругается у меня апач, вот такую ошибку выводит на строку с переменной $text
Notice: Undefined variable: text in /home/brussens/mysite.ru/classes/pagecon/registration.php on line 28
заранее спасибо)))
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
PHP (апач здесь вообще не причём) ругается на неопределённую переменную, которую при этом используют. PHP это, к сожалению, допускает, но это не совсем хорошо, на мой взгляд.
Что касается отделения, то это возможно. Для этого и существуют tpl-файлы. Там храните все HTML-теги и элементы шаблоны, которые в этом цикле будут соединяться. В данном случае, в tpl-файле будет храниться лишь один тег <option value="%value%">%name%</option> - примерно так. В цикле идёт замена и соединение всех строк, в результате получается много <option>.
brussens
Мега-мастер
Дата регистрации:
11.10.2011 22:50:07
Сообщений: 438
Михаил, ну вот если php ругается, ругается именно на точку перед знаком равно, $text .= , может есть способ заменить такую переменную? А то у меня шаблон нарушает сообщение об ошибке
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
На точку перед равно ругаться PHP не может.
brussens
Мега-мастер
Дата регистрации:
11.10.2011 22:50:07
Сообщений: 438
Может и не php, но в браузере ругается что то на точку
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Покажите текст ошибки.
brussens
Мега-мастер
Дата регистрации:
11.10.2011 22:50:07
Сообщений: 438
Вот
Notice: Undefined variable: text in /home/brussens/mysite.ru/classes/pagecon/registration.php on line 28
P.S.: У меня не Denwer, поэтому сервер реагирует на малейшие ошибки, ибо на денвере он не выдавал такой ошибки.
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Вообще, это не ошибка, а замечание, которое можно отключить, если использовать функцию error_reporting(): http://php.su/functions/?error-reporting
А вообще я уже писал Вам об этом замечании. Для решения просто определите переменную до её 1-го использования:$text = "";
brussens
Мега-мастер
Дата регистрации:
11.10.2011 22:50:07
Сообщений: 438
Не знал))) Извиняюсь за невнимательность))) Спасибо большое)))
brussens
Мега-мастер
Дата регистрации:
11.10.2011 22:50:07
Сообщений: 438
Михаил, я сделал подстановку в цикле всех данных, как примерно их соединить?
Через implode что ли?