Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Terjebak pada permintaan PHP

Anda memeriksa apakah nilai posting disetel untuk kata sandi (yang akan selalu seperti itu, karena elemen formulir itu akan selalu dikirimkan). Alih-alih hanya memeriksa apakah nilai-nilai itu disetel, pastikan itu tidak kosong. use empty() Juga, saat membuat perbandingan jangan gunakan kata "DAN" gunakan operator and "&&".

        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>";}

        }

Saya melihat potongan kode yang salah. Saran di atas adalah saran yang bagus, tetapi masalah Anda ada di sini:

Jika bidang kata sandi kosong maka ini tidak akan pernah sama, jadi if ($oldpassword==$oldpassworddb) akan selalu mengevaluasi false.

Coba

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. MySQL GABUNG dengan LIMIT 1 di tabel yang digabungkan

  2. $this->db->insert_id() tidak berfungsi di mysql codeigniter

  3. Woocommerce menggemakan total penjualan ritel per produk

  4. Menghubungkan ke instans Amazon RDS melalui instans EC2 menggunakan MySQL Workbench

  5. MySQL - Batasan Kunci Asing Bersyarat