SESSION PHP

Fermé
didy_gwatinik Messages postés 352 Date d'inscription samedi 17 novembre 2007 Statut Membre Dernière intervention 30 mars 2010 - 4 nov. 2008 à 17:27
didy_gwatinik Messages postés 352 Date d'inscription samedi 17 novembre 2007 Statut Membre Dernière intervention 30 mars 2010 - 6 nov. 2008 à 12:17
Bonjour,
J'utilise les sessions dans mon site, mais je ne maitrise pas trop le sujet je ne vois pas comment faire pour qu'une fois que l"utilisateur s'enregistre ça puisse afficher Bonjour utilisateur, j'ai essayé ceci
<?php
	if (isset($_SESSION['pseudo']))
	echo "Bienvenue".$_SESSION['pseudo'];
	else{
	print("<form method=\"post\" action=\"log.php\">");
	print("<label>Identifiant</label>");
	print("<input type=\"text\" maxlength=50 /><br /><br />");
	print("<label>Mot de passe</label>");
	print("<input type=\"password\" maxlength=50 /><br />");
	print("<p><input type=\"submit\" value=\"OK\" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>");
	print("</form>");
	print("</div>");
	print("</div>");
	}
	?>

Mais ça me réécrit toujours le champ identifiant mot de passe et mon bouton ok.
Comment faire?

2 réponses

williom Messages postés 230 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 2 juillet 2009 51
4 nov. 2008 à 18:48
bonjour,
un fichier php est interprété par le serveur, qui génère et envoie une page html sur le navigateur.
dans la déclaration de ton formulaire, il faut lui indiquer un autre fichier php avec ton Bonjour...actuellement, ton fichier log.php se renvoie les données saisies, à lui-même, indéfiniment.. modif : print("<form method=\"post\" action=\"bonjour.php\">");
0
didy_gwatinik Messages postés 352 Date d'inscription samedi 17 novembre 2007 Statut Membre Dernière intervention 30 mars 2010 80
4 nov. 2008 à 22:19
J'ai essayé ce que tu viens de me dire mais ça n'affiche pas le contenu de ma variable , j'ai peut-être fait une errreur en tapant : echo "Bienvenue".$_SESSION['pseudo'];
De plus ca fait bouger maa bannière, je n'arrive pas à la fixer, tu ne connaitrai pas une manière de la fixer en CSS?
0
williom Messages postés 230 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 2 juillet 2009 51
5 nov. 2008 à 22:04
salut,
çà marche comme çà :
dans un fichier test.php

<?php
if (isset($_POST['pseudo']))
{
echo "le pseudo = ".$_POST['pseudo'];
echo "<br>le password = ".$_POST['password'];
}
else
{
?>
<form method="POST" action="test.php" enctype="multipart/form-data">
<label for="pseudo">Identifiant</label>
<input type="text" name="pseudo" maxlength='50' value=""></input><br>
<label for="password">Mot de passe</label>
<input type="password" name="password" maxlength='50' /><br>
<p><input type="submit" value="OK" /></p>
</form>
<?php } ?>

désolé pour la mise en forme sans les "print", mais sinon j'y arrive pas...
0
bon, déja si tu veux que des sessions marchent faut avoir en haut de page avant tout code affiché un session_start()
et ce sur toutes tes pages qui conserverons les sessions.

ensuite tu récupére tes données en $_POST au rechargement du formulaire et tu les transfèrent à $_SESSION

en gros dans le code cité par williom, j'ajouterai:
<?php session_start(); // demarrage de la session a avoir en premiere ligne de toutes tes pages
if (isset($_POST['pseudo']))
{

// je ferai un peu des vérifications de sécurité sur le POST genre ereg avant tout...

$_SESSION['pseudo']=$_POST['pseudo'];
/* et maintenant tu peux utiliser cette session de partout tant que l utilisateur ne depasse pas le temps donné par php.ini ni ne ferme son navigateur*/



echo "le pseudo = ".$_POST['pseudo'];
echo "<br>le password = ".$_POST['password'];
}
else
{
?>
<form method="POST" action="test.php" enctype="multipart/form-data">
<label for="pseudo">Identifiant</label>
<input type="text" name="pseudo" maxlength='50' value=""></input><br>
<label for="password">Mot de passe</label>
<input type="password" name="password" maxlength='50' /><br>
<p><input type="submit" value="OK" /></p>
</form>
<?php } ?>


désolé moi non plus les print() je peux pas :)
0
didy_gwatinik Messages postés 352 Date d'inscription samedi 17 novembre 2007 Statut Membre Dernière intervention 30 mars 2010 80 > darkhellay
6 nov. 2008 à 12:17
Ca marche très bien!! Merci beaucoup pour votre aide, c'est super!
0