Problème avec un tuto pour réaliser un forum.
Fermé
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
-
22 mars 2013 à 10:24
luluwebmaster Messages postés 409 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 3 février 2018 - 27 mars 2013 à 09:32
luluwebmaster Messages postés 409 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 3 février 2018 - 27 mars 2013 à 09:32
A voir également:
- Problème avec un tuto pour réaliser un forum.
- Comment ralentir un compteur linky forum - Accueil - Objets connectés
- Réaliser un organigramme - Guide
- Tuto chromecast - Guide
- Forum convertisseur youtube mp3 ✓ - Forum Logiciels
- Tuto tableau croisé dynamique - Guide
8 réponses
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
Modifié par ThEBiShOp le 22/03/2013 à 10:27
Modifié par ThEBiShOp le 22/03/2013 à 10:27
Salut,
essaye de retirer les :
?>
<?php
en ligne 41 et 42
et il te manque un } en fin de fichier
essaye de retirer les :
?>
<?php
en ligne 41 et 42
et il te manque un } en fin de fichier
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
22 mars 2013 à 10:32
22 mars 2013 à 10:32
En retirant les ?> et <?php, ça ne fonctionne pas.
et pour le } c'est sur quelle fichier ?
et pour le } c'est sur quelle fichier ?
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
22 mars 2013 à 10:32
22 mars 2013 à 10:32
sur register
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
22 mars 2013 à 10:33
22 mars 2013 à 10:33
ça ne fonctionne pas ....
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
22 mars 2013 à 10:34
22 mars 2013 à 10:34
Peut être que j'ai mal suivis le Tuto ?
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
22 mars 2013 à 10:40
22 mars 2013 à 10:40
possible, difficile à dire comme ça.
Tu utilises quel logiciel pour écrire ton code ?
retire tous tes
ça ne sert à rien du tout
Tu utilises quel logiciel pour écrire ton code ?
retire tous tes
?> <?php
ça ne sert à rien du tout
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
22 mars 2013 à 10:42
22 mars 2013 à 10:42
Notpad++
Ok, je vais le retirer .
Ok, je vais le retirer .
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
22 mars 2013 à 11:08
22 mars 2013 à 11:08
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>'; } ?>
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
22 mars 2013 à 11:18
22 mars 2013 à 11:18
Heu oui, c'est normal.
a la ligne 12 tu as : exit('<div id="error"><p>'.$mess.'</p>
ça va forcément stoper ton code php, vérifie ton tuto à ce niveau tu as du rater quelque chose.
a la ligne 12 tu as : exit('<div id="error"><p>'.$mess.'</p>
ça va forcément stoper ton code php, vérifie ton tuto à ce niveau tu as du rater quelque chose.
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
22 mars 2013 à 11:29
22 mars 2013 à 11:29
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.
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
22 mars 2013 à 12:08
22 mars 2013 à 12:08
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>
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
22 mars 2013 à 12:11
22 mars 2013 à 12:11
Et les erreurs mystères, quelles sont-elles ?
déjà ligne 56 57 tu as un truc bizarre. tu as une accolade fermante et juste après une ouvrante, il manque un truc là.
déjà ligne 56 57 tu as un truc bizarre. tu as une accolade fermante et juste après une ouvrante, il manque un truc là.
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
22 mars 2013 à 12:14
22 mars 2013 à 12:14
Erreurs mystères ?
J'ai enlever { , et celle qui la fermer, mais j'ai le même problème.
J'ai enlever { , et celle qui la fermer, mais j'ai le même problème.
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
22 mars 2013 à 15:01
22 mars 2013 à 15:01
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à ^^
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
22 mars 2013 à 15:03
22 mars 2013 à 15:03
tu as un else en ligne 138 mais il n'y a pas de if.
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
22 mars 2013 à 15:05
22 mars 2013 à 15:05
Peut tu me dire quelle partie rajouter ?
Ou supprimer, je sais pas trop :P
Ou supprimer, je sais pas trop :P
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
22 mars 2013 à 15:09
22 mars 2013 à 15:09
Non je ne peux pas.
A mon avis tu mélanges certaines pages.
Ton tutoriel, si tu le suis de A à Z, ça va fonctionner, mais si tu sautes des parties ou ajoute du code sans trop faire attention ça ne va pas marcher, c'est certain.
A mon avis tu mélanges certaines pages.
Ton tutoriel, si tu le suis de A à Z, ça va fonctionner, mais si tu sautes des parties ou ajoute du code sans trop faire attention ça ne va pas marcher, c'est certain.
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
22 mars 2013 à 15:11
22 mars 2013 à 15:11
Je le suis pourtant très bien, je fais tout comme il disent ...
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
22 mars 2013 à 15:11
22 mars 2013 à 15:11
manifestement, non :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
22 mars 2013 à 15:32
22 mars 2013 à 15:32
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>
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
22 mars 2013 à 15:44
22 mars 2013 à 15:44
regarde à la ligne 94, tu ne vois pas un truc qui cloche ? ^^
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
22 mars 2013 à 15:48
22 mars 2013 à 15:48
Ha oui ^^
C'est bon pour se problème :D
C'est bon pour se problème :D
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
22 mars 2013 à 16:06
22 mars 2013 à 16:06
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>
Bionik
Messages postés
4232
Date d'inscription
jeudi 19 août 2010
Statut
Modérateur
Dernière intervention
3 août 2016
184
22 mars 2013 à 16:24
22 mars 2013 à 16:24
Salut,
Tu fais appel à une fonction qui n'existe pas. C'est la fonction code() pour être plus précis. Si c'est déjà crée dans un autre fichier, tu l'importe avec un 'include' ou 'require'.
Tu fais appel à une fonction qui n'existe pas. C'est la fonction code() pour être plus précis. Si c'est déjà crée dans un autre fichier, tu l'importe avec un 'include' ou 'require'.
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
22 mars 2013 à 16:27
22 mars 2013 à 16:27
à mon avis c'est la fonction du bbcode
include("includes/bbcode.php");
mais bon, on n'a aucun moyen de le savoir...
include("includes/bbcode.php");
mais bon, on n'a aucun moyen de le savoir...
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
22 mars 2013 à 16:34
22 mars 2013 à 16:34
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
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
22 mars 2013 à 20:13
22 mars 2013 à 20:13
Pour être plus précis, je n'est pas les messages qui on était posté, mais j'ai se message d'erreur :
( ! ) 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
( ! ) 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
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
23 mars 2013 à 13:26
23 mars 2013 à 13:26
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é ^^
luluwebmaster
Messages postés
409
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
3 février 2018
5
27 mars 2013 à 09:32
27 mars 2013 à 09:32
Je remonte ^^