Transmettre les informations de connexion à une autre page à l'aide de session PHP
J'ai besoin des informations de connexion dans une autre page pour récupérer les données de la base de données. En gros, j'ai besoin d'afficher le formulaire éditable avec les détails de l'utilisateur connecté. J'ai essayé session_register()
pour stocker le nom d'utilisateur dans login.php page. Mais pour une raison que je ne suis pas en mesure d'afficher le nom d'utilisateur à l'aide de $_SESSION[]
dans mon edit.php page. Je fais cela une fois que la fonction session_start()
ainsi.
Je suis nouveau en php, donc ne sais pas si j'ai mal compris la session! Ou est-il un autre moyen de transmettre les informations de connexion?
Merci d'avance
Mon code:
**Login.php**
<?php
$userName = $_POST['username'];
$password = $_POST['password'];
//Connect to the database
//query the database
if($rows==1)
{
session_start();
$_SESSION['user']=$userName;
header("location:edit_user.php");
}
else
{
echo 'Data Does Not Match <br /> Re-Enter UserName and Password';
}
?>
**In edit.php**
<?php
session_start();
if(!isset($_SESSION['user']))
{
header("location:login_form.php");
}
else
{
echo $_SESSION['user'];
}
?>
- Pouvez-vous nous montrer la session liées code des deux pages (ce qui devrait être les premières lignes de chaque fichier...)?
- J'ai ajouté mon code maintenant!
- Le code ci-dessus fonctionne!J'ai fait une erreur de syntaxe..j'ai ajouté la fonction session_start() sur toutes les pages. J'ai enlevé le session_register() et utilisé $_SESSION pour stocker le contenu nécessaire tout au long de la session. Merci de m'aider à comprendre!
Vous devez vous connecter pour publier un commentaire.
Tout d'abord assurez-vous que vous placez
session_start()
au tout début de script que vous utilisez dans. Il ne peut y avoir de sortie vers le navigateur avant de vous appelersession_start()
et qui comprend des espaces ou de nouvelles lignes avant l'ouverture<?php
tag.Donc:
Deuxièmement, assurez-vous que vous résiliez votre script après une redirection, par exemple:
Qui permet de s'assurer qu'aucun code après la redirection est exécuté, de sorte que les sessions ne seront pas obtenir annuler la ou les variables de session modifiés par accident.
session_register()
est obsolète fonction. Utilisez simplement$_SESSION["bar"] = "foo"
pour stocker quelque chose.pour de futures références, merci de poster les parties de votre code lorsque vous poser des questions. Il aide tout le monde pour vous donner une réponse dans des cas plus spécifiques.
Source : http://php.net/manual/en/features.sessions.php
vous pouvez restauration de données à partir de la base de données comme ceci
maintenant $login_data tableau a l'utilisateur les informations que vous pouvez pointer vers le formulaire de valeurs des champs de texte..
$_session['user_id']=$login_data['user_id'] valeur doit être attribuée plus haut, qui reste dans le $_SESSION variable globale par le biais de la session