-1
私のコードに間違っていることを教えてもらえますか?私はエラーを見つけることができません。私の問題は、新しいパスワードがデータベースに保存されていないことです。新しいパスワードでログインすることはできません。パスワードを変更できないPHP
これは私のPHPコードです。
<?php
session_start();
$uid = $_SESSION["uid"];
if($uid)
{
//user is logged in
if(isset($_POST["changepwbtn"]))
{
// check fields
$oldpw = $_POST['old_pw'];
$newpw = $_POST['new_pw'];
$renewpw = $_POST['c_npw'];
//check pw db
$sql = "SELECT pazzword FROM customer_info where user_id = '$uid'";
$run_query = mysqli_query($con,$sql);
$row = mysqli_fetch_array($run_query);
$oldpwdb = $row['pazzword'];
//check pw
if($oldpw==$oldpwdb)
{
//check two new pw
if($newpw==$renewpw)
{
$query_change = mysql_query("UPDATE customer_info SET pazzword = '$newpw' WHERE user_id = '$uid'");
session_destroy();
die("Your password has been changed! <a href='index.php'>Return</a>");
}
else
die("New passwords doesn`t match!");
}
else
die("Old password doesn`t match");
}
echo" ";
}
else
die("You need to log in!");
?>
に接続オブジェクトを渡す必要があります。多くのエラー。主な問題は、あなたのSQLはSQLインジェクションに対して脆弱ですが、2番目の大きな問題は廃止された 'mysql_ *'関数を使用していることです。 – Raptor
まず、 '$ uid'はどのデータも保持していますか?あなたが好きなデータを保持するすべての変数をチェックしてください。次に、最初のクエリは 'mysqli_'を介して実行され、2番目のクエリは' mysql_'を介して実行されます。前述のRaptorのように、mysqli_ *や 'PDO'を使う方が良いでしょう。 –
パスワードを暗号化しましたか? ($ oldpw == $ oldpwdb)] – SarangaR