Utilisation de fonction booléen

Petit nouveau ! | 2 Messages

05 déc. 2022, 19:52

Hello everybody !

I need your help guys !

Humm, voilà, je voudrais créer une fonction pouvant me permettre de réaliser la partie "sécurité" à l'intérieur et celle-ci devra me renvoyer un booléen.
Puis-je l'utiliser après à l'intérieur d'une condition pour faire des actions suivant si cette dernières est vrai ou faux ?

Mon code à l'intérieur du fichier function.php :
<?php
    function send_data_true(): bool {
        if(empty($login) || empty($password) || 
            empty($confirmpassword)) { 
                $confirmpassword = null;
                $login = null;
                $password = null;
                $erreurTxt = 'Veuillez entrer l\'intégralité des champs <br>';
                echo $erreurTxt;
                return false;
        } elseif($_POST['Password'] != $_POST['Confirmpassword']) {
                $password = null;
                $confirmpassword = null;
                echo "Veuillez taper un mot de passe identique";
                return false;
        }
        else {
            return true;
        }
    }
?>
Voilà dans l'intention ce que j'aimerais faire :
if(isset($_POST['Envoyer'])) && GlobalSend_data_true() == true {
        // Envoie des données à la base de données MYSQL
        $sqlQuery = "INSERT INTO `utilisateurs`(`login`, `password`) VALUES ('$login', '$password')";
        // Confirmation de l'envoi à la base de données
        if (mysqli_query($conn, $sqlQuery)) {
            header('Location: connect.php');
            die;
        } else {
            echo "Erreur : " . $sqlQuery . "<br>" . mysqli_error($conn);
        }
        mysqli_close($conn);
    }
PS : Oui, je sais, on peut faire 1milion de fois mieux et utiliser des fonctions php pour améliorer la sécu. Là n'est pas le sujet de ma question!

En vous remerciant par avance,

Bonne soirée,

Bucks

Mammouth du PHP | 2703 Messages

05 déc. 2022, 20:10

c'est possible.
une telle fonction ne devrait faire qu'une seule chose, retourner true ou false, donc pas d'echo, pas d'affectation de variable.
une fonction est utile quand elle est appelée plusieurs fois, ce qui ne sera pas le cas ici.

Petit nouveau ! | 2 Messages

06 déc. 2022, 11:06

Merci, grâce à toi finalement j'ai simplement stocké un booléen dans une variable!

Bonne journée