2010-12-04 30 views
0

phpとsqlプログラミングの初心者です。私の構文で助けてくれる人がいます。最近、このコードを作成してユーザを編集し、データベースに書き込んでいますが、 oldpasswordとpasswordを使用していて、パスワードが正しく一致していないと言っています。 TNXphpでユーザを更新(編集)する

<?php 

$update = strip_tags($_POST['update']); 

$username = strtolower(strip_tags($_POST['username'])); 

$oldpassword = strip_tags($_POST['oldpassword']); 

$newpassword = strip_tags($_POST['newpassword']); 

$firstname = strip_tags($_POST['first']); 

$lastname = strip_tags($_POST['last']); 

$gender = strip_tags($_POST['gender']); 

$address = strip_tags($_POST['address']); 

$zipcode = strip_tags($_POST['zip']); 

$contact = strip_tags($_POST['con']); 

$email = strip_tags($_POST['mail']); 

error_reporting(0); 



if($update) 
{ 




if($username&& $oldpassword && $newpassword && $firstname && $lastname && $address && $zipcode && $contact && $email) 
{ 

    $connect = mysql_connect("localhost","root","") or die(mysql_error()); 
    mysql_select_db("brightlights") or die(mysql_error()); 

    $updatecheck = mysql_query("SELECT * FROM username FROM tb_user WHERE username='$username'"); 
    $count = mysql_num_rows($updatecheck); 
    if($count<=1) 
    { 

    if($_SESSION['password']==($oldpassword)) 
    { 

    mysql_query("UPDATE tb_user SET 
        username = '$username', 
        password = '$newpassword', 
        Firstname = '$firstname', 
        Lastname = '$lastname', 
        gender = '$gender', 
        address = '$address', 
        zipcode = '$zipcode', 
        contact = '$contact', 
        email = '$email' 
        WHERE username='".$_SESSION['username']."'"); 
        $_SESSION['username'] = $username; 
        $_SESSION['password'] = $newpassword; 
        $_SESSION['Firstname'] = $firstname; 
        $_SESSION['Lastname'] = $lastname; 
        $_SESSION['gender'] = $gender; 
        $_SESSION['address'] = $address; 
        $_SESSION['zipcode'] = $zipcode; 
        $_SESSION['contact'] = $contact; 
        $_SESSION['email'] = $email; 
        session_write_close(); 
        echo "Succesfully Updated!"; 

       }else 
        echo "Password not match!"; 
      }else 
       echo "Username already Taken!"; 
     }else 
      echo "Please fill up all form!"; 
} 
?> 
+3

[SQLインジェクション](http://php.net/manual/en/security.database.sql-injection.php) –

+1

プラス私は基本的なデバッグを必要とすると思います。どの時点でセッションのパスワードが設定されていますか?古いパスワードと新しいパスワードのテスト出力をしましたか?彼らには何が含まれていますか? –

+0

あなたのコードのフォーマットはひどいです。 –

答えて

0
if($_SESSION['password']==($oldpassword)) 

しかし、私は$_SESSION['password']が一致しない暗号化されたパスワードと思い<?php

+0

@RUEL、いつでも私のサイトで試してみる。私のデータベースの古いパスワードフィールドに古いパスワードを書き込んでも、それでもパスワードは一致しません。 – emjhay

+0

$ _SESSION ['password']の代わりに$ passwordを書くのはどうですか? ? – lam3r4370

0

後にsession_start()を参照することはできません。 $_SESSION['password']$oldpasswordをエコーし​​て終了し、それらの値を確認してください。

関連する問題