2012-05-07 133 views
-1

这是我已经问过的question的更新版本。我很确定它的j-查询不会产生干扰。出于某种原因,我在这种情况下的陈述不应该如此触发。长话短说:我能够限制答复,但无法显示错误消息。如果语句不触发

一些if的工作,我一定会指出那不是。

在此先感谢。

这是工作:

if(isset($_POST['sub_comment_reply'])) { 
    if($_POST['reply'] == "") { 
    $valid = false; 
    $error_msgs_reply[] = "Whoops! You forgot to write your reply."; 
    }else{ 

     $query = "SELECT COUNT(*) FROM `CysticAnswers_replies` 
        WHERE `FromUserID` = $auth->id 
        AND `date` = CURDATE()"; 
     $result = mysql_query($query, $connection); 
     $post_count = mysql_result($result, 0); 
     $max_reply_per_day = 5; 




     //Debugging lines 
     echo "Query: {$query}<br>\n"; 
     echo "Post count for user id {$auth->id} is {$post_count}<br>\n"; 

     if($post_count >= $max_reply_per_day){ 
       $valid = false; 
       $error_msgs_replies_max[] = "Whoops! You have reached your limit of answers for the day."; 
     } 
     else 
     { 
     $query = "INSERT INTO `CysticAnswers_replies` 
              (`QuestionCommentID`, 
               `FromUserID`, 
               `comment`, 
               `status`, 
               `date`, 
               `time` 
              ) VALUES (

              '" . mysql_real_escape_string($_POST['comment']) ."', 
              '" . $auth->id ."', 
              '" . mysql_real_escape_string($_POST['reply'])."', 
              'active', 
              '" . date("Y-m-d") . "', 
              '" . date("G:i:s") . "')"; 

      mysql_query($query, $connection); 



} 

这是试图触发错误消息的部分和没有被触发:

<?php if(isset($_POST['sub_comment_reply']) && $post_count >= $max_reply_per_day) { 

    foreach($error_msgs_replies_max as $msg) { ?> 
    <div id="error_x"> 
    <?php echo $msg; ?> 
    </div> 
    <?php } 
?> 

<?php } ?> 
       <a name='reply_form_<?php echo $result['id']; ?>' style="clear:both"></a> 
       <div id='reply_to_<?php echo $result['id']; ?>' class="respond_structure_future" <?php if(isset($_GET['reply_to']) && $_GET['reply_to'] == $result['id']) { echo 'style="display:block;"';}else{ echo 'style="display:none;"';} ?>> 
        <div class="respond_polaroid_future"> 
         <a href="http://www.cysticlife.org/Profile.php?id=<?php echo $auth->id; ?>"> 
          <img src="<?php echo $auth->img('mini'); ?>" /> 
         </a> 
        </div>        
        <form name='comment_reply' action='<?php echo $_SERVER['REQUEST_URI']; ?>' method='post'> 
         <div class="respond_body_future round_10px"> 
          <div class="respond_arrow_future"></div> 
          <div class="respond_tail_future"></div> 
          <div class="respond_data_future"> 
           <textarea id="reply_to_<?php echo $result['id']; ?>_textarea" name='reply'></textarea><br /> 
           <input type='hidden' name='comment' value='<?php echo $result['id']; ?>' /> 
           <div class="respond_nevermind"> 
            <a href="reply_to_<?php echo $result['id']; ?>">nevermind</a> 
           </div> 
           <input type='submit' class="submit" name='sub_comment_reply' value='Reply' /> 
          </div> 
         </div> 
        </form> 
       </div> 

     <?php } ?> 
+0

没有,它是PHP,而不是jQuery。 –

回答

3

你试过:

if (isset($error_msgs_replies_max)) foreach($error_msgs_replies_max as $msg) { 
    // Do stuff 
} else print 'No variable $error_msgs_replies_max'; 

+0

只是在加载页面时显示错误消息。我只希望它在按下提交按钮时显示,其他条件检查出 – LightningWrist

+0

还需要指出的是,当我将isset($ _ POST ['sub_comment_rely'])添加到您的建议中,或在ALL中使用它时彻底杀死任何事情。 – LightningWrist

0

这也是不对您同时使用$error_msgs_replies_max$error_msgs_reply发现错误..请只用一个如$error_msgs_reply

你也可以更换

foreach($error_msgs_replies_max as $msg) { ?> 

foreach ($error_msgs_reply as $msg) 
+0

他确实有一个回复,看起来更接近: