Afficher un lien uniquement pour les membres
KOKOLO
-
Strat Messages postés 61 Statut Membre -
Strat Messages postés 61 Statut Membre -
Bonjour,
Je suis en train de développer ma section jeux concours et je rencontre un petit soucis...assez idiot à vrai dire...
Je souhaite faire en sorte que lorsqu'une personne visite mon site, elle puisse voir les jeux concours disponibles...par contre elle ne peut pas y participer tant qu'elle n'est pas membre du site. Je voudrais donc faire en sorte que le systeme détecte si la personne est connectée ou non...Si elle est pas connectée cela affiche "Pour participer à ce jeux concours vous devez être membre" sinon si la personne est connectée, li lien vers le jeux concours est affiché...
Je pensais faire un peu comme suit mais je ne sais pas quoi utiliser pour la variable $loginOK...:
Aidez moi svp !
voici le script de login si cela vous aide...
Merci
Je suis en train de développer ma section jeux concours et je rencontre un petit soucis...assez idiot à vrai dire...
Je souhaite faire en sorte que lorsqu'une personne visite mon site, elle puisse voir les jeux concours disponibles...par contre elle ne peut pas y participer tant qu'elle n'est pas membre du site. Je voudrais donc faire en sorte que le systeme détecte si la personne est connectée ou non...Si elle est pas connectée cela affiche "Pour participer à ce jeux concours vous devez être membre" sinon si la personne est connectée, li lien vers le jeux concours est affiché...
Je pensais faire un peu comme suit mais je ne sais pas quoi utiliser pour la variable $loginOK...:
<?
$lien = mysql_query(Select lien from jeuxconcours where id='$id') or die('Impossible de selectionner les données dans la base'.mysql_error());
if $loginOK= FALSE
{
echo"<font color=red size=3><b>Pour participer à ce jeux concours vous devez être membre !</b></font>";
}
else
{
echo "$lien"
}
?>
Aidez moi svp !
voici le script de login si cela vous aide...
<?php
include ('dbconnect.php');
if($pseudo=='' || $password=='')
{
echo '<p>Vous avez oublié de remplir un champs.</p>';
include('login.php'); // On inclus le formulaire d'identification
exit;
}
// on recupère le password de la table qui correspond au login du visiteur
$sql = "select motdepasse, prenom, id, pseudo, nbrefilleul, soldepoints, inscriptionconfirme, parrain from membres where pseudo='$pseudo'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_array($req);
if($data['inscriptionconfirme'] != 'Oui')
{
echo '<p>Vos identifiants ne sont pas corrects ou vous n\'avez pas validé votre inscription ! <br><br><a href=http://www.voilou.fr/membres/login.php>Retourner au formulaire de connection</a></p>';
exit;
}
if($data['motdepasse'] != md5($password))
{
echo '<p>Ces identifiants ne sont pas valide. Merci de recommencer</p>';
include('login.php'); // On inclus le formulaire d'identification
exit;
}
else
{
session_start();
$_SESSION['prenom'] = $data['prenom'];
$_SESSION['pseudo'] = $data['pseudo'];
$_SESSION['nbrefilleul'] = $data['nbrefilleul'];
$_SESSION['parrain'] = $data['parrain'];
$_SESSION['id'] = $data['id'];
session_register('id');
header("Location:membre.php");
}
// on ferme la connexion à mysql
mysql_close();
?>
Merci
A voir également:
- Afficher un lien uniquement pour les membres
- Créer un lien pour partager des photos - Guide
- Lien url - Guide
- Verificateur de lien - Guide
- Cliquez sur ce lien. en n'utilisant que le clavier, quel mot obtenez-vous ? ✓ - Forum souris / Touchpad
- Lien de rajout pour bara facebook - Forum Facebook
5 réponses
En fait tu devrais utiliser les variaibles de session ($_SESSION) pour voir si l'internaute est connecté... c'est ce que génère ton script de login...
avec à la place de ton
Cela devrait fonctionner...
Vic
avec à la place de ton
if $loginOK= FALSEun
if ($_SESSION['id'])
Cela devrait fonctionner...
Vic
Bonjour Vic,
Merci pour tes réponses mais j'aurai encore besoin de ton aide...!
Voilà, je souhaite donc intégrer la portion de code ci dessus dans cette portion de script :
Il faudrait donc que j'intègre la chose suivante :
A la place de cela (en gras) :
Je ne sais pas si c'est vraiment possible a cause du echo qui fait actuellement en sorte que la portion de code s'affiche au lieu d'etre traitée...ce qui est normal...
Merci encore !
Merci pour tes réponses mais j'aurai encore besoin de ton aide...!
Voilà, je souhaite donc intégrer la portion de code ci dessus dans cette portion de script :
<?php
include ('dbconnect.php');
$pseudo = $_SESSION['pseudo'];
// on crée la requete SQL
$sql = "select * from ";
$sql.= "listeconcoursArgent left join confirmeconcoursargent ";
$sql.= "on listeconcoursArgent.idccargent = confirmeconcoursargent.idccargent2 ";
$sql.= "and confirmeconcoursargent.pseudo='".$pseudo."' ";
$sql.= "where confirmeconcoursargent.pseudo is null";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
if (!$req)
{
echo "query = ".$sql."\n";
echo "mysql_errno = ".mysql_errno($link)."\n";
echo "mysql_error = ".mysql_error($link)."\n";
exit;
}
if (mysql_num_rows($req) > 0)
{
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_array($req))
{
echo ' <br><div align="center">
<table width="534" height="44" border="1">
<tr>
<td width="410" height="38">'.$data['nomconcoursargent'].'</td>
<td width="107"><div align="center">'.$data['plusinfo'].'</div></td>
</tr>
</table>
<table width="534" border="1">
<tr>
<td width="155" height="145">Lots mis en jeu : </td>
<td width="354"><ul><li>'.$data['jeuxconcoursargent'].'</li></ul>
<br>
</td>
</tr>
</table>
<table width="534" border="1">
<tr>
<td width="522"><div align="center"><form action="'.$data['lienconcoursargent'].'" method="post">
<input type="submit" class="fondblanc" value="Participer à ce jeu concours">
</form>
<form action="supconcoursargent.php" method="post">
<input name="idccargent" type="hidden" value="'.$data['idccargent'].'">
<input name="pseudo" type="hidden" value="'.$pseudo.'">
<input type="submit" class="fondblanc" value="Effacer ce jeu concours de mon compte">
</form></div></td>
</tr>
</table></div><br>
<tr>
<td colspan="2"><div align="center">
</div></td><br>
</tr>
</table>';
}
}
else
{
echo "<b>Vous avez déjà participé à tous les jeux concours disponibles actuellement !</b>";
}
// on ferme la connexion à mysql
mysql_close();
?>
Il faudrait donc que j'intègre la chose suivante :
if ($_SESSION['id'])
{
echo "<form action="'.$data['lienconcoursargent'].'" method="post">
<input type="submit" class="fondblanc" value="Participer à ce jeu concours">
</form>
<form action="supconcoursargent.php" method="post">
<input name="idccargent" type="hidden" value="'.$data['idccargent'].'">
<input name="pseudo" type="hidden" value="'.$pseudo.'">
<input type="submit" class="fondblanc" value="Effacer ce jeu concours de mon compte">
</form>";
}
else
{
echo "<font color=red size=3><b>Pour participer à ce jeux concours vous
devez être membre !</b></font>"
}
A la place de cela (en gras) :
{
echo ' <br><div align="center">
<table width="534" height="44" border="1">
<tr>
<td width="410" height="38">'.$data['nomconcoursargent'].'</td>
<td width="107"><div align="center">'.$data['plusinfo'].'</div></td>
</tr>
</table>
<table width="534" border="1">
<tr>
<td width="155" height="145">Lots mis en jeu : </td>
<td width="354"><ul><li>'.$data['jeuxconcoursargent'].'</li></ul>
<br>
</td>
</tr>
</table>
<table width="534" border="1">
<tr>
<td width="522"><div align="center"><form action="'.$data['lienconcoursargent'].'" method="post">
<input type="submit" class="fondblanc" value="Participer à ce jeu concours">
</form>
<form action="supconcoursargent.php" method="post">
<input name="idccargent" type="hidden" value="'.$data['idccargent'].'">
<input name="pseudo" type="hidden" value="'.$pseudo.'">
<input type="submit" class="fondblanc" value="Effacer ce jeu concours de mon compte">
</form></div></td>
</tr>
</table></div><br>
<tr>
<td colspan="2"><div align="center">
</div></td><br>
</tr>
</table>';
}
Je ne sais pas si c'est vraiment possible a cause du echo qui fait actuellement en sorte que la portion de code s'affiche au lieu d'etre traitée...ce qui est normal...
Merci encore !
En fait il suffit pas que tu mettes une variable session.
Dans ta base de donnée tu dois créer une table pour les membres (champs : id, pseudo, mot de passe, informations eventuelles, comme l'e-mail..).
Tu créé un formulaire d'inscription (avec hashage du mot de passe avec la fonction md5(); ) et un formulaire de login :
"si pseudo n'est pas trouvé 0 fois dans la table membres.. on passe a l'etape suivante"
"si le mot de passe hashé, correspond au mot de passe lié au pseudo, dans la table membre, on log le membre"
"sinon : erreur dans le pseudo ou mdp".
Et hop, pour la connexion tu utilise $_SESSION['logged'] = true; (par exemple)
A ne pas oublier : session_start(); a mettre avant tout code html.
Dans ta base de donnée tu dois créer une table pour les membres (champs : id, pseudo, mot de passe, informations eventuelles, comme l'e-mail..).
Tu créé un formulaire d'inscription (avec hashage du mot de passe avec la fonction md5(); ) et un formulaire de login :
"si pseudo n'est pas trouvé 0 fois dans la table membres.. on passe a l'etape suivante"
"si le mot de passe hashé, correspond au mot de passe lié au pseudo, dans la table membre, on log le membre"
"sinon : erreur dans le pseudo ou mdp".
Et hop, pour la connexion tu utilise $_SESSION['logged'] = true; (par exemple)
A ne pas oublier : session_start(); a mettre avant tout code html.
Bonjour Strat,
J'ai déjà une base de donnée avec des membres...je souhaite juste perfectionner mon script pour la section des jeux concours...!
Le script de login est en numéro 1 de ce sujet pour connaitres variables utilisées.
J'ai trouvé une autre facon plus simple de réaliser mon script...
Je voudrais ajouter la condition $_SESSION['id']=TRUE, j'ai déjà testé en e rajoutant comme suis (en gras) mais cela m'affiche une page blanche du coup...je dois oublier des guillemets ou je ne sais..?!
MERCI
J'ai déjà une base de donnée avec des membres...je souhaite juste perfectionner mon script pour la section des jeux concours...!
Le script de login est en numéro 1 de ce sujet pour connaitres variables utilisées.
J'ai trouvé une autre facon plus simple de réaliser mon script...
<?php
include ('dbconnect.php');
$pseudo = $_SESSION['pseudo'];
// on crée la requete SQL
$sql = "select * from ";
$sql.= "listeconcoursArgent left join confirmeconcoursargent ";
$sql.= "on listeconcoursArgent.idccargent = confirmeconcoursargent.idccargent2 ";
$sql.= "and confirmeconcoursargent.pseudo='".$pseudo."' ";
$sql.= "where confirmeconcoursargent.pseudo is null";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
if (!$req)
{
echo "query = ".$sql."\n";
echo "mysql_errno = ".mysql_errno($link)."\n";
echo "mysql_error = ".mysql_error($link)."\n";
exit;
}
if (mysql_num_rows($req) > 0)
{
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_array($req))
{
echo ' <br><div align="center">
<table width="534" height="44" border="1">
<tr>
<td width="410" height="38">'.$data['nomconcoursargent'].'</td>
<td width="107"><div align="center">'.$data['plusinfo'].'</div></td>
</tr>
</table>
<table width="534" border="1">
<tr>
<td width="155" height="145">Lots mis en jeu : </td>
<td width="354"><ul><li>'.$data['jeuxconcoursargent'].'</li></ul>
<br>
</td>
</tr>
</table>
<table width="534" border="1">
<tr>
<td width="522"><div align="center"><form action="'.$data['lienconcoursargent'].'" method="post">
<input type="submit" class="fondblanc" value="Participer à ce jeu concours">
</form>
<form action="supconcoursargent.php" method="post">
<input name="idccargent" type="hidden" value="'.$data['idccargent'].'">
<input name="pseudo" type="hidden" value="'.$pseudo.'">
<input type="submit" class="fondblanc" value="Effacer ce jeu concours de mon compte">
</form></div></td>
</tr>
</table></div><br>
<tr>
<td colspan="2"><div align="center">
</div></td><br>
</tr>
</table>';
}
}
else
{
echo ' <br><div align="center">
<table width="534" height="44" border="1">
<tr>
<td width="410" height="38">'.$data['nomconcoursargent'].'</td>
<td width="107"><div align="center">'.$data['plusinfo'].'</div></td>
</tr>
</table>
<table width="534" border="1">
<tr>
<td width="155" height="145">Lots mis en jeu : </td>
<td width="354"><ul><li>'.$data['jeuxconcoursargent'].'</li></ul>
<br>
</td>
</tr>
</table>
<table width="534" border="1">
<tr>
<td width="522"><div align="center"><form action=membres/index.php method="post">
<input type="submit" class="fondblanc" value="S identifier ou devenir membre pour participer à ce jeu concours">
</form>
</div></td>
</tr>
</table></div><br>
<tr>
<td colspan="2"><div align="center">
</div></td><br>
</tr>
</table>';
}
// on ferme la connexion à mysql
mysql_close();
?>
Je voudrais ajouter la condition $_SESSION['id']=TRUE, j'ai déjà testé en e rajoutant comme suis (en gras) mais cela m'affiche une page blanche du coup...je dois oublier des guillemets ou je ne sais..?!
}
if (mysql_num_rows($req) > 0) & ($_SESSION['id']=TRUE)
{
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_array($req))
{
echo ' <br><div align="center">
<table width="534" height="44" border="1">
<tr> ....etc
MERCI
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tu dois mettre avant tout script html : mysql_connect();
Ensuite tu fais ton script de connexion
Une fois connecté, tu enregistre les données de lma table membre de la personne, susceptible d'etre utiles, dans les variables sessions
Par exemple $_SESSION['pseudo'] = $xxx['pseudo'] "xxx" etant le nom du tableau regroupant les données du membre.
Pour ce que tu demande il te suffit de faire un lien dans ta liste de jeu qui s'affiche uniquement si on est connecté :
if $_SESSION['zzz'] === true
"zzz" c'est e nom de ta session de login, lors de la connexion, par exemple $_SESSION['logged"].
Bonne chance
Ensuite tu fais ton script de connexion
Une fois connecté, tu enregistre les données de lma table membre de la personne, susceptible d'etre utiles, dans les variables sessions
Par exemple $_SESSION['pseudo'] = $xxx['pseudo'] "xxx" etant le nom du tableau regroupant les données du membre.
Pour ce que tu demande il te suffit de faire un lien dans ta liste de jeu qui s'affiche uniquement si on est connecté :
if $_SESSION['zzz'] === true
"zzz" c'est e nom de ta session de login, lors de la connexion, par exemple $_SESSION['logged"].
Bonne chance