1

こんにちは、奇妙なスコープの問題があります

require 'connect.php';

$name = $_GET['R'];
echo $name;
if(isset($_POST['prev_password']) && isset($_POST['new_password']) && isset($_POST['rep_password'])) {
    echo $name;
    if(!empty($_POST['prev_password']) && !empty($_POST['new_password']) && !empty($_POST['rep_password'])) {
        $user_password = $_POST['prev_password'];
        $user_new_password = $_POST['new_password'];
        $user_rep_password = $_POST['rep_password'];

        if($user_new_password == $user_rep_password) {
            $mysql_query = sprintf("SELECT username, password FROM users WHERE username='$name'", $name);
            $query_run = mysql_query($mysql_query, $mysql_link) or die('COULD NOT PERFORM QUERY');

            while($row = mysql_fetch_array($query_run)) {
                $qUser_name = $row['username'];
                $qUser_pass = $row['password'];                
            }

            if($qUser_name == $name) {
                echo 'Match';
                if($qUser_pass == $user_password) {
                    $mysql_query = sprintf("UPDATE users SET password='$user_new_password' WHERE username='$name'", $name);
                    $query_run = mysql_query($mysql_query, $mysql_link) or die('COULD NOT PERFORM QUERY');
                    echo header('Location: main.php?C=1');                    
                }else {
                    header('Location: main.php?C=4');
                }
            }
        }else {
            header('Location: main.php?C=3');
        }
    }else {
        header('Location: main.php?C=2');
    }
}

とにかく、問題は最初の変数 $name にあります。$name を 'echo' すると問題ありません。コンテンツは正しく表示されますが、(sss の場合) ITS EMPTY の内部では、なぜか、global 配列を使用してみました、そしてまだ空です...だから..クエリは空のパラメーターで実行されます。

誰かが何が間違っている可能性があるかを見ることができれば、助けてください。

PD: これは Changepassword.php であり、$_GET['R'] はユーザーの Main.php サイトから取得されます。私はパスワードをハッシュしていないことを知っています。それは実際にはここでの問題ではありません

4

0 に答える 0