Mélanger du php dans du html
Résolu
Thetcha
-
Thetcha -
Thetcha -
Bonjour,
Voila, je suis en train de créer une console d'admin et je voudrais gérer un menu une fois la connexion effectuée.
Mais j'ai un petit soucis de mélange entre le php et le HTML.
En fait, je voudrais afficher un menu de 3 choix si la personne connectée est un admin sinon un menu de 2 chois si la personne connectée est simple membre mais j'ai un soucis de coordination.
Voici le code :
Mon soucis vient du 'else' de cette partie :
D'avance merci si vous voyez ce que c'est l'erreur.
Voila, je suis en train de créer une console d'admin et je voudrais gérer un menu une fois la connexion effectuée.
Mais j'ai un petit soucis de mélange entre le php et le HTML.
En fait, je voudrais afficher un menu de 3 choix si la personne connectée est un admin sinon un menu de 2 chois si la personne connectée est simple membre mais j'ai un soucis de coordination.
Voici le code :
<a href="index.php">Déconnection</a><br><br> <?php session_start(); ?> <?php //affichage des données: echo( " Vous etes connecte en tant que : {$_SESSION['Pseudo']} " ); ?> <?php if ($results) { session_register("authentification"); $_SESSION['Pseudo'] = $user_infos['Pseudo']; if ($user_infos['Statut'] == "Administrateur") { ?> <br></br> <center> <fieldset><legend><b><FONT size="4pt">Veuillez choisir une option :</FONT></b></legend> <br></br> <TABLE BORDER="2" cellpadding="12" cellspacing="10"> <TR> <TH> <form method="post" action="inserer.php"> <input type="submit" value="Inserer donnees"> </form> </TH> </TR> <TR> <TH> <form method="post" action="affichage.php"> <input type="submit" value="Afficher donnees"> </form> </TH> </TR> <TR> <TH> <form method="post" action="suppression.php"> <input type="submit" value="Supprimer donnees"> </form> </TH> </TR> </TABLE></fieldset> </center> <?php else if ($user_infos['Statut'] == "Membre") } ?> <br></br> <center> <fieldset><legend><b><FONT size="4pt">Veuillez choisir une option :</FONT></b></legend> <br></br> <TABLE BORDER="2" cellpadding="12" cellspacing="10"> <TR> <TH> <form method="post" action="inserer.php"> <input type="submit" value="Inserer donnees"> </form> </TH> </TR> <TR> <TH> <form method="post" action="affichage.php"> <input type="submit" value="Afficher donnees"> </form> </TH> </TR> </TABLE></fieldset> </center> <?php } } ?>
Mon soucis vient du 'else' de cette partie :
<?php else if ($user_infos['Statut'] == "Membre") } ?>
D'avance merci si vous voyez ce que c'est l'erreur.
A voir également:
- Mélanger du php dans du html
- Editeur html - Télécharger - HTML
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Espace html ✓ - Forum HTML
- [**] Balise pour un espace vide en hml. Merci ✓ - Forum Webmastering
8 réponses
NON malheureux ! je t'arrête avant de lire le tout ! jamais un session_start(); avant un affichage quelconque !
Peut-être de là que vient le problème ?
Peut-être de là que vient le problème ?
Je pense que c'est surtout l'absence d'accolade avant son else qui pose problème.
Tu l'ouvre au précédent if sans jamais la refermer.
essaye donc de remplacer
par un truc du genre :
Tu l'ouvre au précédent if sans jamais la refermer.
essaye donc de remplacer
else if ($user_infos['Statut'] == "Membre") }
par un truc du genre :
} else if ($user_infos['Statut'] == "Membre"){
Merci à tous pour vos réponse !!
L'erreur affichée est la suivante : Parse error: syntax error, unexpected T_ELSE in C:\wamp\www\Formulaire\menu.php on line 47
D'avance merci
L'erreur affichée est la suivante : Parse error: syntax error, unexpected T_ELSE in C:\wamp\www\Formulaire\menu.php on line 47
D'avance merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
et bien oui tu mets
c'est plutôt clair p: c'est syntaxiquement incorrect :p
https://www.php.net/manual/fr/control-structures.elseif.php
Même une feuille de papier est plus légère si on la porte à deux.
<?php else if ($user_infos['Statut'] == "Membre") } ?>
c'est plutôt clair p: c'est syntaxiquement incorrect :p
https://www.php.net/manual/fr/control-structures.elseif.php
Même une feuille de papier est plus légère si on la porte à deux.
Voici :
Le problème est que je ne récupère pas correctement le pseudo de la page de connexion, du coup il affiche toujours le menu complet
<a href="index.php">Déconnection</a><br><br> <?php session_start(); ?> <?php //affichage des données: echo( " Vous etes connecte en tant que : {$_SESSION['Pseudo']} " ); ?> <?php // Connexion au serveur $hostname= "localhost"; $database = "azerty"; $username= "root"; $password= "azerty"; $db = mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR); // Récupération des données depuis la base de données mysql_select_db($database, $db); $verif_query = sprintf("SELECT * FROM inscription "); $verif = mysql_query($verif_query, $db) or die(mysql_error()); $user_infos = mysql_fetch_assoc($verif); $results = mysql_num_rows($verif); if ($results) { $_SESSION['Pseudo'] = $user_infos['Pseudo']; if ($user_infos['Statut'] == "Administrateur") { ?> <br></br> <center> <fieldset><legend><b><FONT size="4pt">Veuillez choisir une option :</FONT></b></legend> <br></br> <TABLE BORDER="2" cellpadding="12" cellspacing="10"> <TR> <TH> <form method="post" action="inserer.php"> <input type="submit" value="Inserer donnees"> </form> </TH> </TR> <TR> <TH> <form method="post" action="affichage.php"> <input type="submit" value="Afficher donnees"> </form> </TH> </TR> <TR> <TH> <form method="post" action="suppression.php"> <input type="submit" value="Supprimer donnees"> </form> </TH> </TR> </TABLE></fieldset> </center> <?php if ($results) { $_SESSION['Pseudo'] = $user_infos['Pseudo']; if ($user_infos['Statut'] == "Membre") { ?> <br></br> <center> <fieldset><legend><b><FONT size="4pt">Veuillez choisir une option :</FONT></b></legend> <br></br> <TABLE BORDER="2" cellpadding="12" cellspacing="10"> <TR> <TH> <form method="post" action="inserer.php"> <input type="submit" value="Inserer donnees"> </form> </TH> </TR> <TR> <TH> <form method="post" action="affichage.php"> <input type="submit" value="Afficher donnees"> </form> </TH> </TR> </TABLE></fieldset> </center> <?php }}}} ?>
Le problème est que je ne récupère pas correctement le pseudo de la page de connexion, du coup il affiche toujours le menu complet
Je me suis permis de corrigé un peu ton code afin que tu y voies plus clair déjà
(session_start(); doit être avant tout affichage !! c'est impératif !
EDIT : J'ai encore corrigé une ligne
Même une feuille de papier est plus légère si on la porte à deux.
(session_start(); doit être avant tout affichage !! c'est impératif !
<?php session_start(); //affichage des données: echo "<a href="index.php">Déconnection</a><br><br>"; echo "Vous etes connecte en tant que : {$_SESSION['Pseudo']}"; // Connexion au serveur $hostname= "localhost"; $database = "azerty"; $username= "root"; $password= "azerty"; $db = mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR); // Récupération des données depuis la base de données mysql_select_db($database, $db); $verif_query = sprintf("SELECT * FROM inscription "); $verif = mysql_query($verif_query, $db) or die(mysql_error()); $user_infos = mysql_fetch_assoc($verif); $results = mysql_num_rows($verif); if ($results) { $_SESSION['Pseudo'] = $user_infos['Pseudo']; if ($user_infos['Statut'] == "Administrateur") { ?> <br/> <center> <fieldset><legend><b><FONT size="4pt">Veuillez choisir une option :</FONT></b></legend> <br></br> <TABLE BORDER="2" cellpadding="12" cellspacing="10"> <TR> <TH> <form method="post" action="inserer.php"> <input type="submit" value="Inserer donnees"> </form> </TH> </TR> <TR> <TH> <form method="post" action="affichage.php"> <input type="submit" value="Afficher donnees"> </form> </TH> </TR> <TR> <TH> <form method="post" action="suppression.php"> <input type="submit" value="Supprimer donnees"> </form> </TH> </TR> </TABLE></fieldset> </center> <?php elseif ($user_infos['Statut'] == "Membre") { ?> <br></br> <center> <fieldset><legend><b><FONT size="4pt">Veuillez choisir une option :</FONT></b></legend> <br></br> <TABLE BORDER="2" cellpadding="12" cellspacing="10"> <TR> <TH> <form method="post" action="inserer.php"> <input type="submit" value="Inserer donnees"> </form> </TH> </TR> <TR> <TH> <form method="post" action="affichage.php"> <input type="submit" value="Afficher donnees"> </form> </TH> </TR> </TABLE></fieldset> </center> <?php }}} ?>
EDIT : J'ai encore corrigé une ligne
Même une feuille de papier est plus légère si on la porte à deux.
Ha oui mais c'est logique ! ^-^
Si tu n'as pas de WHERE dans ta requête tu risques à coup sûr de toujours prendre la première ligne de ta table !!
Jisig
Même une feuille de papier est plus légère si on la porte à deux.
$verif_query = sprintf("SELECT * FROM inscription ");
Si tu n'as pas de WHERE dans ta requête tu risques à coup sûr de toujours prendre la première ligne de ta table !!
Jisig
Même une feuille de papier est plus légère si on la porte à deux.
mmh bon je vais te faire un petit formulaire :
ensuite dans ta page
Tu peux déjà tester ça !
<form action='nom_de_la_page_ou_tu_l_envoies.php' method='post'> <input type='text' name='pseudo'/> <input type='submit' value='envoyer'/> </form>
ensuite dans ta page
$verif_query = sprintf("SELECT * FROM inscription WHERE Pseudo = " . $_POST['Pseudo']);
Tu peux déjà tester ça !
Donc si j'ai bien compris tu dois juste changer ta requête comme cela
Même une feuille de papier est plus légère si on la porte à deux.
$verif_query = sprintf("SELECT * FROM inscription WHERE Pseudo = " . $_SESSION['Pseudo']);
Même une feuille de papier est plus légère si on la porte à deux.
J'ai fais ça :
session_start(); //affichage des données: echo "Vous etes connecte en tant que : {$_SESSION['Pseudo']}"; // Connexion au serveur $hostname= "localhost"; $database = "azerty"; $username= "root"; $password= "azerty"; $db = mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR); $pseudo = $_SESSION['Pseudo']; // Récupération des données depuis la base de données mysql_select_db($database, $db); $verif_query = sprintf("SELECT * FROM inscription where Pseudo = '$pseudo'"); $verif = mysql_query($verif_query, $db) or die(mysql_error()); $user_infos = mysql_fetch_assoc($verif); $results = mysql_num_rows($verif); if ($results) { $_SESSION['Pseudo'] = $user_infos['Pseudo']; if ($user_infos['Statut'] == "Administrateur") {