-2

十分な調査を行いましたが、ログインしても正しいパスワードの場合にリソースページにリダイレクトされません.以前にパスワードでSHA1を試したことがありますが、最初に単純なケースに対処して削除しました. NAME = '$usr' を尋ねると、ユーザー名がユーザー名なので、ユーザー名を入力しても間違ったユーザー名は表示されません。同じこと。

<?php
    $con = mysql_connect("localhost","root","*****");
    session_start();
if(isset($_POST['submit1']))
    {
            if (!$con)
            {
                    die("OOPS!Could not connect to server".mysql_error());
            }
                    $passwd = $_POST['password'];
                    $usr=$_POST['username'];
                    mysql_select_db('USERS',$con) or die(mysql_error());
                    $result = mysql_query("SELECT PASSWD FROM USERS WHERE USERNAME='$usr'",$con) Or die(mysql_error());
                    $pass = mysql_result($result,0);
                    if ($pass==$passwd) {
                            header('Location : resource.html');}
                    else
                            {echo "sorry $usr wrong username or password"; }

    }
else if(isset($_POST['submit2']))
    {
            $usr = $_POST['user'];
            $passwd = $_POST['password1'];
            $name = $_POST['fullname'];
            mysql_select_db('USERS',$con) or die(mysql_error());
            $result = mysql_query("SELECT * FROM USERS WHERE USERNAME='$usr'",$con) Or die(mysql_error());
            $num = mysql_num_rows($result);
            if ($num==0) {
            mysql_query("INSERT INTO USERS(NAME,USERNAME,PASSWD) VALUES('$name','$usr','$passwd')");
            echo "congrats! you have been added.Go back to resources and log in";
            }
            else echo "Someone already has that username. Go back and try with another username";
    }

 mysql_close($con);
?>
4

1 に答える 1

1

エコーの前にセミコロンがありません

mysql_query("INSERT INTO USERS(NAME,USERNAME,PASSWD) VALUES('$name','$usr','$passwd')");//<-- right here
echo "congrats! you have been added.Go back to resources and log in";

また、ユーザー入力をサニタイズしていません。準備済みステートメント(PDOmysqli)を調べてください

于 2012-10-06T18:49:46.183 に答える