A voir également:
- Problème PHP -> Session
- Easy php - Télécharger - Divers Web & Internet
- Retour a la ligne php ✓ - Forum PHP
- Estelle vient de verrouiller sa session d'ordinateur. que peut-on dire ? ✓ - Forum Windows 7
- Estelle vient de verrouiller sa session d’ordinateur. que peut-on dire ? ✓ - Forum Windows
- Veuillez ouvrir une session avec les privilèges du gestionnaire ✓ - Forum Jeux vidéo
36 réponses
Bonjour
Ben non il n'est pas bien posé ton problème. Je n'ai pas vu où tu as dit que quelque chose ne marchait pas.
Tu as seulement dit
pour que cela marche, il faut récupérer le login qu'entre le joueur au moment de sa connexion dans le formulaire de la page connexion.php. Pour ensuite récupérer cette info sur la page sidebar.php, qui en fait est un include.
Et alors ? Que sidebar.php soit un include ne gêne en rien du tout l'utilisation des variables de session
Ben non il n'est pas bien posé ton problème. Je n'ai pas vu où tu as dit que quelque chose ne marchait pas.
Tu as seulement dit
pour que cela marche, il faut récupérer le login qu'entre le joueur au moment de sa connexion dans le formulaire de la page connexion.php. Pour ensuite récupérer cette info sur la page sidebar.php, qui en fait est un include.
Et alors ? Que sidebar.php soit un include ne gêne en rien du tout l'utilisation des variables de session
Effectivement, j'ai oublié ce point et j'en suis désolé.
Déjà à la base, la balise <?php session_start; ?> ne fonctionne pas.
Elle me met une grosse erreur.
Ensuite, pour tout les tutos, ils n'indiquent aucunement les endroits où placer le code qu'ils donnent.
Il montre un bout de code en disant voilà il faut ça.
Je ne comprend vraiment rien à leur histoire.
Déjà, dans la page sidebar.php, que faut-il que je mette?
Pour l'instant j'ai ça:
<div id="secondaryContent">
<? if(empty($_COOKIE["ID_UTILISATEUR"])) { ?>
<h3>Identification</h3>
<p>
<a href="inscription.php">Créer un compte utilisateur</a>
<a href="connexion.php">Connexion</a>
</p>
<? } else { ?>
<h3>Infos du joueur</h3>
<? } ?>
</div>
<?php mysql_close(); ?>
C'est après "infos du joueur" que je voudrais placer son nom.
J'espère avoir été plus clair...
Déjà à la base, la balise <?php session_start; ?> ne fonctionne pas.
Elle me met une grosse erreur.
Ensuite, pour tout les tutos, ils n'indiquent aucunement les endroits où placer le code qu'ils donnent.
Il montre un bout de code en disant voilà il faut ça.
Je ne comprend vraiment rien à leur histoire.
Déjà, dans la page sidebar.php, que faut-il que je mette?
Pour l'instant j'ai ça:
<div id="secondaryContent">
<? if(empty($_COOKIE["ID_UTILISATEUR"])) { ?>
<h3>Identification</h3>
<p>
<a href="inscription.php">Créer un compte utilisateur</a>
<a href="connexion.php">Connexion</a>
</p>
<? } else { ?>
<h3>Infos du joueur</h3>
<? } ?>
</div>
<?php mysql_close(); ?>
C'est après "infos du joueur" que je voudrais placer son nom.
J'espère avoir été plus clair...
salut ! j'ai une petite idée mais avant je voudrais étre sur d'avoir tout compris a ton problème. Tu as une page avec un login et dans cette page tu veus récupéré le nom de ton joueur pour l'afficher dans une autre page c'est bien sa ??
En fait, mon but est de récupérer le login que le joueur rentre dans le formulaire de connexion carte cela correspond aussi au nom du joueur.
Donc récupérer le login écrit dans le formulaire, pour faire un echo dans la sidebar.
Donc récupérer le login écrit dans le formulaire, pour faire un echo dans la sidebar.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
oki c'est bien ske je pensais.
j'ai fait un truc un peu comme sa avec des carte de visite.
en fait met ton login dans une variable genre $login. ensuite tu doit récupéré ta variable pour la mettre dans ta page sa donne sa :
<a href = "\tapage.php?
utilisateur=<?php echo urlencode ($login); >
ton idée du $_SESSION était pas mal mais utilise plutot $_GET
donc dans ton autre pagela tu dit la récupéré :
$login = $_GET['utiliateur'];
et pour l'afficher un echo ne ferait t'il pas l'affaire ??
donc voila essaie ça et tiens moi au courant
j'ai fait un truc un peu comme sa avec des carte de visite.
en fait met ton login dans une variable genre $login. ensuite tu doit récupéré ta variable pour la mettre dans ta page sa donne sa :
<a href = "\tapage.php?
utilisateur=<?php echo urlencode ($login); >
ton idée du $_SESSION était pas mal mais utilise plutot $_GET
donc dans ton autre pagela tu dit la récupéré :
$login = $_GET['utiliateur'];
et pour l'afficher un echo ne ferait t'il pas l'affaire ??
donc voila essaie ça et tiens moi au courant
ben ton utilisateur qui va se créer un compte va bien taper un nom d'utilisateur ??
je veus donc dire de mettre se nom d'utilisateur dans une variable.
je veus donc dire de mettre se nom d'utilisateur dans une variable.
<?
// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["ID_UTILISATEUR"]))
{
header("Location: index.php");
}
else
{
// Formulaire visible par défaut
$masquer_formulaire = false;
// Une fois le formulaire envoyé
if(isset($_POST["BT_Envoyer"]))
{
// Vérification de la validité des champs
if(!ereg("^[A-Za-z0-9_]{2,20}$", $_POST["TB_Nom_Utilisateur"]))
{
$message = "Votre nom d'utilisateur doit comporter entre 2 et 20 caractères<br />\n";
$message .= "L'utilisation de l'underscore est autorisée";
}
elseif(!ereg("^[A-Za-z0-9]{6,}$", $_POST["TB_Mot_de_Passe"]))
{
$message = "Votre mot de passe doit comporter au moins 6 caractères";
}
else
{
// Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
mysql_connect("sql.free.fr", "****", "****");
mysql_select_db("****");
// Sélection de l'utilisateur concerné
$result = mysql_query("
SELECT ID_Utilisateur, Nom_Utilisateur, Mot_de_Passe, Compte_Active
FROM Comptes_Utilisateurs
WHERE Nom_Utilisateur = '" . $_POST["TB_Nom_Utilisateur"] . "'
");
// Si une erreur survient
if(!$result)
{
$message = "Une erreur est survenue lors de la tentative de connexion";
}
else
{
// Si aucun utilisateur n'a été trouvé
if(mysql_num_rows($result) == 0)
{
$message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"] . " n'existe pas";
}
else
{
// Récupération des données
$row = mysql_fetch_array($result);
// Si le compte n'a pas été activé
if($row["Compte_Active"] == 0)
{
$message = "Votre compte utilisateur n'a pas été activé";
}
else
{
// Vérification du mot de passe
if(md5($_POST["TB_Mot_de_Passe"]) != $row["Mot_de_Passe"])
{
$message = "Votre mot de passe est incorrect";
}
else
{
// Définition du temps d'expiration des cookies
$expiration =
empty($_POST["CB_Connexion_Automatique"]) ? 0 : time() + 90 * 24 * 60 * 60;
// Création des cookies
setcookie("ID_UTILISATEUR", $row["ID_Utilisateur"], $expiration, "/");
setcookie("NOM_UTILISATEUR", $row["Nom_Utilisateur"], $expiration, "/");
// Fermeture de la connexion à la base de données
mysql_close();
// Redirection de l'utilisateur
header("Location: index.php");
}
}
}
}
// Fermeture de la connexion à la base de données
mysql_close();
}
}
?>
<?php include ('/projet/header.php'); ?>
<div id="content">
<div id="xbg1"></div>
<div id="primaryContentContainer">
<div id="primaryContent">
<? if(isset($message)) { ?>
<p><?= $message; ?></p>
<? } if($masquer_formulaire != true) { ?>
<form action="http://<?= $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post">
<p>
Nom d'utilisateur : <input type="text" name="TB_Nom_Utilisateur" />
</p>
<p>
Mot de passe : <input type="password" name="TB_Mot_de_Passe" />
</p>
<p>
<input type="submit" name="BT_Envoyer" value="Envoyer" />
</p>
</form>
<? } ?>
</div>
</div>
<?php include ('/projet/sidebar.php'); ?>
<div class="clear"></div>
</div>
<?php include ('/projet/footer.php');?>
// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["ID_UTILISATEUR"]))
{
header("Location: index.php");
}
else
{
// Formulaire visible par défaut
$masquer_formulaire = false;
// Une fois le formulaire envoyé
if(isset($_POST["BT_Envoyer"]))
{
// Vérification de la validité des champs
if(!ereg("^[A-Za-z0-9_]{2,20}$", $_POST["TB_Nom_Utilisateur"]))
{
$message = "Votre nom d'utilisateur doit comporter entre 2 et 20 caractères<br />\n";
$message .= "L'utilisation de l'underscore est autorisée";
}
elseif(!ereg("^[A-Za-z0-9]{6,}$", $_POST["TB_Mot_de_Passe"]))
{
$message = "Votre mot de passe doit comporter au moins 6 caractères";
}
else
{
// Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
mysql_connect("sql.free.fr", "****", "****");
mysql_select_db("****");
// Sélection de l'utilisateur concerné
$result = mysql_query("
SELECT ID_Utilisateur, Nom_Utilisateur, Mot_de_Passe, Compte_Active
FROM Comptes_Utilisateurs
WHERE Nom_Utilisateur = '" . $_POST["TB_Nom_Utilisateur"] . "'
");
// Si une erreur survient
if(!$result)
{
$message = "Une erreur est survenue lors de la tentative de connexion";
}
else
{
// Si aucun utilisateur n'a été trouvé
if(mysql_num_rows($result) == 0)
{
$message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"] . " n'existe pas";
}
else
{
// Récupération des données
$row = mysql_fetch_array($result);
// Si le compte n'a pas été activé
if($row["Compte_Active"] == 0)
{
$message = "Votre compte utilisateur n'a pas été activé";
}
else
{
// Vérification du mot de passe
if(md5($_POST["TB_Mot_de_Passe"]) != $row["Mot_de_Passe"])
{
$message = "Votre mot de passe est incorrect";
}
else
{
// Définition du temps d'expiration des cookies
$expiration =
empty($_POST["CB_Connexion_Automatique"]) ? 0 : time() + 90 * 24 * 60 * 60;
// Création des cookies
setcookie("ID_UTILISATEUR", $row["ID_Utilisateur"], $expiration, "/");
setcookie("NOM_UTILISATEUR", $row["Nom_Utilisateur"], $expiration, "/");
// Fermeture de la connexion à la base de données
mysql_close();
// Redirection de l'utilisateur
header("Location: index.php");
}
}
}
}
// Fermeture de la connexion à la base de données
mysql_close();
}
}
?>
<?php include ('/projet/header.php'); ?>
<div id="content">
<div id="xbg1"></div>
<div id="primaryContentContainer">
<div id="primaryContent">
<? if(isset($message)) { ?>
<p><?= $message; ?></p>
<? } if($masquer_formulaire != true) { ?>
<form action="http://<?= $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post">
<p>
Nom d'utilisateur : <input type="text" name="TB_Nom_Utilisateur" />
</p>
<p>
Mot de passe : <input type="password" name="TB_Mot_de_Passe" />
</p>
<p>
<input type="submit" name="BT_Envoyer" value="Envoyer" />
</p>
</form>
<? } ?>
</div>
</div>
<?php include ('/projet/sidebar.php'); ?>
<div class="clear"></div>
</div>
<?php include ('/projet/footer.php');?>
Ah voila...
Donc dans ta table tu récupère ceci : $row["Nom_Utilisateur"]
ce qui devrait donner : $login = $row["Nom_Utilisateur"];
et aprés c'est les même instruction que tout a l'heure.
Donc dans ta table tu récupère ceci : $row["Nom_Utilisateur"]
ce qui devrait donner : $login = $row["Nom_Utilisateur"];
et aprés c'est les même instruction que tout a l'heure.
Euh attend j'ai un problème là...
Il me met une erreur à la dernière ligne.
J'essaye de régler ça et je teste ton truc ;)
Il me met une erreur à la dernière ligne.
J'essaye de régler ça et je teste ton truc ;)
okuni
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
126
17 juil. 2009 à 14:28
17 juil. 2009 à 14:28
En attandant de voir si ton truc fonctionne, je tiens à te dire que si tu écris ceci : <?php session_start; ?>
c'est normal qu'il y ai une erreur, tu oublie les parenthèses.
essaye ceci : <?php session_start(); ?>
c'est normal qu'il y ai une erreur, tu oublie les parenthèses.
essaye ceci : <?php session_start(); ?>
okuni
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
126
17 juil. 2009 à 15:35
17 juil. 2009 à 15:35
Quel est le message d'erreur?
Alors mon problème est reglé.
Maintenant ton truc.
J'ai mis ça :
// Création des cookies
setcookie("ID_UTILISATEUR", $row["ID_Utilisateur"], $expiration, "/");
setcookie("NOM_UTILISATEUR", $row["Nom_Utilisateur"], $expiration, "/");
$login = $row["Nom_Utilisateur"]
C'est bon?
Et après sur ma sidebar je met quoi?
Maintenant ton truc.
J'ai mis ça :
// Création des cookies
setcookie("ID_UTILISATEUR", $row["ID_Utilisateur"], $expiration, "/");
setcookie("NOM_UTILISATEUR", $row["Nom_Utilisateur"], $expiration, "/");
$login = $row["Nom_Utilisateur"]
C'est bon?
Et après sur ma sidebar je met quoi?