- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов

VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
<?php
function getMFObyID ($id) {
include("getloans.php");
$link = mysqli_connect('localhost', 'root', '', 'cpl');
$query = mysqli_query($link, 'SELECT * FROM cpl_mfo WHERE id = "'.$id.'"');
for ($result = array(); $row = mysqli_fetch_assoc($query); $result[] = $row) {}
if ($result[0]["max_age"] < 200) $age = 'от '.$result[0]["min_age"].' до '.$result[0]["max_age"].' лет';
else $age = 'от '.$result[0]["min_age"].' лет';
if ($result[0]["adresses"] !== '') $adresses = '<h2>Адреса отделений</h2> '.$result[0]["adresses"].'';
else $adresses = '';
if ($result[0]["personal_account"] !== '') $personal_account = '<h2>Личный кабинет</h2> '.$result[0]["personal_account"].'';
else $personal_account = '';
echo '
<h1>'.$result[0]["name"].'</h1>
<div style="height: 250px; float: left; margin-right: 10px; display: flex; display: -webkit-flex;"><img style="width: 350px; margin: auto 0;" src="http://credits-pl.ru/img/mk/'.$result[0]["img"].'" alt="'.$result[0]["name"].'"></div>
<p><strong>Название:</strong> '.$result[0]["name"].'</p>
<p><strong>Сайт:</strong> <a href="'.$result[0]["link_offer"].'" target="_blank" rel="nofollow">'.$result[0]["site"].'</a></p>
<p><strong>Возраст:</strong> '.$age.'</p>
<p><strong>Необходимо:</strong> '.$result[0]["need"].'</p>
<div style="clear: both;">
<h2>О компании</h2>
'.$result[0]["description"].'
<h2>Условия</h2>
'.getLoansbyMFOID ($id).'
<h2>Получение</h2>
'.$result[0]["how_get"].'
<h2>Погашение</h2>
'.$result[0]["how_give"].'
'.$adresses.'
<h2>Акции, скидки</h2>
'.$result[0]["stocks"].'
'.$personal_account.'
<h2>Контакты, реквизиты</h2>
'.$result[0]["contacts"].'
';
}
?>
Она рабочая, но getLoansbyMFOID ($id) почему то выводит результат в начале строки, а не на том месте, где она вызывается. Подключается она через include("getloans.php");
Чудес не бывает. Где-то накосячили.
Чудес не бывает. Где-то накосячили.
Где именно? И как тут вообще можно накасячить?
Да откуда ж мне знать-то? Может быть, в подключаемом файле эта функция вызывается. Или выводимый код не так читаете. Или вообще вывод как-то по-хитрому организован. Мало ли вариантов на свете бывает. Как кто-то сказал, "есть много прибамбасов друг Горацио, что и не снились вашим мудрецам...":)
Проблема все еще актуальна. По прежнему функция выводит содержание вверху страницы, а не где она вставлена. В подключаемом файле include("getloans.php"); данная функция не вызывается, но описывается там.
Ну во первых правильнее было бы подключить include("getloans.php"); за пределами getMFObyID и желательно подключать через require_once "getloans.php"; нужно конечно посмотреть getLoansbyMFOID прежде чем что то говорить. Возможно в этой функции вместо return стоит echo, но утверждать трудно.
for ($result = array(); $row = mysqli_fetch_assoc($query); $result[] = $row) {} - эту строчку можно заменить $result = mysqli_fetch_all($query, MYSQLI_ASSOC); - если я все правильно помню, результат будет тот же.
Ну во первых правильнее было бы подключить include("getloans.php"); за пределами getMFObyID и желательно подключать через require_once "getloans.php"; нужно конечно посмотреть getLoansbyMFOID прежде чем что то говорить. Возможно в этой функции вместо return стоит echo, но утверждать трудно.
for ($result = array(); $row = mysqli_fetch_assoc($query); $result[] = $row) {} - эту строчку можно заменить $result = mysqli_fetch_all($query, MYSQLI_ASSOC); - если я все правильно помню, результат будет тот же.
Ну да echo и что?
echo '
<h1>'.$result[0]["name"].'</h1>
<div style="height: 250px; float: left; margin-right: 10px; display: flex; display: -webkit-flex;"><img style="width: 350px; margin: auto 0;" src="http://credits-pl.ru/img/mk/'.$result[0]["img"].'" alt="'.$result[0]["name"].'"></div>
<p><strong>Название:</strong> '.$result[0]["name"].'</p>
<p><strong>Сайт:</strong> <a href="'.$result[0]["link_offer"].'" target="_blank" rel="nofollow">'.$result[0]["site"].'</a></p>
<p><strong>Возраст:</strong> '.$age.'</p>
<p><strong>Необходимо:</strong> '.$result[0]["need"].'</p>
<div style="clear: both;">
<h2>О компании</h2>
'.$result[0]["description"].'
<h2>Условия</h2>
'.getLoansbyMFOID ($id).'
<h2>Получение</h2>
'.$result[0]["how_get"].'
<h2>Погашение</h2>
'.$result[0]["how_give"].'
'.$adresses.'
<h2>Акции, скидки</h2>
'.$result[0]["stocks"].'
'.$personal_account.'
<h2>Контакты, реквизиты</h2>
'.$result[0]["contacts"].'
';
- вот это echo содержит в себе функцию getLoansbyMFOID, которая тоже вызывает echo, и прежде чем все данные подставятся и все будет отправлено клиенту, срабатывает echo внутри функции и получается, что то что внутри функции отправляется клиенту вперед того, что описано выше. Попробуйте подменить echo на return.
- вот это echo содержит в себе функцию getLoansbyMFOID, которая тоже вызывает echo, и прежде чем все данные подставятся и все будет отправлено клиенту, срабатывает echo внутри функции и получается, что то что внутри функции отправляется клиенту вперед того, что описано выше. Попробуйте подменить echo на return.
Спасибо. Помогло.
Экстрасенс, плюсую. Вообще, здесь забавная вещь происходит. Результат выполнения echo выводится в буфер после окончания выполнения команды, то есть после точки с запятой. А в процессе этого происходит выполнение промежуточного echo, у которого точка с запятой появляется раньше - вот он и выскакивает раньше. То есть "вывод как-то по-хитрому организован":). Ну это так, для понимания.
Вообще, здесь забавная вещь происходит.
так а что ожидать от функции, которая сама подключает файл (название которого захардкожено), подключается к базе (аналогично), делает запрос к базе, не экранируя $id (привет, sql-инъекции!) ещё и сразу делает echo)