Итак, я заметил в php
что-то, чего я не совсем понимаю
Скажем, у меня есть простая регистрация function
, например:
Class signup extends Connect{
function __construct(){
parent::__construct();
parent::connect();
}
function signup($username,$password){
$res=$this->conn->prepare("INSERT INTO users(username,password)
VALUES(?,?)");
$res->bindparam(1,$username);
$res->bindparam(2,$password);
$res->execute();
}
}
И в другомфайл, я хочу проверить, была ли регистрация успешной, как это:
require("signup.php");
$signup=new signup();
if($signup->signup(...)){
echo "Signed up";
}
else{
echo "Signup failed";
}
И этот оператор вернется с Ошибка Sigup , если я успешно зарегистрировался и получит Зарегистрироваться , если это не удалось.
Я предположил, что это означает, что если регистрация function
прошла успешно, это означает, что регистрация прошла успешно, поэтому сообщение должно быть Зарегистрировано
Но если я использую ! в выражении if
, например:
if(!$signup->signup(...)){
echo "Signed up";
}
else{
echo "Signup failed";
}
В этом случае Зарегистрированный будет отображаться, еслиданные были правильными, и регистрация прошла успешно, как и должно быть.
Не поймите меня неправильно, код работает правильно, ошибок нет, мне просто любопытно, почему он так работает.
Спасибо за любые ответы!
PS: Приведенные выше коды не являются полными кода