PHP и модальное окно Bootstrap

WOLF_2010

Постоялец
Заблокирован
Регистрация
8 Окт 2011
Сообщения
86
Реакции
113
  • Автор темы
  • Заблокирован
  • #1
PHP код

PHP:
if (isset($_SESSION['uid'])) {
    require "includes/smarty/Smarty.class.php";
    $smarty = new Smarty();
    $smarty->template_dir = "templates/" . $whmcs->get_sys_tpl_name() . "/";
    $smarty->compile_dir = $templates_compiledir;
    $smarty->assign("template", $whmcs->get_sys_tpl_name());
    $smarty->assign("LANG", $_LANG);
    $smarty->assign("logo", $CONFIG['LogoURL']);
    $smarty->assign("companyname", $CONFIG['CompanyName']);
    $id = $whmcs->get_req_var("id");
    $result = select_query("tblemails", "", array("id" => $id, "userid" => $_SESSION['uid']));
    $data = mysql_fetch_array($result);
    $date = $data['date'];
    $subject = $data['subject'];
    $message = $data['message'];
    $date = fromMySQLDate($date, "time");
    $smarty->assign("date", $date);
    $smarty->assign("subject", $subject);
    $smarty->assign("message", $message);
    $template_output = $smarty->fetch("mail.tpl");
    echo $template_output;
    return 1;
}

есть кнопка модального окна
PHP:
<a data-toggle="modal" data-target="#myModal"
onclick="('mail.php?id={$email.id}')">

сама форма модального окна

PHP:
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="false">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="false">&times;</span></button>
        <h4 class="modal-title" id="myModalLabel">{$subject}</h4>
      </div>
      <div class="modal-body">{$message}</div>
      <div class="modal-footer">
        <button type="button" class="btn btn-primary" data-dismiss="modal">Закрыть</button>
      </div>
    </div>
  </div>
</div>

ребят окно модальное открывается, ну оно пустое, переменные {$subject} и {$message} не выводятся из бд, решил проверить в индекс строке ввел site.ru/mail.php?id=82, сайт вывел информацию из {$subject} и {$message} (код рабочий)
А в модальном окне пусто, что ещё нужно дописать чтоб в модальное окно вывелось сообщения {$subject} и {$message}?
 
  • Автор темы
  • Заблокирован
  • #2
неужели никто не знает?
 
  • Автор темы
  • Заблокирован
  • #3
просто информацию в модальное окно никто не может вывести, если она в переменных PHP?
 
var_dump($email.id) из скрипта
 
У тебя проблема в том что smarty парсер срабатывает до того, как ты отправляешь запрос в БД через GET, поэтому переменные пустые. Тебе нужно получать данные $subject и $message по AJAX, и вставлять их уже в модальное окно, после чего запускать модальное окно.
 
Либо ифрейм использовать.
Код:
<div class="modal-body">
<iframe src="URL к PHP" width="100%" height="350" scrolling="auto" frameborder="0"></iframe>
</div>
 
  • Автор темы
  • Заблокирован
  • #7
решил вывести в шаблонизатор tpl, ещё такие строчки, чтоб проверить выведит ли название сайте и ссылку сайта

PHP:
        <p><strong>Тема:</strong> {$companyname} {$logoURL} - {$subject}</p>

ну почему то когда я открываю стандартным окном popupWindow, то у меня все выводится, а в модальное окно не выводится
тсссссссссс.png
 
Последнее редактирование:
  • Автор темы
  • Заблокирован
  • #8
PHP:
var_dump($email.id)
- проверил так,
вот так вывело, как видно на скриншоте в окно popupWindow, не вывелось $subject и $message

аааффывфв.png
 
  • Автор темы
  • Заблокирован
  • #9
Последнее редактирование:
  • Автор темы
  • Заблокирован
  • #10
сделал так, вот кнопка сама

PHP:
<a data-toggle="modal" data-target="#myModal"
onclick="send('id={$email.id}')">

вот AJAX

PHP:
function send(dataToSend)
{
       $.ajax({
                type: "GET",
                url: "mail.php?"+dataToSend,
                data: $("#myModal").serialize(),
                success: function(response) {
                        alert (response);  //просто так, для отладки
                        $("#subject").html(response[0]);
                        $("#message").html(response[1]);
                        $("#myModalLabel").show();
                }
        });
}

ну в alert выдает лог

PHP:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Моя почта - Relevate</title>
</head>

<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="false">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="false">&times;</span></button>
<h4 class="modal-title" id="myModalLabel">
<p><strong>Пользователь:</strong></p>
<p><strong>Тема:</strong> Relevate http://whmcs.su - Your login details for Relevate</p>
<p><strong>от кого:</strong></p>
<p><strong>Кому:</strong></p>
</h4>
</div>
<div class="modal-body"><style>
body,td { font-family: verdana; font-size: 11px; font-weight: normal; }
a { color: #0000ff; }
</style>
<p><a href="http://www.yourdomain.com" target="_blank"><img src="" alt="Relevate" border="0" /></a></p>
<p>Dear admin admin (моя компания),</p><p>Recently a request was submitted to reset your password for our client area. If you did not request this, please ignore this email. It will expire and become useless in 2 hours time.</p><p>To reset your password, please visit the url below:<br /><a href="http://whmcs.su/pwreset.php?key=c039da38b1e1f959fe415f22df615681">http://whmcs.su/pwreset.php?key=c039da38b1e1f959fe415f22df615681</a></p><p>When you visit the link above, your password will be reset, and the new password will be emailed to you.</p><p>Signature goes here...</p></div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal">Закрыть</button>
</div>
</div>
</div>
</div>

</html>

а в модальное окно ничего не выводит, в чем может быть проблема?
 
Назад
Сверху