Bonjour à tous,
Je suis actuellement en train de réaliser un petit projet de site web dans lequel j'ai besoin du PHP. Etant un novice en la matière, je me permets de vous demander votre aide afin de m'aiguiller, si cela ne vous dérange pas.
Mon problème actuel est que j'aimerai que le menu de droite s'actualise en fonction de la connexion (ou non) de l'utilisateur. En somme, lorsque l'utilisateur n'est pas connecté, le menu lui propose un formulaire de connexion, lorsqu'il l'est, un bienvenue avec X informations, ça on verra plus tard.
Je rencontre donc actuellement 2 problèmes. J'arrive à faire un "bidouillage" en disant que ma page "indexm.php" (page accessible seulement si connecté) fait l'inclusion d'un "menu3.php", lequel contient les informations du connecté, et s'il n'est pas connecté, elle inclut "menu2.php"...
Cependant je n'aime pas ce bidouillage, donc j'aimerai faire une condition sur "menu2.php" qui afficherait SOIT les infos, SOIT le formulaire, en fonction des variables de sessions.
Voilà mon code, et désolé pour les puristes, je sais que c'est pas joli niveau PHP....
Index.php:
Le fichier header.php contient mon "haut de page classique", déclaration de doctype et tout le tralala, mon menu1.php est juste un menu...
Voilà le problème désormais:
menu2.php:
Avec:
ContentNC.php:
Et contentC.php:
Voilà également ma page de vérification de l'existence du pseudo, et j'imagine qu'elle a une influence... (laquelle je ne connais pas, mais certainement à l'endroit où l'on voit que le pseudo existe):
Verif.php:
Et finalement ma page réservée aux membres:
Mon 2ème problème, c'est que par défaut, il me dit que je suis connecté... Enfin le menu2 affiche "contentC.php", ma condition de vérification serait-elle fausse ?
Merci d'avance, je suis disponible si vous avez la moindre question...
Bonne soirée
Modifié par PHPnewb (15 Jun 2010 - 18:57)
Je suis actuellement en train de réaliser un petit projet de site web dans lequel j'ai besoin du PHP. Etant un novice en la matière, je me permets de vous demander votre aide afin de m'aiguiller, si cela ne vous dérange pas.
Mon problème actuel est que j'aimerai que le menu de droite s'actualise en fonction de la connexion (ou non) de l'utilisateur. En somme, lorsque l'utilisateur n'est pas connecté, le menu lui propose un formulaire de connexion, lorsqu'il l'est, un bienvenue avec X informations, ça on verra plus tard.
Je rencontre donc actuellement 2 problèmes. J'arrive à faire un "bidouillage" en disant que ma page "indexm.php" (page accessible seulement si connecté) fait l'inclusion d'un "menu3.php", lequel contient les informations du connecté, et s'il n'est pas connecté, elle inclut "menu2.php"...
Cependant je n'aime pas ce bidouillage, donc j'aimerai faire une condition sur "menu2.php" qui afficherait SOIT les infos, SOIT le formulaire, en fonction des variables de sessions.
Voilà mon code, et désolé pour les puristes, je sais que c'est pas joli niveau PHP....
Index.php:
<?php
require('config.php');
session_start();
mysql_connect($serveur,$log,$password);
mysql_select_db($nom_base);
$res = mysql_query("INSERT INTO recherche VALUES( 1, 'Index.php','http://localhost:8888/MAMP/Espace/Index.php', 'Index du site du projet', 'Pons Truc Muche Bidule Machin Chose Etc Encore')");
include 'header.php';
include 'menu1.php';
include 'menu2.php';
include 'content.php';
include 'contenu.php';
include 'footer.php';
?>
Le fichier header.php contient mon "haut de page classique", déclaration de doctype et tout le tralala, mon menu1.php est juste un menu...
Voilà le problème désormais:
menu2.php:
<div id="colonne2">
<?php
if(!isset($_SESSION['login']))
{
include ('contentNC.php');
}
else
{
include ('contentC.php');
}
?>
<div class="bottom2"></div>
</div>
Avec:
ContentNC.php:
<h2>Connexion</h2>
<form action="verif.php" method="post" name="connexion">
Login : <input type="text" name="pseudo"><br />
Mot de passe : <input type="password" name="pass"><br />
<input type="submit" name="Submit" value="Connexion">
</form>
<a href="inscription.php">Vous inscrire</a>
<?php
if (isset($error)) echo '<br /><br />',$error;
?>
Et contentC.php:
<h2>Succes ! </h2>
Succes !
Voilà également ma page de vérification de l'existence du pseudo, et j'imagine qu'elle a une influence... (laquelle je ne connais pas, mais certainement à l'endroit où l'on voit que le pseudo existe):
Verif.php:
<?php
$regex1 = "[\^'$()*+<>?#\"{}\\]";
$regex2 = "[\^'$()*+<>?#\"{}\\]";
$id = $_POST['id'];
require('config.php');
if(isset($_POST['pseudo']))
{
if(eregi($regex1,$_POST['pseudo']) OR eregi($regex2,$_POST['pass']))
{
echo 'Pas de caractères spéciaux';
exit;
}
else
{
mysql_connect($serveur,$log,$password) OR die('Erreur de connexion mysql');
mysql_select_db($nom_base);
$requete="SELECT COUNT(*) FROM membre WHERE pseudo='".$_POST['pseudo']."' AND pass='".$_POST['pass']."'";
$res=mysql_query($requete);
$r=mysql_fetch_row($res);
if($r[0]==1)
{
$_SESSION['login']=$_POST['pseudo'];
header('location:indexm.php');
exit;
}
}
}
else
{
echo 'Vous n\etes pas inscrit.';
}
?>
Et finalement ma page réservée aux membres:
<?php
require('config.php');
mysql_connect($serveur,$log,$password);
mysql_select_db($nom_base);
$res = mysql_query("INSERT INTO recherche VALUES( 1, 'Indexm.php','http://localhost:8888/MAMP/Espace/Indexm.php', 'Index du site du projet', 'Pons Truc Muche Bidule Machin Chose Etc Encore')");
session_start();
if(!isset($_SESSION['login']))
{
exit;
}
else
{
include 'header.php';
include 'menu1.php';
include 'menu2.php';
include 'content.php';
}
?>
<p> Bienvenue sur l'espace membre ! </p>
<?php
include 'footer.php';
?>
Mon 2ème problème, c'est que par défaut, il me dit que je suis connecté... Enfin le menu2 affiche "contentC.php", ma condition de vérification serait-elle fausse ?
Merci d'avance, je suis disponible si vous avez la moindre question...
Bonne soirée
Modifié par PHPnewb (15 Jun 2010 - 18:57)