Script PHP de connexion ne marche pas
Fermé
Thomas38340
Messages postés
166
Date d'inscription
jeudi 7 janvier 2010
Statut
Membre
Dernière intervention
5 octobre 2013
-
14 févr. 2012 à 14:23
Garth - 14 févr. 2012 à 19:32
Garth - 14 févr. 2012 à 19:32
A voir également:
- Script PHP de connexion ne marche pas
- Gmail connexion - Guide
- Script vidéo youtube - Guide
- Hotmail connexion - Guide
- Facebook connexion - Guide
- Site inaccessible n'autorise pas la connexion - Guide
1 réponse
Salut,
pour utiliser les variables de session il faut mettre session_start(); en début de code(strictement en début, parfois en sautant une ligne ça peut ne pas marcher)
Pour afficher la variable fonction echo ();
pour la redirection il faut utiliser la fonction header('location:mon_url');
http://php.net/manual/fr/function.header.php
Donc ça pourrait donner ceci :
Mieux encore mettre tout ça en fonction externe pour pas avoir à retaper et aérer le code de chaque page:
C'est mieux encore si vous faites une page spécifique plutôt que la page de connection pour un utilisateur qui voudrait se connecter sans avoir sa session(donc sans s'être identifié) avec un texte genre:
<h2 style="color:red;background-color:#000;">
INTERDIT, VOUS DEVEZ ETRE UN MEMBRE ENREGISTRE ET VOUS CONNECTER POUR AVOIR ACCES A CES PAGES
</h2>
<a href="connection.html">Allez en page de connection</a>
<a href="inscription.html">S'inscrire</a>
<!------------ON rigole pas avec la sécurité ------->
Vu que si la personne a pas de session et qu'elle se retrouve sur les pages des membres c'est qu'elle essaye de tricher pour passer outre l'identification. Ou alors d'envoyer un message dans l'url(en $_GET) pour avertir qu'il doit s'identifier pour se connecter.
Comme ceci
header('Location: page_de_connection.php?avertissement=Vous devez vous connecter pour accéder aux pages membres');
Et bien sûr récupérer le message et l'afficher:
if(isset($_GET['avertissement']) && !empty($_GET['avertissement'])){
echo $_GET['avertissement'];
}
pour utiliser les variables de session il faut mettre session_start(); en début de code(strictement en début, parfois en sautant une ligne ça peut ne pas marcher)
Pour afficher la variable fonction echo ();
pour la redirection il faut utiliser la fonction header('location:mon_url');
http://php.net/manual/fr/function.header.php
Donc ça pourrait donner ceci :
<?php session_start(); //Si l'utilisateur est connecté, on affiche les identifiants if(isset($_SESSION['username']) && !empty($_SESSION['username'])) { echo "Bienvenue ".$_SESSION['username']; }else // petit soucis dans la place du else : corrigé { //sinon on le redirige a la page de connexion automatiquement header('Location:page_de_connection.php'); exit();/* une sécurité de plus même si elle sert à rien */ } ?>
Mieux encore mettre tout ça en fonction externe pour pas avoir à retaper et aérer le code de chaque page:
<?php //--------- fonctions_utiles.php //-------------------- FONCTIONS UTILES function echec(){ session_unset(); session_destroy(); header('Location: page_de_connection.php'); exit(); } function test_session($sess){ if (isset($sess)) && !empty($sess)){ echo $sess; }else{ echec(); } } ?> Ce qui donnes pour votre page(et toutes les autres où la session doit être utilisée) <?php session_start(); include('fonctions_utiles.php'); test_session($_SESSION['username']); ?>
C'est mieux encore si vous faites une page spécifique plutôt que la page de connection pour un utilisateur qui voudrait se connecter sans avoir sa session(donc sans s'être identifié) avec un texte genre:
<h2 style="color:red;background-color:#000;">
INTERDIT, VOUS DEVEZ ETRE UN MEMBRE ENREGISTRE ET VOUS CONNECTER POUR AVOIR ACCES A CES PAGES
</h2>
<a href="connection.html">Allez en page de connection</a>
<a href="inscription.html">S'inscrire</a>
<!------------ON rigole pas avec la sécurité ------->
Vu que si la personne a pas de session et qu'elle se retrouve sur les pages des membres c'est qu'elle essaye de tricher pour passer outre l'identification. Ou alors d'envoyer un message dans l'url(en $_GET) pour avertir qu'il doit s'identifier pour se connecter.
Comme ceci
header('Location: page_de_connection.php?avertissement=Vous devez vous connecter pour accéder aux pages membres');
Et bien sûr récupérer le message et l'afficher:
if(isset($_GET['avertissement']) && !empty($_GET['avertissement'])){
echo $_GET['avertissement'];
}