有一个问题让我疯了好几个小时:
我有一个php文件,希望通过AJAX加载colorbox模式弹出窗口,但文件内部的php代码不会被执行(正常的HTML标签,如divs只有在我删除所有PHP的东西)。我不知道为什么会这样。
我可以看到,例如常量的名称(如EP_AVATAR_RESTRICTIONS)但不是它们的内容(在这种情况下它只是文本)。
请 - 如果有人能在这种情况下帮助我,我真的很感激。 TIA!
我的彩盒代码:
$(".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 :(得分:2)
你没有得到任何东西是正常的。你的colorbox调用一个以编程方式保护的php文件。
这行代码导致了它:
<?php defined( 'AVARCADE_' ) or die( '' ); // Security ?>
这是一种直接访问保护,因此您无法直接访问此文件。一个使得它只能从其他执行DEFINE的PHP文件中包含它('AVARCADE _','something');
删除该行代码或制作另一个定义AVARCADE_常量的php文件,然后在该文件中包含vatar_form2.php