2016-04-08 11 views
-4

Ich möchte sha1 durch password_hash ersetzen, und ich muss die password_verify ausführen wie: wenn ungültig = Funktionen ausführen, sonst Login. jedoch in password_verify Handbuch ich dies nur finden:password_verify if {invalid} else {

<?php 
if (password_verify($password, $hash)) { 
    // valid 
} 
else { 
    // invalid 
} 

Wie kann ich so etwas wie dieses:

<?php 
if (password_verify($password, $hash)) { 
    // invalid = run set of functions 
} 
else { 
    // login 
} 

Ich hoffe, dass ich Sinn mache.

+2

ok und die PHP-Version ist was? Und was ist die Länge der Passwortspalte? Wenn es weniger als 60 ist, ist das ein Problem. –

+0

Keep R'ing TMs http://php.net/manual/en/function.password-verify.php und http://php.net/manual/en/function.password-hash.php –

+1

So wollen Sie die 'if' zu sein, wenn 'password_verify()' '' invalid' zurückgibt? Wie 'if (! Password_verify ($ password, $ hash))'? – Sean

Antwort

1

Logical Operators: NOT

if (!password_verify($password, $hash)) { 
    // invalid = run set of functions 
} 
else { 
    // login 
} 

wirklich grundlegende Dinge (!).

+1

Das passiert, wenn du die Grundschule überspringst :)) TX man! –

1

ändern

<?php 
if (password_verify($password, $hash)) { 
    // invalid = run set of functions 
} 
else { 
    // login 
} 

zu

<?php 
if (!password_verify($password, $hash)) { 
    // invalid = run set of functions 
} 
else { 
    // login 
} 

Die! Betreiber bedeutet NICHT. So wird es gelesen, wenn nicht wahr dann ungültig, sonst gültig