Problème avec un tuto pour réaliser un forum.
luluwebmaster
Messages postés
409
Date d'inscription
Statut
Membre
Dernière intervention
-
luluwebmaster Messages postés 409 Date d'inscription Statut Membre Dernière intervention -
luluwebmaster Messages postés 409 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai suivie le tuto ici :
https://openclassrooms.com/fr/courses
Mais je rencontre un problème au niveau de mes pages "inscription" "connection" quand je les tests, il me met ça :
( ! ) Parse error: syntax error, unexpected T_ELSE in C:\wamp\www\test_forum\forum\register.php on line 43
Les codes de chaque pages :
connextion.php :
register.php :
functions.php :
constants.php :
Merci d'avance a celui qui saura me repondre.
j'ai suivie le tuto ici :
https://openclassrooms.com/fr/courses
Mais je rencontre un problème au niveau de mes pages "inscription" "connection" quand je les tests, il me met ça :
( ! ) Parse error: syntax error, unexpected T_ELSE in C:\wamp\www\test_forum\forum\register.php on line 43
Les codes de chaque pages :
connextion.php :
<?php session_start(); $titre="Connexion"; include("includes/identifiants.php"); include("includes/debut.php"); include("includes/menu.php"); echo '<p><i>Vous êtes ici</i> : <a href="./index.php">Index du forum</a> --> Connexion'; ?> <?php echo '<h1>Connexion</h1>'; if ($id!=0) erreur(ERR_IS_CO); ?> <?php exit('<div id="error"><p>'.$mess.'</p> <p>Cliquez <a href="./index.php">ici</a> pour revenir à la page d\'accueil</p></div></div></body></html>'); ?> <?php if (!isset($_POST['pseudo'])) //On est dans la page de formulaire { echo '<form method="post" action="connexion.php"> <fieldset> <legend>Connexion</legend> <p> <label for="pseudo">Pseudo :</label><input name="pseudo" type="text" id="pseudo" /><br /> <label for="password">Mot de Passe :</label><input type="password" name="password" id="password" /> </p> </fieldset> <p><input type="submit" value="Connexion" /></p></form> <a href="./register.php">Pas encore inscrit ?</a> </div> </body> </html>'; } ?> <?php //On reprend la suite du code else { $message=''; if (empty($_POST['pseudo']) || empty($_POST['password']) ) //Oublie d'un champ { $message = '<p>une erreur s\'est produite pendant votre identification. Vous devez remplir tous les champs</p> <p>Cliquez <a href="./connexion.php">ici</a> pour revenir</p>'; } else //On check le mot de passe { $query=$db->prepare('SELECT membre_mdp, membre_id, membre_rang, membre_pseudo FROM forum_membres WHERE membre_pseudo = :pseudo'); $query->bindValue(':pseudo',$_POST['pseudo'], PDO::PARAM_STR); $query->execute(); $data=$query->fetch(); if ($data['membre_mdp'] == md5($_POST['password'])) // Acces OK ! { $_SESSION['pseudo'] = $data['membre_pseudo']; $_SESSION['level'] = $data['membre_rang']; $_SESSION['id'] = $data['membre_id']; $message = '<p>Bienvenue '.$data['membre_pseudo'].', vous êtes maintenant connecté!</p> <p>Cliquez <a href="./index.php">ici</a> pour revenir à la page d accueil</p>'; } else // Acces pas OK ! { $message = '<p>Une erreur s\'est produite pendant votre identification.<br /> Le mot de passe ou le pseudo entré n\'est pas correcte.</p><p>Cliquez <a href="./connexion.php">ici</a> pour revenir à la page précédente <br /><br />Cliquez <a href="./index.php">ici</a> pour revenir à la page d accueil</p>'; } $query->CloseCursor(); } echo $message.'</div></body></html>'; } ?>
register.php :
<?php session_start(); $titre="Enregistrement"; include("includes/identifiants.php"); include("includes/debut.php"); include("includes/menu.php"); echo '<p><i>Vous êtes ici</i> : <a href="./index.php">Index du forum</a> --> Enregistrement'; if ($id!=0) erreur(ERR_IS_CO); ?> <?php if (empty($_POST['pseudo'])) // Si on la variable est vide, on peut considérer qu'on est sur la page de formulaire { echo '<h1>Inscription 1/2</h1>'; echo '<form method="post" action="register.php" enctype="multipart/form-data"> <fieldset><legend>Identifiants</legend> <label for="pseudo">* Pseudo :</label> <input name="pseudo" type="text" id="pseudo" /> (le pseudo doit contenir entre 3 et 15 caractères)<br /> <label for="password">* Mot de Passe :</label><input type="password" name="password" id="password" /><br /> <label for="confirm">* Confirmer le mot de passe :</label><input type="password" name="confirm" id="confirm" /> </fieldset> <fieldset><legend>Contacts</legend> <label for="email">* Votre adresse Mail :</label><input type="text" name="email" id="email" /><br /> <label for="msn">Votre adresse MSN :</label><input type="text" name="msn" id="msn" /><br /> <label for="website">Votre site web :</label><input type="text" name="website" id="website" /> </fieldset> <fieldset><legend>Informations supplémentaires</legend> <label for="localisation">Localisation :</label><input type="text" name="localisation" id="localisation" /> </fieldset> <fieldset><legend>Profil sur le forum</legend> <label for="avatar">Choisissez votre avatar :</label><input type="file" name="avatar" id="avatar" />(Taille max : 10Ko<br /> <label for="signature">Signature :</label><textarea cols="40" rows="4" name="signature" id="signature">La signature est limitée à 200 caractères</textarea> </fieldset> <p>Les champs précédés d un * sont obligatoires</p> <p><input type="submit" value="S\'inscrire" /></p></form> </div> </body> </html>'; } //Fin de la partie formulaire ?> <?php else //On est dans le cas traitement { $pseudo_erreur1 = NULL; $pseudo_erreur2 = NULL; $mdp_erreur = NULL; $email_erreur1 = NULL; $email_erreur2 = NULL; $msn_erreur = NULL; $signature_erreur = NULL; $avatar_erreur = NULL; $avatar_erreur1 = NULL; $avatar_erreur2 = NULL; $avatar_erreur3 = NULL; ?> <?php //On récupère les variables $i = 0; $temps = time(); $pseudo=$_POST['pseudo']; $signature = $_POST['signature']; $email = $_POST['email']; $msn = $_POST['msn']; $website = $_POST['website']; $localisation = $_POST['localisation']; $pass = md5($_POST['password']); $confirm = md5($_POST['confirm']); //Vérification du pseudo $query=$db->prepare('SELECT COUNT(*) AS nbr FROM forum_membres WHERE membre_pseudo =:pseudo'); $query->bindValue(':pseudo',$pseudo, PDO::PARAM_STR); $query->execute(); $pseudo_free=($query->fetchColumn()==0)?1:0; $query->CloseCursor(); if(!$pseudo_free) { $pseudo_erreur1 = "Votre pseudo est déjà utilisé par un membre"; $i++; } if (strlen($pseudo) < 3 || strlen($pseudo) > 15) { $pseudo_erreur2 = "Votre pseudo est soit trop grand, soit trop petit"; $i++; } //Vérification du mdp if ($pass != $confirm || empty($confirm) || empty($pass)) { $mdp_erreur = "Votre mot de passe et votre confirmation diffèrent, ou sont vides"; $i++; } ?>
functions.php :
<?php function erreur($err='') { $mess=($err!='')? $err:'Une erreur inconnue s\'est produite'; exit('<p>'.$mess.'</p> <p>Cliquez <a href="./index.php">ici</a> pour revenir à la page d\'accueil</p></div></body></html>'); } ?>
constants.php :
<?php define('VISITEUR',1); define('INSCRIT',2); define('MODO',3); define('ADMIN',4); ?> <?php define('ERR_IS_CO','Vous ne pouvez pas accéder à cette page si vous n\'êtes pas connecté'); ?>
Merci d'avance a celui qui saura me repondre.
A voir également:
- Problème avec un tuto pour réaliser un forum.
- Réaliser un organigramme - Guide
- Abonnement iptv illegaal forum - Forum TV & Vidéo
- Comment ralentir un compteur linky forum - Accueil - Objets connectés
- Tuto tableau croisé dynamique - Guide
- Abonnements IPTV moin chère - Forum Box et Streaming vidéo
8 réponses
Bien sur,
voici le nouveau code du fichier connexion :
voici le nouveau code du fichier connexion :
<?php session_start(); $titre="Connexion"; include("includes/identifiants.php"); include("includes/debut.php"); include("includes/menu.php"); echo '<p><i>Vous êtes ici</i> : <a href="./index.php">Index du forum</a> --> Connexion'; echo '<h1>Connexion</h1>'; if ($id!=0) erreur(ERR_IS_CO); exit('<div id="error"><p>'.$mess.'</p> <p>Cliquez <a href="./index.php">ici</a> pour revenir à la page d\'accueil</p></div></div></body></html>'); if (!isset($_POST['pseudo'])) //On est dans la page de formulaire { echo '<form method="post" action="connexion.php"> <fieldset> <legend>Connexion</legend> <p> <label for="pseudo">Pseudo :</label><input name="pseudo" type="text" id="pseudo" /><br /> <label for="password">Mot de Passe :</label><input type="password" name="password" id="password" /> </p> </fieldset> <p><input type="submit" value="Connexion" /></p></form> <a href="./register.php">Pas encore inscrit ?</a> </div> </body> </html>'; } //On reprend la suite du code else { $message=''; if (empty($_POST['pseudo']) || empty($_POST['password']) ) //Oublie d'un champ { $message = '<p>une erreur s\'est produite pendant votre identification. Vous devez remplir tous les champs</p> <p>Cliquez <a href="./connexion.php">ici</a> pour revenir</p>'; } else //On check le mot de passe { $query=$db->prepare('SELECT membre_mdp, membre_id, membre_rang, membre_pseudo FROM forum_membres WHERE membre_pseudo = :pseudo'); $query->bindValue(':pseudo',$_POST['pseudo'], PDO::PARAM_STR); $query->execute(); $data=$query->fetch(); if ($data['membre_mdp'] == md5($_POST['password'])) // Acces OK ! { $_SESSION['pseudo'] = $data['membre_pseudo']; $_SESSION['level'] = $data['membre_rang']; $_SESSION['id'] = $data['membre_id']; $message = '<p>Bienvenue '.$data['membre_pseudo'].', vous êtes maintenant connecté!</p> <p>Cliquez <a href="./index.php">ici</a> pour revenir à la page d accueil</p>'; } else // Acces pas OK ! { $message = '<p>Une erreur s\'est produite pendant votre identification.<br /> Le mot de passe ou le pseudo entré n\'est pas correcte.</p><p>Cliquez <a href="./connexion.php">ici</a> pour revenir à la page précédente <br /><br />Cliquez <a href="./index.php">ici</a> pour revenir à la page d accueil</p>'; } $query->CloseCursor(); } echo $message.'</div></body></html>'; } ?>
C'est bon, ça marche,
il fallait enlever se code :
Par contre, j'ai un autre problème :
lorsque j'essais de m'enregistrer, quand je clique sur le bouton enregistrer, ça me met ça :
Vous êtes ici : Index du forum --> Enregistrement
et ça ne m'enregistre pas.
il fallait enlever se code :
exit('<div id="error"><p>'.$mess.'</p> <p>Cliquez <a href="./index.php">ici</a> pour revenir à la page d\'accueil</p></div></div></body></html>');
Par contre, j'ai un autre problème :
lorsque j'essais de m'enregistrer, quand je clique sur le bouton enregistrer, ça me met ça :
Vous êtes ici : Index du forum --> Enregistrement
et ça ne m'enregistre pas.
Bon problème resolu pour le message, mais j'ai un nouveau problème :
Quand je veux m'inscrire, il m'affiche des erreur en bas, alors que je n'ai même pas cliquer sur le bouton enregistrer ...
Voici le code register :
Quand je veux m'inscrire, il m'affiche des erreur en bas, alors que je n'ai même pas cliquer sur le bouton enregistrer ...
Voici le code register :
<?php error_reporting(E_ERROR | E_WARNING | E_PARSE); session_start(); $titre="Enregistrement"; include("includes/identifiants.php"); include("includes/debut.php"); include("includes/menu.php"); echo '<p><i>Vous êtes ici</i> : <a href="./index.php">Index du forum</a> --> Enregistrement'; if (empty($_POST['pseudo'])) // Si on la variable est vide, on peut considérer qu'on est sur la page de formulaire { echo '<h1>Inscription 1/2</h1>'; echo '<form method="post" action="register.php" enctype="multipart/form-data"> <fieldset><legend>Identifiants</legend> <label for="pseudo">* Pseudo :</label> <input name="pseudo" type="text" id="pseudo" /> (le pseudo doit contenir entre 3 et 15 caractères)<br /> <label for="password">* Mot de Passe :</label><input type="password" name="password" id="password" /><br /> <label for="confirm">* Confirmer le mot de passe :</label><input type="password" name="confirm" id="confirm" /> </fieldset> <fieldset><legend>Contacts</legend> <label for="email">* Votre adresse Mail :</label><input type="text" name="email" id="email" /><br /> <label for="msn">Votre adresse MSN :</label><input type="text" name="msn" id="msn" /><br /> <label for="website">Votre site web :</label><input type="text" name="website" id="website" /> </fieldset> <fieldset><legend>Informations supplémentaires</legend> <label for="localisation">Localisation :</label><input type="text" name="localisation" id="localisation" /> </fieldset> <fieldset><legend>Profil sur le forum</legend> <label for="avatar">Choisissez votre avatar :</label><input type="file" name="avatar" id="avatar" />(Taille max : 10Ko<br /> <label for="signature">Signature :</label><textarea cols="40" rows="4" name="signature" id="signature">La signature est limitée à 200 caractères</textarea> </fieldset> <label>Se souvenir de moi ?</label><input type="checkbox" name="souvenir" /><br /> <p>Les champs précédés d un * sont obligatoires</p> <p><input type="submit" value="S\'inscrire" /></p></form> </div> </body> </html>'; } //Fin de la partie formulaire else //On est dans le cas traitement { $pseudo_erreur1 = NULL; $pseudo_erreur2 = NULL; $mdp_erreur = NULL; $email_erreur1 = NULL; $email_erreur2 = NULL; $msn_erreur = NULL; $signature_erreur = NULL; $avatar_erreur = NULL; $avatar_erreur1 = NULL; $avatar_erreur2 = NULL; $avatar_erreur3 = NULL; } { //On récupère les variables $i = 0; $temps = time(); $pseudo=$_POST['pseudo']; $signature = $_POST['signature']; $email = $_POST['email']; $msn = $_POST['msn']; $website = $_POST['website']; $localisation = $_POST['localisation']; $pass = md5($_POST['password']); $confirm = md5($_POST['confirm']); //Vérification du pseudo $query=$db->prepare('SELECT COUNT(*) AS nbr FROM forum_membres WHERE membre_pseudo =:pseudo'); $query->bindValue(':pseudo',$pseudo, PDO::PARAM_STR); $query->execute(); $pseudo_free=($query->fetchColumn()==0)?1:0; $query->CloseCursor(); if(!$pseudo_free) { $pseudo_erreur1 = "Votre pseudo est déjà utilisé par un membre"; $i++; } if (strlen($pseudo) < 3 || strlen($pseudo) > 15) { $pseudo_erreur2 = "Votre pseudo est soit trop grand, soit trop petit"; $i++; } //Vérification du mdp if ($pass != $confirm || empty($confirm) || empty($pass)) { $mdp_erreur = "Votre mot de passe et votre confirmation diffèrent, ou sont vides"; $i++; } $query=$db->prepare('SELECT COUNT(*) AS nbr FROM forum_membres WHERE membre_pseudo =:pseudo'); $query->bindValue(':pseudo',$pseudo, PDO::PARAM_STR); $query->execute(); $pseudo_free=($query->fetchColumn()==0)?1:0; //Vérification de l'adresse email //Il faut que l'adresse email n'ait jamais été utilisée $query=$db->prepare('SELECT COUNT(*) AS nbr FROM forum_membres WHERE membre_email =:mail'); $query->bindValue(':mail',$email, PDO::PARAM_STR); $query->execute(); $mail_free=($query->fetchColumn()==0)?1:0; $query->CloseCursor(); if(!$mail_free) { $email_erreur1 = "Votre adresse email est déjà utilisée par un membre"; $i++; } //On vérifie la forme maintenant if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $email) || empty($email)) { $email_erreur2 = "Votre adresse E-Mail n'a pas un format valide"; $i++; } //Vérification de l'adresse MSN if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $msn) && !empty($msn)) { $msn_erreur = "Votre adresse MSN n'a pas un format valide"; $i++; } //Vérification de la signature if (strlen($signature) > 200) { $signature_erreur = "Votre signature est trop longue"; $i++; } //Vérification de l'avatar : if (!empty($_FILES['avatar']['size'])) { //On définit les variables : $maxsize = 10024; //Poid de l'image $maxwidth = 100; //Largeur de l'image $maxheight = 100; //Longueur de l'image $extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides if ($_FILES['avatar']['error'] > 0) { $avatar_erreur = "Erreur lors du transfert de l'avatar : "; } if ($_FILES['avatar']['size'] > $maxsize) { $i++; $avatar_erreur1 = "Le fichier est trop gros : (<strong>".$_FILES['avatar']['size']." Octets</strong> contre <strong>".$maxsize." Octets</strong>)"; } $image_sizes = getimagesize($_FILES['avatar']['tmp_name']); if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight) { $i++; $avatar_erreur2 = "Image trop large ou trop longue : (<strong>".$image_sizes[0]."x".$image_sizes[1]."</strong> contre <strong>".$maxwidth."x".$maxheight."</strong>)"; } $extension_upload = strtolower(substr( strrchr($_FILES['avatar']['name'], '.') ,1)); if (!in_array($extension_upload,$extensions_valides) ) { $i++; $avatar_erreur3 = "Extension de l'avatar incorrecte"; } } if ($i==0) { echo'<h1>Inscription terminée</h1>'; echo'<p>Bienvenue '.stripslashes(htmlspecialchars($_POST['pseudo'])).' vous êtes maintenant inscrit sur le forum</p> <p>Cliquez <a href="./index.php">ici</a> pour revenir à la page d accueil</p>'; //La ligne suivante sera commentée plus bas $nomavatar=(!empty($_FILES['avatar']['size']))?move_avatar($_FILES['avatar']):''; $query=$db->prepare('INSERT INTO forum_membres (membre_pseudo, membre_mdp, membre_email, membre_msn, membre_siteweb, membre_avatar, membre_signature, membre_localisation, membre_inscrit, membre_derniere_visite) VALUES (:pseudo, :pass, :email, :msn, :website, :nomavatar, :signature, :localisation, :temps, :temps)'); $query->bindValue(':pseudo', $pseudo, PDO::PARAM_STR); $query->bindValue(':pass', $pass, PDO::PARAM_INT); $query->bindValue(':email', $email, PDO::PARAM_STR); $query->bindValue(':msn', $msn, PDO::PARAM_STR); $query->bindValue(':website', $website, PDO::PARAM_STR); $query->bindValue(':nomavatar', $nomavatar, PDO::PARAM_STR); $query->bindValue(':signature', $signature, PDO::PARAM_STR); $query->bindValue(':localisation', $localisation, PDO::PARAM_STR); $query->bindValue(':temps', $temps, PDO::PARAM_INT); $query->execute(); //Et on définit les variables de sessions $_SESSION['pseudo'] = $pseudo; $_SESSION['id'] = $db->lastInsertId(); ; $_SESSION['level'] = 2; $query->CloseCursor(); } else { echo'<h1>Inscription interrompue</h1>'; echo'<p>Une ou plusieurs erreurs se sont produites pendant l incription</p>'; echo'<p>'.$i.' erreur(s)</p>'; echo'<p>'.$pseudo_erreur1.'</p>'; echo'<p>'.$pseudo_erreur2.'</p>'; echo'<p>'.$mdp_erreur.'</p>'; echo'<p>'.$email_erreur1.'</p>'; echo'<p>'.$email_erreur2.'</p>'; echo'<p>'.$msn_erreur.'</p>'; echo'<p>'.$signature_erreur.'</p>'; echo'<p>'.$avatar_erreur.'</p>'; echo'<p>'.$avatar_erreur1.'</p>'; echo'<p>'.$avatar_erreur2.'</p>'; echo'<p>'.$avatar_erreur3.'</p>'; echo'<p>Cliquez <a href="./register.php">ici</a> pour recommencer</p>'; } } ?> </div> </body> </html>
Bon,
la je suis a cette partie du tuto :
https://openclassrooms.com/fr/courses
Je rencontre un nouveau problème,
quand je met le code de traitement pour modifier le profil j'ai se message d'erreur :
( ! ) Parse error: syntax error, unexpected T_ELSE in C:\wamp\www\test_forum\forum\voirprofil.php on line 138
Voici le code avec le traitement :
En tout cas, merci pour tout l'aide que vous m'avez apporté déjà ^^
la je suis a cette partie du tuto :
https://openclassrooms.com/fr/courses
Je rencontre un nouveau problème,
quand je met le code de traitement pour modifier le profil j'ai se message d'erreur :
( ! ) Parse error: syntax error, unexpected T_ELSE in C:\wamp\www\test_forum\forum\voirprofil.php on line 138
Voici le code avec le traitement :
<?php session_start(); $titre="Profil"; include("includes/identifiants.php"); include("includes/debut.php"); include("includes/menu.php"); //On récupère la valeur de nos variables passées par URL $action = isset($_GET['action'])?htmlspecialchars($_GET['action']):'consulter'; $membre = isset($_GET['m'])?(int) $_GET['m']:''; //On regarde la valeur de la variable $action switch($action) { //Si c'est "consulter" case "consulter": //On récupère les infos du membre $query=$db->prepare('SELECT membre_pseudo, membre_avatar, membre_email, membre_msn, membre_signature, membre_siteweb, membre_post, membre_inscrit, membre_localisation FROM forum_membres WHERE membre_id=:membre'); $query->bindValue(':membre',$membre, PDO::PARAM_INT); $query->execute(); $data=$query->fetch(); //On affiche les infos sur le membre echo '<p><i>Vous êtes ici</i> : <a href="./index.php">Index du forum</a> --> profil de '.stripslashes(htmlspecialchars($data['membre_pseudo'])); echo'<h1>Profil de '.stripslashes(htmlspecialchars($data['membre_pseudo'])).'</h1>'; echo'<img src="./images/avatars/'.$data['membre_avatar'].'" alt="Ce membre n a pas d avatar" />'; echo'<p><strong>Adresse E-Mail : </strong> <a href="mailto:'.stripslashes($data['membre_email']).'"> '.stripslashes(htmlspecialchars($data['membre_email'])).'</a><br />'; echo'<strong>MSN Messenger : </strong>'.stripslashes(htmlspecialchars($data['membre_msn'])).'<br />'; echo'<strong>Site Web : </strong> <a href="'.stripslashes($data['membre_siteweb']).'">'.stripslashes(htmlspecialchars($data['membre_siteweb'])).'</a> <br /><br />'; echo'Ce membre est inscrit depuis le <strong>'.date('d/m/Y',$data['membre_inscrit']).'</strong> et a posté <strong>'.$data['membre_post'].'</strong> messages <br /><br />'; echo'<strong>Localisation : </strong>'.stripslashes(htmlspecialchars($data['membre_localisation'])).' </p>'; $query->CloseCursor(); break; //Si on choisit de modifier son profil case "modifier": if (empty($_POST['sent'])) // Si on la variable est vide, on peut considérer qu'on est sur la page de formulaire { //On commence par s'assurer que le membre est connecté if ($id==0) erreur(ERR_IS_NOT_CO); //On prend les infos du membre $query=$db->prepare('SELECT membre_pseudo, membre_email, membre_siteweb, membre_signature, membre_msn, membre_localisation, membre_avatar FROM forum_membres WHERE membre_id=:id'); $query->bindValue(':id',$id,PDO::PARAM_INT); $query->execute(); $data=$query->fetch(); echo '<p><i>Vous êtes ici</i> : <a href="./index.php">Index du forum</a> --> Modification du profil'; echo '<h1>Modifier son profil</h1>'; echo '<form method="post" action="voirprofil.php?action=modifier" enctype="multipart/form-data"> <fieldset><legend>Identifiants</legend> Pseudo : <strong>'.stripslashes(htmlspecialchars($data['membre_pseudo'])).'</strong><br /> <label for="password">Nouveau mot de Passe :</label> <input type="password" name="password" id="password" /><br /> <label for="confirm">Confirmer le mot de passe :</label> <input type="password" name="confirm" id="confirm" /> </fieldset> <fieldset><legend>Contacts</legend> <label for="email">Votre adresse E_Mail :</label> <input type="text" name="email" id="email" value="'.stripslashes($data['membre_email']).'" /><br /> <label for="msn">Votre adresse MSN :</label> <input type="text" name="msn" id="msn" value="'.stripslashes($data['membre_msn']).'" /><br /> <label for="website">Votre site web :</label> <input type="text" name="website" id="website" value="'.stripslashes($data['membre_siteweb']).'" /><br /> </fieldset> <fieldset><legend>Informations supplémentaires</legend> <label for="localisation">Localisation :</label> <input type="text" name="localisation" id="localisation" value="'.stripslashes($data['membre_localisation']).'" /><br /> </fieldset> <fieldset><legend>Profil sur le forum</legend> <label for="avatar">Changer votre avatar :</label> <input type="file" name="avatar" id="avatar" /> (Taille max : 10 ko)<br /><br /> <label><input type="checkbox" name="delete" value="Delete" /> Supprimer l avatar</label> Avatar actuel : <img src="./images/avatars/'.$data['membre_avatar'].'" alt="pas d avatar" /> <br /><br /> <label for="signature">Signature :</label> <textarea cols="40" rows="4" name="signature" id="signature"> '.stripslashes($data['membre_signature']).'</textarea> </fieldset> <p> <input type="submit" value="Modifier son profil" /> <input type="hidden" id="sent" name="sent" value="1" /> </p></form>'; $query->CloseCursor(); } else //Sinon on est dans la page de traitement { //Traitement (voir plus bas) } break; default; //Si jamais c'est aucun de ceux-là c'est qu'il y a eu un problème :o echo'<p>Cette action est impossible</p>'; } //Fin du switch ?> <?php else //Cas du traitement { //On déclare les variables $mdp_erreur = NULL; $email_erreur1 = NULL; $email_erreur2 = NULL; $msn_erreur = NULL; $signature_erreur = NULL; $avatar_erreur = NULL; $avatar_erreur1 = NULL; $avatar_erreur2 = NULL; $avatar_erreur3 = NULL; //Encore et toujours notre belle variable $i :p $i = 0; $temps = time(); $signature = $_POST['signature']; $email = $_POST['email']; $msn = $_POST['msn']; $website = $_POST['website']; $localisation = $_POST['localisation']; $pass = md5($_POST['password']); $confirm = md5($_POST['confirm']); //Vérification du mdp if ($pass != $confirm || empty($confirm) || empty($pass)) { $mdp_erreur = "Votre mot de passe et votre confirmation diffèrent ou sont vides"; $i++; } //Vérification de l'adresse email //Il faut que l'adresse email n'ait jamais été utilisée (sauf si elle n'a pas été modifiée) //On commence donc par récupérer le mail $query=$db->prepare('SELECT membre_email FROM forum_membres WHERE membre_id =:id'); $query->bindValue(':id',$id,PDO::PARAM_INT); $query->execute(); $data=$query->fetch(); if (strtolower($data['membre_email']) != strtolower($email)) { //Il faut que l'adresse email n'ait jamais été utilisée $query=$db->prepare('SELECT COUNT(*) AS nbr FROM forum_membres WHERE membre_email =:mail'); $query->bindValue(':mail',$email,PDO::PARAM_STR); $query->execute(); $mail_free=($query->fetchColumn()==0)?1:0; $query->CloseCursor(); if(!$mail_free) { $email_erreur1 = "Votre adresse email est déjà utilisé par un membre"; $i++; } //On vérifie la forme maintenant if (!preg_match("#^[a-z0-9A-Z._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $email) || empty($email)) { $email_erreur2 = "Votre nouvelle adresse E-Mail n'a pas un format valide"; $i++; } } //Vérification de l'adresse MSN if (!preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $msn) && !empty($msn)) { $msn_erreur = "Votre nouvelle adresse MSN n'a pas un format valide"; $i++; } //Vérification de la signature if (strlen($signature) > 200) { $signature_erreur = "Votre nouvelle signature est trop longue"; $i++; } //Vérification de l'avatar if (!empty($_FILES['avatar']['size'])) { //On définit les variables : $maxsize = 30072; //Poid de l'image $maxwidth = 100; //Largeur de l'image $maxheight = 100; //Longueur de l'image //Liste des extensions valides $extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); if ($_FILES['avatar']['error'] > 0) { $avatar_erreur = "Erreur lors du tranfsert de l'avatar : "; } if ($_FILES['avatar']['size'] > $maxsize) { $i++; $avatar_erreur1 = "Le fichier est trop gros : (<strong>".$_FILES['avatar']['size']." Octets</strong> contre <strong>".$maxsize." Octets</strong>)"; } $image_sizes = getimagesize($_FILES['avatar']['tmp_name']); if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight) { $i++; $avatar_erreur2 = "Image trop large ou trop longue : (<strong>".$image_sizes[0]."x".$image_sizes[1]."</strong> contre <strong>".$maxwidth."x".$maxheight."</strong>)"; } $extension_upload = strtolower(substr( strrchr($_FILES['avatar']['name'], '.') ,1)); if (!in_array($extension_upload,$extensions_valides) ) { $i++; $avatar_erreur3 = "Extension de l'avatar incorrecte"; } } ?> </div> </body> </html> <?php echo '<p><i>Vous êtes ici</i> : <a href="./index.php">Index du forum</a> --> Modification du profil'; echo '<h1>Modification d\'un profil</h1>'; if ($i == 0) // Si $i est vide, il n'y a pas d'erreur { if (!empty($_FILES['avatar']['size'])) { $nomavatar=move_avatar($_FILES['avatar']); $query=$db->prepare('UPDATE forum_membres SET membre_avatar = :avatar WHERE membre_id = :id'); $query->bindValue(':avatar',$nomavatar,PDO::PARAM_STR); $query->bindValue(':id',$id,PDO::PARAM_INT); $query->execute(); $query->CloseCursor(); } //Une nouveauté ici : on peut choisis de supprimer l'avatar if (isset($_POST['delete'])) { $query=$db->prepare('UPDATE forum_membres SET membre_avatar=0 WHERE membre_id = :id'); $query->bindValue(':id',$id,PDO::PARAM_INT); $query->execute(); $query->CloseCursor(); } echo'<h1>Modification terminée</h1>'; echo'<p>Votre profil a été modifié avec succès !</p>'; echo'<p>Cliquez <a href="./index.php">ici</a> pour revenir à la page d accueil</p>'; //On modifie la table $query=$db->prepare('UPDATE forum_membres SET membre_mdp = :mdp, membre_email=:mail, membre_msn=:msn, membre_siteweb=:website, membre_signature=:sign, membre_localisation=:loc WHERE membre_id=:id'); $query->bindValue(':mdp',$pass,PDO::PARAM_INT); $query->bindValue(':mail',$email,PDO::PARAM_STR); $query->bindValue(':msn',$msn,PDO::PARAM_STR); $query->bindValue(':website',$website,PDO::PARAM_STR); $query->bindValue(':sign',$signature,PDO::PARAM_STR); $query->bindValue(':loc',$localisation,PDO::PARAM_STR); $query->bindValue(':id',$id,PDO::PARAM_INT); $query->execute(); $query->CloseCursor(); } else { echo'<h1>Modification interrompue</h1>'; echo'<p>Une ou plusieurs erreurs se sont produites pendant la modification du profil</p>'; echo'<p>'.$i.' erreur(s)</p>'; echo'<p>'.$mdp_erreur.'</p>'; echo'<p>'.$email_erreur1.'</p>'; echo'<p>'.$email_erreur2.'</p>'; echo'<p>'.$msn_erreur.'</p>'; echo'<p>'.$signature_erreur.'</p>'; echo'<p>'.$avatar_erreur.'</p>'; echo'<p>'.$avatar_erreur1.'</p>'; echo'<p>'.$avatar_erreur2.'</p>'; echo'<p>'.$avatar_erreur3.'</p>'; echo'<p> Cliquez <a href="./voirprofil.php?action=modifier">ici</a> pour recommencer</p>'; } } //Fin du else break; default; //Si jamais c'est aucun de ceux là c'est qu'il y a eu un problème :o echo'<p>Cette action est impossible</p>'; } //Fin du switch ?> </div> </body> </html> </html>
En tout cas, merci pour tout l'aide que vous m'avez apporté déjà ^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je remarque que j'ai énormément de problème avec ce tuto, maintenant, j'ai une erreur :
( ! ) Parse error: syntax error, unexpected '<' in C:\wamp\www\test_forum\forum\voirtopic.php on line 94
qui correspond a cette page :
voirtopic.php
sont code :
( ! ) Parse error: syntax error, unexpected '<' in C:\wamp\www\test_forum\forum\voirtopic.php on line 94
qui correspond a cette page :
voirtopic.php
sont code :
<?php error_reporting(E_ERROR | E_WARNING | E_PARSE); session_start(); $titre="Voir un sujet"; include("includes/identifiants.php"); include("includes/debut.php"); include("includes/menu.php"); include("includes/bbcode.php"); //On verra plus tard ce qu'est ce fichier //On récupère la valeur de t $topic = (int) $_GET['t']; //A partir d'ici, on va compter le nombre de messages pour n'afficher que les 15 premiers $query=$db->prepare('SELECT topic_titre, topic_post, forum_topic.forum_id, topic_last_post, forum_name, auth_view, auth_topic, auth_post FROM forum_topic LEFT JOIN forum_forum ON forum_topic.forum_id = forum_forum.forum_id WHERE topic_id = :topic'); $query->bindValue(':topic',$topic,PDO::PARAM_INT); $query->execute(); $data=$query->fetch(); $forum=$data['forum_id']; $totalDesMessages = $data['topic_post'] + 1; $nombreDeMessagesParPage = 15; $nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage); echo '<p><i>Vous êtes ici</i> : <a href="./index.php">Index du forum</a> --> <a href="./voirforum.php?f='.$forum.'">'.stripslashes(htmlspecialchars($data['forum_name'])).'</a> --> <a href="./voirtopic.php?t='.$topic.'">'.stripslashes(htmlspecialchars($data['topic_titre'])).'</a>'; echo '<h1>'.stripslashes(htmlspecialchars($data['topic_titre'])).'</h1><br /><br />'; //Nombre de pages $page = (isset($_GET['page']))?intval($_GET['page']):1; //On affiche les pages 1-2-3 etc... echo '<p>Page : '; for ($i = 1 ; $i <= $nombreDePages ; $i++) { if ($i == $page) //On affiche pas la page actuelle en lien { echo $i; } else { echo '<a href="voirtopic.php?t='.$topic.'&page='.$i.'"> ' . $i . '</a> '; } } echo'</p>'; $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage; //On affiche l'image répondre echo'<a href="./poster.php?action=repondre&t='.$topic.'"> <img src="./images/repondre.gif" alt="Répondre" title="Répondre à ce topic" /></a>'; //On affiche l'image nouveau topic echo'<a href="./poster.php?action=nouveautopic&f='.$data['forum_id'].'"> <img src="./images/nouveau.gif" alt="Nouveau topic" title="Poster un nouveau topic" /></a>'; $query->CloseCursor(); //Enfin on commence la boucle ! $query=$db->prepare('SELECT post_id , post_createur , post_texte , post_time , membre_id, membre_pseudo, membre_inscrit, membre_avatar, membre_localisation, membre_post, membre_signature FROM forum_post LEFT JOIN forum_membres ON forum_membres.membre_id = forum_post.post_createur WHERE topic_id =:topic ORDER BY post_id LIMIT :premier, :nombre'); $query->bindValue(':topic',$topic,PDO::PARAM_INT); $query->bindValue(':premier',(int) $premierMessageAafficher,PDO::PARAM_INT); $query->bindValue(':nombre',(int) $nombreDeMessagesParPage,PDO::PARAM_INT); $query->execute(); //On vérifie que la requête a bien retourné des messages if ($query->rowCount()<1) { echo'<p>Il n y a aucun post sur ce topic, vérifiez l url et reessayez</p>'; } else { //Si tout roule on affiche notre tableau puis on remplit avec une boucle ?> <table> <tr> <th class="vt_auteur"><strong>Auteurs</strong></th> <th class="vt_mess"><strong>Messages</strong></th> </tr> <?php while ($data = $query->fetch()) { <?php //On commence à afficher le pseudo du créateur du message : //On vérifie les droits du membre //(partie du code commentée plus tard) echo'<tr><td><strong> <a href="./voirprofil.php?m='.$data['membre_id'].'&action=consulter"> '.stripslashes(htmlspecialchars($data['membre_pseudo'])).'</a></strong></td>'; /* Si on est l'auteur du message, on affiche des liens pour Modérer celui-ci. Les modérateurs pourront aussi le faire, il faudra donc revenir sur ce code un peu plus tard ! */ if ($id == $data['post_createur']) { echo'<td id=p_'.$data['post_id'].'>Posté à '.date('H\hi \l\e d M y',$data['post_time']).' <a href="./poster.php?p='.$data['post_id'].'&action=delete"> <img src="./images/supprimer.gif" alt="Supprimer" title="Supprimer ce message" /></a> <a href="./poster.php?p='.$data['post_id'].'&action=edit"> <img src="./images/editer.gif" alt="Editer" title="Editer ce message" /></a></td></tr>'; } else { echo'<td> Posté à '.date('H\hi \l\e d M y',$data['post_time']).' </td></tr>'; } //Détails sur le membre qui a posté echo'<tr><td> <img src="./images/avatars/'.$data['membre_avatar'].'" alt="" /> <br />Membre inscrit le '.date('d/m/Y',$data['membre_inscrit']).' <br />Messages : '.$data['membre_post'].'<br /> Localisation : '.stripslashes(htmlspecialchars($data['membre_localisation'])).'</td>'; //Message echo'<td>'.code(nl2br(stripslashes(htmlspecialchars($data['post_texte'])))).' <br /><hr />'.code(nl2br(stripslashes(htmlspecialchars($data['membre_signature'])))).'</td></tr>'; } //Fin de la boucle ! \o/ $query->CloseCursor(); ?> </table> <?php echo '<p>Page : '; for ($i = 1 ; $i <= $nombreDePages ; $i++) { if ($i == $page) //On affiche pas la page actuelle en lien { echo $i; } else { echo '<a href="voirtopic.php?t='.$topic.'&page='.$i.'"> ' . $i . '</a> '; } } echo'</p>'; //On ajoute 1 au nombre de visites de ce topic $query=$db->prepare('UPDATE forum_topic SET topic_vu = topic_vu + 1 WHERE topic_id = :topic'); $query->bindValue(':topic',$topic,PDO::PARAM_INT); $query->execute(); $query->CloseCursor(); } //Fin du if qui vérifiait si le topic contenait au moins un message ?> </div> </body> </html>
Encore une erreur, mais cette fois quand on veux voir un sujet :
( ! ) Fatal error: Call to undefined function code() in C:\wamp\www\test_forum\forum\voirtopic.php on line 131
Call Stack
# Time Memory Function Location
1 0.0040 409296 {main}( ) ..\voirtopic.php:0
Code du fichier voirtopic.php :
( ! ) Fatal error: Call to undefined function code() in C:\wamp\www\test_forum\forum\voirtopic.php on line 131
Call Stack
# Time Memory Function Location
1 0.0040 409296 {main}( ) ..\voirtopic.php:0
Code du fichier voirtopic.php :
<?php error_reporting(E_ERROR | E_WARNING | E_PARSE); session_start(); $titre="Voir un sujet"; include("includes/identifiants.php"); include("includes/debut.php"); include("includes/menu.php"); include("includes/bbcode.php"); //On verra plus tard ce qu'est ce fichier //On récupère la valeur de t $topic = (int) $_GET['t']; //A partir d'ici, on va compter le nombre de messages pour n'afficher que les 15 premiers $query=$db->prepare('SELECT topic_titre, topic_post, forum_topic.forum_id, topic_last_post, forum_name, auth_view, auth_topic, auth_post FROM forum_topic LEFT JOIN forum_forum ON forum_topic.forum_id = forum_forum.forum_id WHERE topic_id = :topic'); $query->bindValue(':topic',$topic,PDO::PARAM_INT); $query->execute(); $data=$query->fetch(); $forum=$data['forum_id']; $totalDesMessages = $data['topic_post'] + 1; $nombreDeMessagesParPage = 15; $nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage); echo '<p><i>Vous êtes ici</i> : <a href="./index.php">Index du forum</a> --> <a href="./voirforum.php?f='.$forum.'">'.stripslashes(htmlspecialchars($data['forum_name'])).'</a> --> <a href="./voirtopic.php?t='.$topic.'">'.stripslashes(htmlspecialchars($data['topic_titre'])).'</a>'; echo '<h1>'.stripslashes(htmlspecialchars($data['topic_titre'])).'</h1><br /><br />'; //Nombre de pages $page = (isset($_GET['page']))?intval($_GET['page']):1; //On affiche les pages 1-2-3 etc... echo '<p>Page : '; for ($i = 1 ; $i <= $nombreDePages ; $i++) { if ($i == $page) //On affiche pas la page actuelle en lien { echo $i; } else { echo '<a href="voirtopic.php?t='.$topic.'&page='.$i.'"> ' . $i . '</a> '; } } echo'</p>'; $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage; //On affiche l'image répondre echo'<a href="./poster.php?action=repondre&t='.$topic.'"> <img src="./images/40790.gif" alt="Répondre" title="Répondre à ce topic" /></a>'; //On affiche l'image nouveau topic echo'<a href="./poster.php?action=nouveautopic&f='.$data['forum_id'].'"> <img src="./images/40789.gif" alt="Nouveau topic" title="Poster un nouveau topic" /></a>'; $query->CloseCursor(); //Enfin on commence la boucle ! $query=$db->prepare('SELECT post_id , post_createur , post_texte , post_time , membre_id, membre_pseudo, membre_inscrit, membre_avatar, membre_localisation, membre_post, membre_signature FROM forum_post LEFT JOIN forum_membres ON forum_membres.membre_id = forum_post.post_createur WHERE topic_id =:topic ORDER BY post_id LIMIT :premier, :nombre'); $query->bindValue(':topic',$topic,PDO::PARAM_INT); $query->bindValue(':premier',(int) $premierMessageAafficher,PDO::PARAM_INT); $query->bindValue(':nombre',(int) $nombreDeMessagesParPage,PDO::PARAM_INT); $query->execute(); //On vérifie que la requête a bien retourné des messages if ($query->rowCount()<1) { echo'<p>Il n y a aucun post sur ce topic, vérifiez l url et reessayez</p>'; } else { //Si tout roule on affiche notre tableau puis on remplit avec une boucle ?> <table> <tr> <th class="vt_auteur"><strong>Auteurs</strong></th> <th class="vt_mess"><strong>Messages</strong></th> </tr> <?php while ($data = $query->fetch()) { //On commence à afficher le pseudo du créateur du message : //On vérifie les droits du membre //(partie du code commentée plus tard) echo'<tr><td><strong> <a href="./voirprofil.php?m='.$data['membre_id'].'&action=consulter"> '.stripslashes(htmlspecialchars($data['membre_pseudo'])).'</a></strong></td>'; /* Si on est l'auteur du message, on affiche des liens pour Modérer celui-ci. Les modérateurs pourront aussi le faire, il faudra donc revenir sur ce code un peu plus tard ! */ if ($id == $data['post_createur']) { echo'<td id=p_'.$data['post_id'].'>Posté à '.date('H\hi \l\e d M y',$data['post_time']).' <a href="./poster.php?p='.$data['post_id'].'&action=delete"> <img src="./images/supprimer.gif" alt="Supprimer" title="Supprimer ce message" /></a> <a href="./poster.php?p='.$data['post_id'].'&action=edit"> <img src="./images/editer.gif" alt="Editer" title="Editer ce message" /></a></td></tr>'; } else { echo'<td> Posté à '.date('H\hi \l\e d M y',$data['post_time']).' </td></tr>'; } //Détails sur le membre qui a posté echo'<tr><td> <img src="./images/avatars/'.$data['membre_avatar'].'" alt="" /> <br />Membre inscrit le '.date('d/m/Y',$data['membre_inscrit']).' <br />Messages : '.$data['membre_post'].'<br /> Localisation : '.stripslashes(htmlspecialchars($data['membre_localisation'])).'</td>'; //Message echo'<td>'.code(nl2br(stripslashes(htmlspecialchars($data['post_texte'])))).' <br /><hr />'.code(nl2br(stripslashes(htmlspecialchars($data['membre_signature'])))).'</td></tr>'; } //Fin de la boucle ! \o/ $query->CloseCursor(); ?> </table> <?php echo '<p>Page : '; for ($i = 1 ; $i <= $nombreDePages ; $i++) { if ($i == $page) //On affiche pas la page actuelle en lien { echo $i; } else { echo '<a href="voirtopic.php?t='.$topic.'&page='.$i.'"> ' . $i . '</a> '; } } echo'</p>'; //On ajoute 1 au nombre de visites de ce topic $query=$db->prepare('UPDATE forum_topic SET topic_vu = topic_vu + 1 WHERE topic_id = :topic'); $query->bindValue(':topic',$topic,PDO::PARAM_INT); $query->execute(); $query->CloseCursor(); } //Fin du if qui vérifiait si le topic contenait au moins un message ?> </div> </body> </html>
En effet ^^
C'est bien cela ^^
Par contre j'ai ce message :
( ! ) Fatal error: Call to undefined function code() in C:\wamp\www\test_forum\forum\voirtopic.php on line 130
Call Stack
# Time Memory Function Location
1 0.0048 408576 {main}( ) ..\voirtopic.php:0
Et je n'est pas le message que j'ai posté sur la page voirtopic.php
C'est bien cela ^^
Par contre j'ai ce message :
( ! ) Fatal error: Call to undefined function code() in C:\wamp\www\test_forum\forum\voirtopic.php on line 130
Call Stack
# Time Memory Function Location
1 0.0048 408576 {main}( ) ..\voirtopic.php:0
Et je n'est pas le message que j'ai posté sur la page voirtopic.php
J'ai encore un autre problème avec l'administration cette fois.
Je me suis mis admin sur le compte que j'ai créer, mais il y as un problème,
quand j'essais d'accéder au panneau d'admin, je ne peux pas, il met un un message d'erreur comme quoi je ne suis pas admin.
Voici le code du fichier functions.php :
Et le code du fichier admin.php :
Merci d'avance, car la je suis bien embêté ^^
Je me suis mis admin sur le compte que j'ai créer, mais il y as un problème,
quand j'essais d'accéder au panneau d'admin, je ne peux pas, il met un un message d'erreur comme quoi je ne suis pas admin.
Voici le code du fichier functions.php :
<?php function erreur($err='') { $mess=($err!='')? $err:'Une erreur inconnue s\'est produite'; exit('<p>'.$mess.'</p> <p>Cliquez <a href="./index.php">ici</a> pour revenir à la page d\'accueil</p></div></body></html>'); } function move_avatar($avatar) { $extension_upload = strtolower(substr( strrchr($avatar['name'], '.') ,1)); $name = time(); $nomavatar = str_replace(' ','',$name).".".$extension_upload; $name = "./images/avatars/".str_replace(' ','',$name).".".$extension_upload; move_uploaded_file($avatar['tmp_name'],$name); return $nomavatar; } function verif_auth($auth_necessaire) { $level=(isset($_SESSION['level']))?$_SESSION['level']:1; return ($auth_necessaire <= intval($level)); } ?>
Et le code du fichier admin.php :
<?php error_reporting(E_ERROR | E_WARNING | E_PARSE); session_start(); $titre="Administration"; $balises = true; include("includes/identifiants.php"); include("includes/debut.php"); include("includes/menu.php"); // On indique o l'on se trouve $cat = (isset($_GET['cat']))?htmlspecialchars($_GET['cat']):''; echo'<p><i>Vous êtes ici</i> : <a href="./index.php">Index du forum</a> --> <a href="./admin.php">Administration du forum</a>'; if (!verif_auth(ADMIN)) erreur(ERR_AUTH_ADMIN); switch($cat) //1er switch { case "config": //ici configuration echo'<h1>Configuration du forum</h1>'; echo '<form method="post" action="adminok.php?cat=config">'; //Le tableau associatif $config_name = array( "avatar_maxsize" => "Taille maximale de l avatar", "avatar_maxh" => "Hauteur maximale de l avatar", "avatar_maxl" => "Largeur maximale de l avatar", "sign_maxl" => "Taille maximale de la signature", "auth_bbcode_sign" => "Autoriser le bbcode dans la signature", "pseudo_maxsize" => "Taille maximale du pseudo", "pseudo_minsize" => "Taille minimale du pseudo", "topic_par_page" => "Nombre de topics par page", "post_par_page" => "Nombre de posts par page", "forum_titre" => "Titre du forum" ); $query = $db->query('SELECT config_nom, config_valeur FROM forum_config'); while($data=$query->fetch()) { echo '<p><label for='.$data['config_nom'].'>'.$config_name[$data['config_nom']].' </label> : <input type="text" id="'.$data['config_nom'].'" value="'.$data['config_valeur'].'" name="'.$data['config_nom'].'"></p>'; } echo '<p><input type="submit" value="Envoyer" /></p></form>'; $query->CloseCursor(); break; case "forum": //Ici forum $action = htmlspecialchars($_GET['action']); //On récupère la valeur de action switch($action) //2eme switch { case "creer": //Création d'un forum //1er cas : pas de variable c if(empty($_GET['c'])) { echo'<br /><br /><br />Que voulez-vous faire?<br /> <a href="./admin.php?cat=forum&action=creer&c=f">Créer un forum</a><br /> <a href="./admin.php?cat=forum&action=creer&c=c">Créer une catégorie</a></br>'; } //2ème cas : on cherche à créer un forum (c=f) elseif($_GET['c'] == "f") { $query=$db->query('SELECT cat_id, cat_nom FROM forum_categorie ORDER BY cat_ordre DESC'); echo'<h1>Création d un forum</h1>'; echo'<form method="post" action="./adminok.php?cat=forum&action=creer&c=f">'; echo'<label>Nom :</label><input type="text" id="nom" name="nom" /><br /><br /> <label>Description :</label> <textarea cols=40 rows=4 name="desc" id="desc"></textarea> <br /><br /> <label>Catégorie : </label><select name="cat">'; while($data = $query->fetch()) { echo'<option value="'.$data['cat_id'].'">'.$data['cat_nom'].'</option>'; } echo'</select><br /><br /> <input type="submit" value="Envoyer"></form>'; $query->CloseCursor(); } //3ème cas : on cherche à créer une catégorie (c=c) elseif($_GET['c'] == "c") { echo'<h1>Création d une catégorie</h1>'; echo'<form method="post" action="./adminok.php?cat=forum&action=creer&c=c">'; echo'<label> Indiquez le nom de la catégorie :</label> <input type="text" id="nom" name="nom" /><br /><br /> <input type="submit" value="Envoyer"></form>'; } break; case "edit": //Edition d'un forum break; case "droits": //Gestion des droits break; default; //action n'est pas remplie, on affiche le menu echo'<h1>Administration des forums</h1>'; echo'<p>Bonjour, cher administrateur :p, que veux tu faire ? <br /> <a href="./admin.php?cat=forum&action=creer">Créer un forum</a> <br /> <a href="./admin.php?cat=forum&action=edit">Modifier un forum</a> <br /> <a href="./admin.php?cat=forum&action=droits"> Modifier les droits d un forum</a><br /></p>'; break; } break; case "membres": //Ici membres $action = htmlspecialchars($_GET['action']); //On récupère la valeur de action switch($action) //2eme switch { case "edit": //Edition d'un membre break; case "droits": //Droits d'un membre (rang) break; case "ban": //Bannissement break; default; //action n'est pas remplie, on affiche le menu echo'<h1>Administration des membres</h1>'; echo'<p>Salut mon ptit, alors tu veux faire quoi ?<br /> <a href="./admin.php?cat=membres&action=edit"> Editer le profil d un membre</a><br /> <a href="./admin.php?cat=membres&action=droits"> Modifier les droits d un membre</a><br /> <a href="./admin.php?cat=membres&action=ban"> Bannir / Debannir un membre</a><br /></p>'; break; } break; default; //cat n'est pas remplie, on affiche le menu général echo'<h1>Index de l administration</h1>'; echo'<p>Bienvenue sur la page d administration.<br /> <a href="./admin.php?cat=config">Configuration du forum</a><br /> <a href="./admin.php?cat=forum">Administration des forums</a><br /> <a href="./admin.php?cat=membres">Administration des membres</a><br /></p>'; break; } ?>
Merci d'avance, car la je suis bien embêté ^^