Как заставить запрос вставки работать с двумя операторами if (isset?) - PullRequest
0 голосов
/ 24 февраля 2010

В профиле пользователя есть поле для комментариев, которое позволяет другим пользователям оставлять комментарии в своем профиле. Сейчас я работаю над областью динамических комментариев, в которой есть изменяющееся текстовое поле, в зависимости от того, просматриваете ли вы А. свой собственный профиль Б. просматриваете ли вы кого-то еще, профиль С. вообще не входили.

Я пытаюсь внедрить «обновления» сейчас, когда вы находитесь на своей собственной странице, введите текст в поле для комментариев, и оно будет отображаться в указанной области на вашей странице. (будет выводить его на странице сообщества, но пока нет)

На этой странице профиля у меня есть запрос на вставку, который просто вставляет обычные комментарии (первый запрос на вставку), и сейчас пытаюсь добавить второй оператор if (isset со вторым запросом на вставку, и у меня возникают проблемы при выполнении этого.

Не вставляется, и страница загружается пустой после нажатия кнопки отправки. Я новичок с PHP, кстати. Спасибо:

    /* code chunk for the regular comments that is working just fine */

       if(isset($_POST['commentProfileSubmit']) && $auth) {

       $query = "SELECT `Email` FROM `Users` WHERE `id` = '" . $prof->id . "'";
       $request = mysql_query($query,$connection) or die(mysql_error());
       $result = mysql_fetch_array($request); 

       $Email = $result['Email'];


       $to = $Email;
       $subject = "$auth->first_name $auth->last_name left you a comment";
       $message = "$auth->first_name $auth->last_name left you a comment: <br /><br /> <a href='http://www.blah.org/Profile.php?id=" . $prof->id . "'>Click here to view</a><br /><br />";
       $from = "blah <noreply@blah.org>";
       $headers  = 'MIME-Version: 1.0' . "\r\n";
       $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
       $headers .= "From: $from";
       mail($to, $subject, $message, $headers);



        $query = "INSERT INTO `ProfileComments` 
                                ( `FromUserID`,
                                  `ToUserID`,
                                  `commentProfileBody`,
                                  `status`,
                                  `date`,
                                  `time`

                                    ) VALUES (

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

    mysql_query($query,$connection); 

     /* code chunk that is not inserting the desired info into the db and loading the page blank when I hit submit */

      }elseif(isset($_POST['airwaveSubmit']) && $auth) {

      $query2 = "INSERT INTO `Airwaves`
                            ( `id`,
                             `body`,
                             `status`,
                             `date`,
                             `time`

                            ) VALUES (

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

                                            mysql_query($query,$connection);    

            }
         ?> 

    /* dynamic text/areas with dynamic submit buttons which is working how it should but want to include in case there is something on here that is causing the previous troubles */

<div id="commentBoxBlog">
<form name="CommentBox" method="post" action="Profile2.php?id=<?php echo $prof->id; ?>">
    <?php if($auth->id == $prof->id) {
    echo    "<div id='counter'>
    <span id='counter_airway'>140 Character Limit</span>
    </div>";
    echo "<textarea name='airwaveBody' class='round_10px' onkeyup='limit_length(this,140,\"counter_airway\");'></textarea>  <input type='submit' name='airwaveSubmit' value='Exhale' class='post'/>";} elseif(!$auth) {
 echo "<textarea name='ProfileComment' class='round_10px' disabled>Please sign in to comment...</textarea>";  } elseif($auth->id != $prof->id) 
  echo "<textarea name='ProfileComment' class='round_10px'></textarea>
    <input type='submit' name='commentProfileSubmit' value='Exhale' class='post' />";

    ?>
    </form>
</div>

1 Ответ

2 голосов
/ 24 февраля 2010

Вы помещаете SQL в переменную с именем $ query2, но в своем вызове mysql_query () для отправки его в базу данных вы используете переменную с именем $ query.

...