sql >> Database teknologi >  >> RDS >> Mysql

Sidder fast på PHP-forespørgsel

Du tjekker, at postværdierne er indstillet til adgangskoden (hvilket de altid vil være, fordi formularelementet altid vil blive indsendt). I stedet for blot at tjekke, om disse værdier er indstillet, skal du sørge for, at de ikke er tomme. brug empty() Også, når du laver sammenligninger, skal du ikke bruge ordet "AND" og bruge operatoren "&&".

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

        }

Jeg kigger på den forkerte del af kode. Ovenstående råd er et godt råd, men dit problem er her:

Hvis adgangskodefelterne er tomme, vil disse aldrig være de samme, så if ($oldpassword==$oldpassworddb) vil altid vurdere falsk.

Prøv

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


  1. Hvordan gemmer man MySQL-forespørgselsoutput til excel- eller .txt-fil?

  2. Top 3 tips, du skal vide for at skrive hurtigere SQL-visninger

  3. Brug af CONTINUE In Loops for at genoptage kontrol i Oracle

  4. MySQL Left Join + Min