我如何找出我的php脚本出了什么问题?

时间:2019-03-21 00:27:48

标签: php

我的作业大约要在两周的时间内到期,而且没有任何反应。

我一直在通过沼泽测试它,它将起作用。我需要另一双眼睛,甚至两只,因为对于我的一生,我看不出怎么了。

我没有得到任何错误输出,只是崩溃了。

<?php

    if(isset($_POST['register_user']))
    {
        //capture the variable from the form and store in php variables


        $title=$_POST['title'];
        $fullname=$_POST['fullname'];
        $lastname=$_POST['lastname'];
        $screenname=$_POST['screenname'];
        $email=$_POST['email'];
        $gender=$_POST['gender'];
        $address=$_POST['address'];
        $mypwd=$_POST['mypwd'];

        //connecting to the server

        include'$db_server.php';

        $conn = mysqli_connect($db_host,$db_username,$db_password) or die (mysqli_connect_error());

        //select the database you want to query

        mysqli_select_db($conn, 'national_wonders') or die (mysqli_error($conn));
        $sql = "SELECT * FROM members WHERE screenname='$screenname'";
        $result = mysqli_query($conn, $sql) or die ("ERROR:" .mysqli_error());
        $rowcount = mysqli_num_rows($result);

        if($rowcount >= 1)
        {
            "<\script type\"text/javascript\";
            alert('screenname already exist');
            window.location=\"popup.html\";
            </script>";
        }
        else
        {
            //insert data into table

            $sql = "INSERT INTO members(title, fullname, lastname, screenname, email, gender, mypwd)
            VALUES('$title', '$fullname', '$lastname', '$screenname', '$address', '$email', '$gender',  'md5('$mypwd))";

            if(mysqli_query($conn,$sql))
            {
                "<script type=\"text/javascript\">
                alert(Welcome);
                window.location=\"login.php\";
                </script>";
            }
            else
            {
                echo "Error inseting data into the table";
            }






        }



?>  

2 个答案:

答案 0 :(得分:0)

对我来说,它看起来像是主/包含if语句尚未以结尾结尾的}

  
    

if(isset($ _ POST ['register_user']))         {                / 其余代码在这里 /           }

  

答案 1 :(得分:0)

您应该重新考虑其中的大部分内容。...

这是从ajax形式调用的吗?还是只是常规形式?

不要这样做。...

 "<\script type\"text/javascript\";
 alert('screenname already exist');
 window.location=\"popup.html\";
 </script>";

如果这是常规格式,则应使用php将用户重定向到popup.html

   header('Location: popup.html');

如果它是ajax格式(我怀疑基于您到目前为止的内容),则发送回数据,例如

   json_encode(["message"=>"Some message", "newUrl"=>$myurl]);

并使用ajax函数处理返回的数据。

也不要这样做。...

   $sql = "INSERT INTO members(title, fullname, lastname, screenname, email, gender, mypwd)
        VALUES('$title', '$fullname', '$lastname', '$screenname', '$address', '$email', '$gender',  'md5('$mypwd))";

每个老师都应带头告诉你这个... How can I prevent SQL injection in PHP?

正如评论中提到的那样,美元符号可能不正确...

'$db_server.php';

除非您在文件开头使用美元符号命名。

此外,您可以添加

error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

如果需要帮助调试,请在脚本顶部获取最积极的错误报告。