Mysql
 sql >> база данни >  >> RDS >> Mysql

Заседнал в PHP заявка

Проверявате дали стойностите на публикацията са зададени за паролата (която винаги ще бъде, защото този елемент от формуляр винаги ще бъде изпратен). Вместо просто да проверявате дали тези стойности са зададени, уверете се, че не са празни. използвайте empty() Също така, когато правите сравнения, не използвайте думата "И", използвайте и оператора "&&".

        if (!empty($_POST['repeatnewpassword']) && !empty($_POST['newpassword'])) {
            if ($newpassword==$repeatnewpassword)
            {
                $querychange = mysql_query("UPDATE login SET password='$newpassword' WHERE   username='$username'");
                echo "<div class='successmate'><br><br><br><br><hr>Password has been changed!</hr></div><div class='successmate'><br><hr><br><h2><p><a href='index2.php'><br><br></a></p></h2></div>";
            }
            else {echo "<div class='results'>new password(s) dont match</div><div class='successmate'><br><br><h2><p><a href='changepassword.php'>try again?</a></p></h2></div>";}

        }

Гледам грешната част от кода. Горният съвет е добър съвет, но вашият проблем е тук:

Ако полетата за парола са празни, те никога няма да бъдат същите, така че if ($oldpassword==$oldpassworddb) винаги ще оценява false.

Опитайте

if ($oldpassword==$oldpassworddb && !empty($_POST['oldpassword']))


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как работи функцията INSTR() в MySQL

  2. Как да инсталирам MySQL-python на екземпляр на Amazon Web Services EC2?

  3. Изберете записи по време в интервал между 12:00:00 и 18:00:00 всеки ден

  4. MySQL репликация:временно предотвратяване на репликация на специфични SQL изрази към подчинените?

  5. Създаване на MySQL клъстер, използвайки докер контейнери на mysql-server, на множество сървъри