J'ai un soucis sur mon site une fois hébergé que je n'ai pas en local
J'ai créé une page de connexion qui redirige vers une page admin.php si toutes les conditions sont bonnes
Tout fonctionne correctement en local, mais je vient de mettre mon site en ligne, importé ma bdd, changé les paramètres de connexion sur mon fichier de co à ma bdd et là .... pas de redirection, pas de message d'erreur, rien.
Mais le truc, si dans l'adresse je tape admin.php je suis bien connecté ... donc le problème vient bien de la redirection
Après plusieurs recherche sur forum et plusieurs tentative tjr rien ..
j'ai essayé (la c'est sur ma page de deconnexion, mais c'est pareil pour toutes les pages en fait) :
<?php
function redirect_to($url){
header($url);
exit();
}
?>
<!-- Quand clique sur deconnecté, destruction de la session + redirection connexion.php -->
<?php
session_start();
$_SESSION = array();
session_destroy();
redirect_to('location:connexion.php');
j'ai essayé :
redirect_to('location:*adresse complète de mon site/*connexion.php');
j'ai essayé :
<!-- Quand clique sur deconnecté, destruction de la session + redirection connexion.php -->
<?php
session_start();
$_SESSION = array();
session_destroy();
header('location:connexion.php');
j'ai mis des exit(); à chaque fois mais rien
Savez-vous d'où peut venir le problème ?
Merci d'avance
Le fossé séparant théorie et pratique est moins large en théorie qu’il ne l’est en pratique
Je pense que le problème vient de là du coup pck sur un autre site j'ai exactement le mm script et ca ne pose pas de problème, le truc c'set que dans mon autre site mes fichiers .php sont dans le mm dossier (php)
et là j'ai projet4/admin.php ou projet4/php/tous mes fichiers.php
Comment dois-je procéder du coup ? pck mm si je met l'adresse complète ca ne fonctionne pas
Le fossé séparant théorie et pratique est moins large en théorie qu’il ne l’est en pratique
Je te conseil déjà de bien séparé ton interface administrateur et ton interface utilisateur : Faire un dossier admin avec le code php admin dans le dossier admin/php tu aurai quelque chose comme /projet4 .../admin ....../public ....../php ....../img ....../index.php .../public .../php .../img .../index.php
Ensuite tu devrai avoir un fichier logout.php situé dans projet4/admin/php qui contient
<?php
function verify_admin() {
if (session_status()==PHP_SESSION_NONE) {
session_start();
}
if (!isset($_SESSION['admin'])) {
header('Location: ../../index.php');
exit();
}
}
verify_user();
unset($_SESSION['admin']);
header('Location: ../index.php');
Voilà, cette façon de faire je l'ai apprise il y a quelque temps a l'aide d'un tuto de grafikart, c'est un dev qui fait d'excellent tuto je te conseille de suivre celui la pour mettre en place un système d'authentification un minimun complet. https://www.youtube.com/watch?v=YNbPMm08jcw Le tuto est long, très long 1h48 tu compte le double si tu veux faire bien mais t'apprend beaucoup Voilà a+
Problème redirection
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Activer les erreurs PDO / (julp) htmlspecialchars / FAQ PHP / Pas d'aide par MP