2014-10-02 129 views
0

下面的PHP代码(最后一页)检查用户是否按下了“回复”按钮,然后执行操作。一切OK,但如果在某个点下方延续了巨大的脚本触发我从PHP JavaScript警告,它返回假的,那绝对没有......我怎样才能使PHP记住并执行此部分返回后不执行PHP代码:false;

if (cmtx_setting('show_reply')) { //if reply field is enabled 
     $cmtx_reply_id = trim($_POST['cmtx_reply_id']); //remove any space at beginning and end 
     cmtx_is_injected($cmtx_reply_id); //check for injection attempt 
     cmtx_validate_reply($cmtx_reply_id, $cmtx_page_id); //validate reply 
     $cmtx_reply_to = cmtx_sanitize($cmtx_reply_id, true, true); //sanitize reply 
    } 

即使在脚本中的某个点我有return false;

的代码全部片段:

/* Reply To */ 
    if (!isset($_POST['cmtx_reply_id'])) { //if reply ID not submitted 
     $_POST['cmtx_reply_id'] = 0; //set it with a zero value 
    } 
    if (cmtx_setting('show_reply')) { //if reply field is enabled 
     $cmtx_reply_id = trim($_POST['cmtx_reply_id']); //remove any space at beginning and end 
     cmtx_is_injected($cmtx_reply_id); //check for injection attempt 
     cmtx_validate_reply($cmtx_reply_id, $cmtx_page_id); //validate reply 
     $cmtx_reply_to = cmtx_sanitize($cmtx_reply_id, true, true); //sanitize reply 
    } else { 
     $cmtx_reply_to = 0; 
} 

回答

0

return false;作为一个杀手锏 - 它exists;脚本运行。例如;

<?php 

echo "Hello"; 
return false; 
echo "World"; 

https://eval.in/201188

输出只是:Hello

通过阅读the docs

[...] 回报也结束的一个eval()语句的执行或脚本文件。如果从全球范围内调用,那么执行当前的脚本文件的结束

+0

抱歉的是,错字(在我的脑海太多CSS),编辑一职。 – Malasorte 2014-10-02 16:17:06

+0

但我输入的代码放在第一个返回false之前;在我的文件中。这是我不明白的...... – Malasorte 2014-10-02 16:27:05

+0

如果你删除'return false;',它的工作原理? – 2014-10-02 16:28:48