PHP& MYSQL返回空白页面

时间:2013-03-18 04:08:00

标签: 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>");
}
?>

更新: 我认为系统在此时运行时会出现问题

if ($dbsupervisorstatus=='2'){ 

当我发出回声“测试”;在这一行之前它仍然有效。

更新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>"); 

            }

不工作..一点帮助..:)

最终更新

伙计们,我知道为什么。

这是因为

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

有3个撇号。

我只是删除了“不能”这个词并且它已经工作了。

谢谢你们的帮助:)

3 个答案:

答案 0 :(得分: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代码逐个替换,然后您将发现代码失败的位置。

答案 1 :(得分:0)

不要通过javascript进行,而是尝试在纯PHP中使用更好的方法。类似的东西:

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

如果你必须使用JS,然后发出一个AJAX请求,那么无论如何你都可以通过JS操纵行为。

答案 2 :(得分:0)

您在哪里放置HTML表单?它在同一页面还是不同页面?从您的代码看,似乎没有做任何事情,所以我建议您检查您的提交按钮名称是否正确(提交)。 HTML应该是这样的:

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

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