J'ai déjà posté il y a quelques jours, et le problème ne n'était pas un, ce qui fait que la communauté n'a pas eu besoin de m'aider ou d'être éclairé.
En fait j'ai commencé le php il y a très peu de temps et j'avoue que je galère et que je passe mes journées à chercher des trucs par moi même probablement très simples !
Là, le souci que j'ai (et une fois réglé, je ferai un tutoriel pour le forum et pour me le rappeler ensuite) est que je n'arrive pas à donner à certains utilisateurs une page donnée. J'ai trouvé certaines choses sur les forums, mais je n'arrive pas à le mettre en place. En fait ça m'affiche toujours le même lien quelque soit la catégorie d'utilisateur.
Ma base de donnée contient :
pseudo
motdepasse
nom
prenom
categorie
Voici mon code de connexion (si ce n'est pas propre merci de me le dire) :
session_start();
$hote= 'xxx';
$user = 'xxx';
$passe ='xxx';
$base= 'xxx';
$connexion = mysql_connect($hote, $user,$passe );
mysql_select_db($base,$connexion);
/* on regarde si le formulaire est bon */
/** pour voir si le champ pseudo est vide **/
if (isset($_POST) && empty($_POST['pseudo']) && !empty($_POST['motdepasse'])) {
$message = '<p>Vous avez oublié d\'indiquer votre <i>Pseudo</i></p>';
include('identification.txt');
}
/** pour voir si le champ mot de passe est vide**/
if (isset($_POST) && !empty($_POST['pseudo']) && empty($_POST['motdepasse'])) {
$message = '<p>Vous avez oublié d\'indiquer votre <i>Mot de passe</i></p>';
include('identification.txt');
}
/** pour voir si les champs pseudo et mot de passe sont vides **/
if(isset($_POST) && empty($_POST['pseudo']) && empty($_POST['motdepasse'])) {
$message = '<p>Merci de rentrer votre <i>pseudo</i> et votre <i>mot de passe</i></p>';
include('identification.txt');
}
/** Si les deux sont remplis alors : **/
if(isset($_POST) && !empty($_POST['pseudo']) && !empty($_POST['motdepasse'])) {
/** on xtrait les doinnées **/
extract($_POST);
/** on va chercher les données pour le pseudo entrée **/
$sql = "SELECT * FROM identification WHERE pseudo='$pseudo'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
/** on récupère les entrées comme il faut **/
$data = mysql_fetch_assoc($req);
/** on compare ce qu'on a entré et le vrai mot de passe **/
if($data['motdepasse'] != $motdepasse) {
$message = '<p>Les informations rentrées ne sont pas correctes</p>';
include('identification.txt');
}
else {
$_SESSION['pseudo'] = $pseudo;
$nom = $data['nom'];
$prenom = $data['prenom'];
$categorie = $data['categorie'];
/* on affiche le nom et le prénom */
echo 'Bonjour ', $prenom, ' ', $nom;
/* on crée la fonction du lien supplémentaire dans le menu. J'ai trouvé ça sur un forum mais c'est là que ça ne marche pas */
switch ($categorie){
case "admin":
$lienhorizontal = '<a href="http://www.prepa-isp.fr/testns/categorie1">espace réservé</a>';
case "eleve":
$lienhorizontal = '<a href="http://www.prepa-isp.fr/testns/categorie2">espace réservé</a>';
}
}
}
?>
voilà ma partie du code php. Pour ce qui est de la partie html, tout fonctionne bien, quand je ne mets pas de choix, le lien s'affiche bien comme il faut et est fonctionnel.En espérant avoir été assez clair.
Merci d'avance.
Guyomeparis
qui s'affiche en haut à gauche de ce sujet