2013-03-18 2 views
0

Я работаю над PHP и MYSQL для проекта, и у меня возникла странная проблема, когда я нажимаю кнопку отправки в форме, она будет запускать эти коды. Однако странная проблема заключается в том, что страница возвращается пустой, а не возвращается к странице с формой. Я искал несколько часов за ошибку, но не смог ее найти.PHP и MYSQL Возврат пустой страницы

Просьба указать на мою ошибку. Спасибо вам за помощь.

<?php 
include '../database.php'; 

if(isset($_POST['submit'])) { 

    if (isset($_POST['stuid_0'])){ 

     $student = $_POST['stuid_0']; 


     //query moderator details 
     $query = mysql_query(" SELECT ModeratorID FROM Student WHERE StuID ='$student' ") or die(mysql_error()); 
     $info = mysql_fetch_assoc ($query); 
     $dbmoderator = $info['ModeratorID']; 

      //check for changes of status in supervisor 
      $query2 = mysql_query(" SELECT SupervisorID FROM Student WHERE StuID ='$student' ") or die(mysql_error()); 
      $value = mysql_fetch_assoc ($query2); 
      $dbsupervisor = $value['SupervisorID']; 
      $query3 = mysql_query(" SELECT LectStatus FROM Lecturer WHERE LectID ='$dbsupervisor' ") or die(mysql_error()); 
      $value2 = mysql_fetch_assoc ($query3); 
      $dbsupervisorstatus = $value2['LectStatus']; 

      //if no changes in supervisor 
      if ($dbsupervisorstatus=='2'){ 
       echo ("<SCRIPT LANGUAGE='JavaScript'> 
       window.alert('Moderator can't be promoted') 
       window.location.href='../committee/committee_supervisor2.php' 
       </SCRIPT>"); 

      } 
      else{ 
      //newly assigned a supervisor if previous supervisor status is not active 
      $query4 = "UPDATE Student SET SupervisorID='$dbmoderator', SupervisorStatus='1', ModeratorID=NULL WHERE StuID='$student'"; 
      mysql_query($query4); 

      echo ("<SCRIPT LANGUAGE='JavaScript'> 
       window.alert('Successfully updated') 
       window.location.href='../committee/committee_supervisor2.php' 
       </SCRIPT>"); 
      } 
    } 
    else 
     echo ("<SCRIPT LANGUAGE='JavaScript'> 
     window.alert('You must choose a moderator to be promoted') 
     window.location.href='../committee/committee_supervisor2.php' 
     </SCRIPT>"); 
} 
?> 

UPDATE: Я думаю, что проблема происходит, когда система запуска на данный момент

if ($dbsupervisorstatus=='2'){ 

Как я положил эхо «Test»; перед этой строкой, и она по-прежнему работает.

UPDATE 2:

Я обнаружил, что код может быть запущен, когда я ставлю

if ($dbsupervisorstatus=='2'){ 
       echo "Moderator can't be promoted"; 

      } 

, а также

if($dbsupervisorstatus == 2){ 
    header("location:commitee_supervisor2.php"); 
    } 

Однако я не вижу причин, почему мой оригинал код

if ($dbsupervisorstatus=='2'){ 
       echo ("<SCRIPT LANGUAGE='JavaScript'> 
       window.alert('Moderator can't be promoted') 
       window.location.href='../committee/committee_supervisor2.php' 
       </SCRIPT>"); 

      } 

Не работает .. Немного помочь пожалуйста .. :)

FINAL UPDATE

Ребята, я знаю, почему.

Это потому, что

window.alert('Moderator can't be promoted') 

есть 3 апостроф в нем.

Я просто удаляю слово «не могу» и его работу уже.

Спасибо ребята за помощь :)

+0

У вас есть сообщение об ошибке? ('error_reporting (E_ALL)') – castis

+1

Почему бы вам просто не перенаправить на страницу commitee_supervisor2 вместо того, чтобы делать это через javascript? – coder101

+0

castis, не могли бы вы научить меня, как включить отчет об ошибках? где я должен это поставить? пс. im новичок в php .. tq для ответа. – user2126678

ответ

0

Вместо того, чтобы делать это с помощью JavaScript, попробуйте использовать гораздо лучший подход в чистом PHP. Что-то вроде:

if($dbsupervisorstatus == 2){ 
    header("location:commitee_supervisor2.php"); 
    } 

И если вы должны использовать JS, а затем сделать запрос AJAX, то вы можете манипулировать поведением через JS в любом случае вам нравится.

1

Использование кода кодов JavaScript по-прежнему работает, но отправной точкой для вашей отладки является эхо-запрос обычных текстов во всех местах, где вы эхо JavaScript. Это поможет вам узнать, в какой момент вы начали работать с ошибками. Пример

//if no changes in supervisor 
      if ($dbsupervisorstatus=='2'){ 
       echo ("<SCRIPT LANGUAGE='JavaScript'> 
       window.alert('Moderator can't be promoted') 
       window.location.href='../committee/committee_supervisor2.php' 
       </SCRIPT>"); 

      } 

Заменить

//if no changes in supervisor 
      if ($dbsupervisorstatus=='2'){ 
       echo "Moderator can't be promoted"; 

      } 

ли это вообще эхо точки затем начать заменять один за другим с кодами JavaScript снова, то вы будете определить, где ваш код не удается.

0

Где вы размещаете HTML-форму? Это на той же странице или на другой странице?Из вашего кода, похоже, ничего не сделано, поэтому я предлагаю вам проверить правильность имени кнопки отправки (отправить). HTML должен выглядеть так:

<form name="your_form"> 
    <!-- Your form here --> 

    <input type="submit" name="submit" value="Submit"/> 
</form> 
+0

Привет, я подтвердил, что он работает, поскольку эхо может быть показано, однако, если я использовал исходный код, он больше не работает. Я использовал это в другом модуле и его отлично работает. Как вы думаете? Спасибо за ответ :) – user2126678

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