Page 1 sur 1

PHP / Javascript / HTML

Posté : 21 mars 2023, 15:10
par A1one
Bonjour, je travaille sur un petit projet en info pour faire un site web, le principe que je souhaite faire est le suivant :
-> En appuyant sur une image, je supprime la session en cours et je me redirige vers une page login

Côté HTML :

Code : Tout sélectionner

<img name="deco" class="deco" src="/assets/img/deconn.png" alt="deco">
Côté PHP et Javascript :

Code : Tout sélectionner

<script language="Javascript"> const imgdeco = document.querySelector(".deco"); imgdeco.addEventListener("click", function () { <?php $_SESSION = array();//Ecrase tableau de session session_unset(); //Detruit toutes les variables de la session en cours session_destroy();//Destruit la session en cours header('Location: //localhost'); // redirige l'utilisateur ?> }); </script>
Le problème est que le code PHP s'exécute directement lors du chargement de la page...
Si quelqu'un aurait une piste, je prends ! :D

Re: PHP / Javascript / HTML

Posté : 21 mars 2023, 15:21
par Saian
Salut, le php est exécuté par le serveur et le javascript par le navigateur.
Pour faire ce que tu veux, le javascript doit appeler un script php de déconnexion qui redirige vers le login une fois la session détruite.

Par exemple un window.location.href = 'url de déconnexion'; côté javascript et un header('Location: adresse du login'); exit; côté php (après la destruction de la session pour la redirection vers le login).

Re: PHP / Javascript / HTML

Posté : 21 mars 2023, 15:22
par or 1
ou un simple lien a href sur l'image.

Re: PHP / Javascript / HTML

Posté : 21 mars 2023, 15:23
par A1one
Salut, le php est exécuté par le serveur et le javascript par le navigateur.
Pour faire ce que tu veux, le javascript doit appeler un script php de déconnexion qui redirige vers le login une fois la session détruite.

Par exemple un window.location.href = 'url de déconnexion'; côté javascript et un header('Location: adresse du login'); exit; côté php (après la destruction de la session pour la redirection vers le login).
Merci pour ton message, tu aurais de la documentation à ce sujet ?

Re: PHP / Javascript / HTML

Posté : 21 mars 2023, 15:29
par Saian
Non j'ai pas de documentation sur le sujet, c'est pas plus compliqué que ça.
Sinon comme suggère or1 tu peux simplement mettre un lien (vers le script de déconnexion) autour de l'image et te passer du javascript.

logout.php
<?php

session_start();
$_SESSION = [];

header('location: login.php');

Re: PHP / Javascript / HTML

Posté : 21 mars 2023, 15:32
par A1one
Non j'ai pas de documentation sur le sujet, c'est pas plus compliqué que ça.
Sinon comme suggère or1 tu peux simplement mettre un lien (vers le script de déconnexion) autour de l'image et te passer du javascript.

logout.php
<?php

session_start();
$_SESSION = [];

header('location: login.php');
Waw c'est vrai que vu comme ça c'est plus simple, merci de vos réponses en tout cas !

Re: PHP / Javascript / HTML

Posté : 21 mars 2023, 15:35
par Saian
A toi de voir si tu as vraiment besoin du session_destroy et de la suppression du cookie, comme suggéré dans la doc php, selon la manière dont tu gères l'authentification et la sécurité avec la session.