其他部分不起作用。彻底检查,找不到哪种解决方案有助于

时间:2016-07-21 20:32:56

标签: php mysql mysqli

<?php
if(isset($_POST['tt1']) && isset($_POST['tt2']) && isset($_POST['tt3']) && isset($_POST['tt4'])){                    
    $con = mysqli_connect("localhost","root","","weblib");
    if(mysqli_connect_errno()){
        echo "Could not connect.";
    }
    $query = "SELECT * FROM login WHERE MEMBER_NAME = '{$_POST['tt1']}'";
    $queryArray = mysqli_fetch_array(mysqli_query($con,$query));
    if($_POST['tt2']==$_POST['tt3']){                
        if(empty($queryArray['MEMBER_NAME'])){
            mysqli_query($con,"UPDATE login SET MEMBER_NAME = '{$_POST['tt1']}', PASSWORD = '{$_POST['tt2']}' WHERE MEMBER_NAME = '{$_POST['tt4']}'");
            echo "
                <script language='javascript'>
                    window.alert('Profile information successfully updated. Click ok to continue');
                </script>
                 ";
        }
        else{
            echo "
                <script type='javascript'>
                    window.alert('Username already exists. Please choose a different username');
                </script>
                 ";
        }
    }
    else
        echo "
            <script type=javascript>
                window.alert('Passwords do not match');
            </script>
             ";
}

其他部分的密码不匹配&#39;部分未被执行。同样的事情也发生在另一个页面上。没有MySQL错误,因为其他一切都非常完美。并不是说&#34;用户名已存在的其他部分&#34;也很完美。只有外部的其他人没有被执行。

2 个答案:

答案 0 :(得分:-1)

实际上,问题在于脚本标记的类型部分。 它应该是这样的:

<script type='text/javascript' language='javascript'>

但是,您可以使用简单标记,因为所有浏览器现在都支持它。

因此,将else部分更改为:

else {
    echo "
        <script>
           alert('Passwords do not match');
        </script>
    ";
}

根据PSR,我总是建议使用大括号代码。

答案 1 :(得分:-2)

echo "
            <script type=javascript>
                window.alert('Passwords do not match');
            </script>
             ";

请添加引号,输入=&#39; javascript&#39;