2013-03-21 4 views
0

есть проблема, которая сводит меня с умом в течение нескольких часов:Colorbox не выполняет PHP-код

У меня есть PHP-файл и хочу загрузить в colorbox модальном-всплывающем окне с помощью AJAX, но PHP-код внутри файла не выполняется (обычные HTML-теги, такие как div, видны только в том случае, если я удаляю все материалы PHP). Я понятия не имею, почему это происходит.

Я могу видеть, например. имена констант (например, EP_AVATAR_RESTRICTIONS), но не их содержимое (в данном случае это всего лишь текст).

Пожалуйста, если кто-то может помочь мне в этой ситуации, я действительно очень этому благодарен. ТИА!

Мой Colorbox код:

$(".edit_avatar_link").colorbox({ 
     initialWidth:'386', 
     initialHeight:'528', 
     innerWidth:'386', 
     innerHeight:'528', 
     href: "<?php echo $setting['site_url'];?>/includes/forms/avatar_form2.php", 
     fixed:true, 
     scrolling:false, 
     transition:'none', 

     onComplete: function(){ 
      $("#cboxLoadedContent").appendTo("#cboxContent"); 

      var title = 'Edit Avatar'; 
      $('#cboxTitle').text(title); 
     } 
    }); 

Мой PHP-файл (avatar_form2.php):

<?php defined('AVARCADE_') or die(''); // Security ?> 
<div id="edit_avatar_content"> 
<div class="edit_profile_header"><?php echo EP_EDIT_AVATAR;?></div> 
<div class="edit_avatar_container"> 
    <div class="edit_profile_lable"><img src="<?php echo $user['avatar'];?>" width="75" height="75"></div> 
    <div class="edit_avatar_element"> 
     <form enctype="multipart/form-data" id="form1" method="post" action="?task=edit_profile&done=avatar"> 
      <input name="new_id" type="hidden" id="new_id" value="<?php echo $new_id;?>" /> 
      <span class="style1"><?php echo EP_AVATAR_UP;?></span> 
      <input name="img_file" type="file" id="img_file" size="50" /> <input type="Submit" name="Submit" value="<?php echo EP_AVATAR_BUTTON;?>"/> 
      <?php echo EP_AVATAR_RESTRICTIONS;?> 
     </form> 
    </div> 
</div> 

+0

какой файл PHP это точно? – ITroubs

+0

Код, который я написал выше (avatar_form2.php). – drpelz

+0

Вы генерируете свой js через php? В противном случае или это собственный внешний JS-файл? – Ares

ответ

2

Это нормально, что вы ничего не получите. Ваш colorbox вызывает программно защищенный php-файл.

Эта строка кода вызывает его:

<?php defined('AVARCADE_') or die(''); // Security ?> 

Это прямая защита доступа, так что вы не можете получить быстрый доступ к этому файлу. Один из них позволяет сделать это только из других php-файлов, которые делают DEFINE («AVARCADE _», «что-то»);

либо удалить эту строку кода или сделать еще один файл PHP, который определяет константу AVARCADE_, а затем включить vatar_form2.php в этом файле

+0

Спасибо. Я проверю его как можно скорее :) :) – drpelz

+0

Я удалил его, но все еще не работает правильно. Я могу видеть в моем браузере все имена моих констант (т. Е. Имя констант, таких как EP_AVATAR_RESTRICTIONS, а не их содержимое). – drpelz

+0

, потому что этот файл не устанавливает константу EP_AVATAR_RESTRICTIONS. он устанавливается где-то в другом месте. мне кажется, что вы используете какой-то MVC Framework, и вы обращаетесь к форме совершенно неправильно. – ITroubs

Смежные вопросы