8768 sujets

Développement web côté serveur, CMS

Bonjour tout le monde, j’ai un formulaire que j’envoie à une deuxième page, mais avant de le faire j’aimerai checker si l’utilisateur est connecté ou pas, s’il est connecté c’est bon, la redirection se fait, sinon je l’envoie à la page d’authentification, et c’est là ou ca bloque :'( X/ ca me redirige vers la page (test.php) même si l utilisateur n est pas authentifié de l’aide svp svp svp!!

$adresse_courriel = $_SESSION["adresse_courriel"];
$result = sqlUtilisateur($conn,$adresse_courriel);
var_dump($result);
if(isset($_POST['tri'])){
    if(isset($_SESSION['adresse_courriel']) && $result['adresse_courriel']!='') {
            header("LOCATION:test.php");
        exit;
    } else {
            header("LOCATION:authentification.php");
    }
            
}

formulaire:

        <form action="test.php" method="POST" id="tri">
        <?php if (count($liste) > 0) : ?>
        <table>
            <tr>
                <th>Produit</th>
                <th>Description</th>
                <th>Prix</th>
                 <th>Marque</th>
                 <th>categorie</th>
                 <th>Commander</th>
            </tr>
            <?php foreach ($liste as $row) : ?> 
            <tr>
                <td><?php echo $row['nom_produit'] ?></td>
                <td><?php echo $row['description_produit'] ?></td>
                <td><?php echo $row['prix_produit'] ?></td>
                <td><?php echo $row['nom_marque'] ?></td>
                <td><?php echo $row['nom_categorie_produit'] ?></td>
            <td> <input type="checkbox" name="checkbox[]"value="<?= $row['id_produit'] ?>"/></td> 
            </tr>
            <?php endforeach; ?>
        </table> 
        <?php else : ?>
        <p>Aucun produit trouvé trouvé.</p>
        <?php endif; ?>
       <input type="submit" name="tri" value="Commander">
        </form>

requete sql:

function sqlUtilisateur($conn, $adresse_courriel) {
$req = "SELECT * FROM utilisateurs WHERE adresse_courriel=?";   
 $stmt = mysqli_prepare($conn, $req);
    mysqli_stmt_bind_param($stmt, "s", $adresse_courriel);
    if (mysqli_stmt_execute($stmt)) {
        $result = mysqli_stmt_get_result($stmt);
        $nbResult = mysqli_num_rows($result);
    $row = array();
        if ($nbResult) {
            mysqli_data_seek($result, 0);
            $row = mysqli_fetch_array($result, MYSQLI_ASSOC);       
        }
        mysqli_free_result($result);
        return $row;
    } else {
        errSQL($conn);
        exit;
    }
}
Salut

Dans ton action connecté sur met une session['logged'] à true, et comme ça tu peux tester partout.