обновить (отредактировать) пользователя в php

0

im новичок в php и sql-программировании, и кто-то может помочь мне в моем синтаксисе, в последнее время я создал этот код для редактирования моего пользователя и записи его в базе данных, но он всегда получает ошибку в oldpassword и password, и он всегда говорит, что пароль не соответствовал, даже если я правильно делаю этот процесс, любая помощь на меня? TNX

<?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
  • 1
    Кроме того, я думаю, что это требует базовой отладки: в какой момент установлен пароль в сеансе? Вы сделали тестовые выводы старого и нового пароля? Что они содержат?
Показать ещё 7 комментариев
Теги:

2 ответа

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

Но я не вижу session_start() после <?php

  • 0
    @RUEL, всякий раз, когда я пробую его на своем сайте, он всегда говорит, что пароль не совпадает, даже если я установил или записал старый пароль в моей базе данных в поле старого пароля, и все же я получаю, что пароль не совпадает
  • 0
    Я не очень хорошо понял, но почему бы вам не написать $ пароль вместо $ _SESSION ['пароль']?
0

Я думаю, что $_SESSION['password'] - это зашифрованный пароль, который не соответствует. Пожалуйста, эхо $_SESSION['password'] и $oldpassword и выйдите, и проверьте их значения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню