Autorisation accée etape par étape
Résolu/Fermé
A voir également:
- Autorisation accée etape par étape
- Freebox étape 6 - forum ✓ - Forum Freebox
- Le document à télécharger contient une liste d’activités regroupées par jour et par heure. améliorez sa présentation en trois étapes et reportez à chaque fois le nombre de pages obtenu : étape 1 : les paragraphes décrivant les activités peuvent être à cheval sur deux pages, mais ne doivent jamais avoir une ligne isolée en haut ou en bas d’une page. étape 2 : les créneaux horaires ne doivent jamais se retrouver seuls en bas d’une page. étape 3 : chaque jour doit commencer sur une nouvelle page. - Forum Bureautique
- Ce compte ne peut pas recevoir vos messages car il n’autorise aucune invitation par message ✓ - Forum Facebook
- Trustedinstaller autorisation ✓ - Forum Windows
- Etape 6 freebox delta - Forum Freebox
2 réponses
jordane45
Messages postés
38394
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 janvier 2025
4 730
1 mai 2019 à 10:49
1 mai 2019 à 10:49
Heuuuu.... ben.. la réponse est dans la question je pense......
donc... la réponse à ta question est :
sur la page voirforum.php
il dit sur la page voirforum.php
donc... la réponse à ta question est :
sur la page voirforum.php
je revien a la meme erreur qu'avant
il dit
Page poster.php et postok
j'ai bien mis pour la page poster
en haut de l page apres la requette
et ensuite sur mes 2 formulaires case nouveau topic et repondre topic
qd je me deconnecte donc la c bon pas d'erreur et il cache bien les button étant visiteur et pas dérreur de variable
ensuite il dit qu'il faut recommencer sur la page postock
dc je remet le code autorisation etc......
quand je suis déconnecter , il ne m'affiche pas d'erreur
quand je m'inscrit il m'affiche cette erreur
es-ce qu'on peut résoudre ou pas cette variable
à moins qu'il faut que j'ailes juste qu'au bout pour retrouver la variable
ou à moin que j'ai mal placé le code
c'est a partir de là ou je suis coincé
il dit
Page poster.php et postok
Comme ce qu'on fait depuis tout à l'heure est assez répétitif, et surtout assez facile, je vais vous laisser vous occuper seuls de cette page, parce qu'il est important que vous ayez compris le fonctionnement de ce système afin de pouvoir le personnaliser au maximum. Voilà ce qu'il faut vérifier : déjà, que le visiteur a le droit d'être sur le forum (auth_view) ensuite, qu'il a le droit de poster un nouveau sujet (pour cela, il faut travailler à l'intérieur du switch après le case"nouveautopic":) enfin, de la même façon qu'il peut répondre (case"repondre":) Encore une fois, tout est déjà mis en place grâce à une requête, celle-ci diffère selon qu'on se trouve dans le cas d'un nouveau topic ou d'une réponse. Pensez à placer les vérifications avant d'afficher le contenu de la page : si elle n'est pas remplie, faîtes un simple erreur, puis passez à la suite. Pour ce qui est de la page postok.php, on ne peut logiquement pas s'y rendre en postant quelque chose, dans la mesure où l'accès à la page poster.php est bloqué si on n'a pas les droits. Toutefois, ça ne coûte rien de le faire quand même : faites donc exactement les mêmes modifications là-bas. Nous avons maintenant terminé ce système d'autorisations ; dans tous les forums, vous pouvez régler différents niveaux d'accès. Libre à vous de faire une partie réservée aux modérateurs ou aux administrateurs.
j'ai bien mis pour la page poster
en haut de l page apres la requette
////////////////////////ajout du début le 1/05 afin de donner une autorisation d'accée sur la page if (!verif_auth($data['auth_view'])) { erreur(ERR_AUTH_VIEW); } ////////////////////////ajout du fin le 1/05 afin de donner une autorisation d'accée sur la page
et ensuite sur mes 2 formulaires case nouveau topic et repondre topic
////////////////////////////////////////////////la premier étape///////////////////////////////////////////////////////////////////////// case "repondre": //Premier cas on souhaite répondre ////////////////////////ajout du début le 1/05 afin de donner une autorisation d'accée sur la page if (verif_auth($data['auth_topic'])) { ?> <h1>Poster une réponse</h1> <form method="post" action="postok.php?action=repondre&t=<?php echo $topic ?>" name="formulaire"> <fieldset><legend>Mise en forme</legend> <input type="button" id="gras" name="gras" value="Gras" onClick="javascript:bbcode('[g]', '[/g]');return(false)" /> <input type="button" id="italic" name="italic" value="Italic" onClick="javascript:bbcode('[i]', '[/i]');return(false)" /> <input type="button" id="souligné" name="souligné" value="Souligné" onClick="javascript:bbcode('[s]', '[/s]');return(false)" /> <input type="button" id="lien" name="lien" value="Lien" onClick="javascript:bbcode('[url]', '[/url]');return(false)" /> <br /><br /> <img src="./images/smileys/heureux.gif" title="heureux" alt="heureux" onClick="javascript:smilies(' :D ');return(false)" /> <img src="./images/smileys/lol.gif" title="lol" alt="lol" onClick="javascript:smilies(' :lol: ');return(false)" /> <img src="./images/smileys/triste.gif" title="triste" alt="triste" onClick="javascript:smilies(' :triste: ');return(false)" /> <img src="./images/smileys/cool.gif" title="cool" alt="cool" onClick="javascript:smilies(' :frime: ');return(false)" /> <img src="./images/smileys/rire.gif" title="rire" alt="rire" onClick="javascript:smilies(' XD ');return(false)" /> <img src="./images/smileys/confus.gif" title="confus" alt="confus" onClick="javascript:smilies(' :s ');return(false)" /> <img src="./images/smileys/choc.gif" title="choc" alt="choc" onClick="javascript:smilies(' :o ');return(false)" /> <img src="./images/smileys/question.gif" title="?" alt="?" onClick="javascript:smilies(' :interrogation: ');return(false)" /> <img src="./images/smileys/exclamation.gif" title="!" alt="!" onClick="javascript:smilies(' :exclamation: ');return(false)" /> </fieldset> <fieldset><legend>Message</legend><textarea cols="80" rows="8" id="message" name="message"></textarea></fieldset> <input type="submit" name="submit" value="Envoyer" /><input type="reset" name = "Effacer" value = "Effacer"/> </p></form> <?php } else { echo'vous n\avez pas le droit dacceder aux formulaire du repondre topic, il faut être inscrit'; } ////////////////////////ajout du fin le 1/05 afin de donner une autorisation d'accée sur la page break; ////////////////////////////////////////////////la deucième étape///////////////////////////////////////////////////////////////////////// case "nouveautopic": ////////////////////////ajout du début le 1/05 afin de donner une autorisation d'accée sur la page if (verif_auth($data['auth_topic'])) { ?> <h1>Nouveau topic</h1> <form method="post" action="postok.php?action=nouveautopic&f=<?php echo $forum ?>" name="formulaire"> <fieldset><legend>Titre</legend> <input type="text" size="80" id="titre" name="titre" /></fieldset> <fieldset><legend>Mise en forme</legend> <input type="button" id="gras" name="gras" value="Gras" onClick="javascript:bbcode('[g]', '[/g]');return(false)" /> <input type="button" id="italic" name="italic" value="Italic" onClick="javascript:bbcode('[i]', '[/i]');return(false)" /> <input type="button" id="souligné" name="souligné" value="Souligné" onClick="javascript:bbcode('[s]', '[/s]');return(false)" /> <input type="button" id="lien" name="lien" value="Lien" onClick="javascript:bbcode('[url]', '[/url]');return(false)" /> <br /><br /> <img src="./images/smileys/heureux.gif" title="heureux" alt="heureux" onClick="javascript:smilies(':D');return(false)" /> <img src="./images/smileys/lol.gif" title="lol" alt="lol" onClick="javascript:smilies(':lol:');return(false)" /> <img src="./images/smileys/triste.gif" title="triste" alt="triste" onClick="javascript:smilies(':triste:');return(false)" /> <img src="./images/smileys/cool.gif" title="cool" alt="cool" onClick="javascript:smilies(':frime:');return(false)" /> <img src="./images/smileys/rire.gif" title="rire" alt="rire" onClick="javascript:smilies('XD');return(false)" /> <img src="./images/smileys/confus.gif" title="confus" alt="confus" onClick="javascript:smilies(':s');return(false)" /> <img src="./images/smileys/choc.gif" title="choc" alt="choc" onClick="javascript:smilies(':O');return(false)" /> <img src="./images/smileys/question.gif" title="?" alt="?" onClick="javascript:smilies(':interrogation:');return(false)" /> <img src="./images/smileys/exclamation.gif" title="!" alt="!" onClick="javascript:smilies(':exclamation:');return(false)" /></fieldset> <fieldset><legend>Message</legend> <textarea cols="80" rows="8" id="message" name="message"></textarea> <label><input type="radio" name="mess" value="Annonce" />Annonce</label> <label><input type="radio" name="mess" value="Message" checked="checked" />Topic</label> </fieldset> <p> <input type="submit" name="submit" value="Envoyer" /> <input type="reset" name = "Effacer" value = "Effacer" /></p> </form> <?php } else { echo'vous n\avez pas le droit dacceder aux formulaire du nouveau topic, il faut être inscrit'; } ////////////////////////ajout du fin le 1/05 afin de donner une autorisation d'accée sur la page break;
qd je me deconnecte donc la c bon pas d'erreur et il cache bien les button étant visiteur et pas dérreur de variable
ensuite il dit qu'il faut recommencer sur la page postock
dc je remet le code autorisation etc......
<?php //Cette fonction doit être appelée avant tout code html session_start(); //On donne ensuite un titre à la page, puis on appelle notre fichier debut.php $titre="Poster"; $balises = true; include("includes/identifiants.php"); include("includes/debut.php"); include("includes/menu.php"); //On récupère la valeur de la variable action $action = (isset($_GET['action']))?htmlspecialchars($_GET['action']):''; // Si le membre n'est pas connecté, il est arrivé ici par erreur if ($id==0) erreur(ERR_IS_CO); ////////////////////////ajout du début le 1/05 afin de donner une autorisation d'accée sur la page if (!verif_auth($data['auth_view'])) { erreur(ERR_AUTH_VIEW); } ////////////////////////ajout du fin le 1/05 afin de donner une autorisation d'accée sur la page /////////////on va afficher le swith pour le traitement///////////////////////////// ///qui se compose en 2 partie pour le moment // première partie : nouveau topic // deuxième partie : on repond un topic // troixième étape repondre mp // quatrième étape nouveau mp // cinnquième étape supprimer mp switch($action) { ////////////////////////////////////////////////la premier étape///////////////////////////////////////////////////////////////////////// //Premier cas : nouveau topic case "nouveautopic": ////////////////////////ajout du début le 1/05 afin de donner une autorisation d'accée sur la page if (verif_auth($data['auth_topic'])) { //On passe le message dans une série de fonction $message = $_POST['message']; $mess = $_POST['mess']; //Pareil pour le titre $titre = $_POST['titre']; //ici seulement, maintenant qu'on est sur qu'elle existe, on récupère la valeur de la variable f $forum = (int) $_GET['f']; $temps = time(); if (empty($message) || empty($titre)) { echo'<p>Votre message ou votre titre est vide, cliquez <a href="./poster.php?action=nouveautopic&f='.$forum.'">ici</a> pour recommencer</p>'; } else //Si jamais le message n'est pas vide { //On entre le topic dans la base de donnée en laissant //le champ topic_last_post à 0 $query=$db->prepare('INSERT INTO forum_topic (forum_id, topic_titre, topic_createur, topic_vu, topic_time, topic_genre) VALUES(:forum, :titre, :id, 1, :temps, :mess)'); $query->bindValue(':forum', $forum, PDO::PARAM_INT); $query->bindValue(':titre', $titre, PDO::PARAM_STR); $query->bindValue(':id', $id, PDO::PARAM_INT); $query->bindValue(':temps', $temps, PDO::PARAM_INT); $query->bindValue(':mess', $mess, PDO::PARAM_STR); $query->execute(); $nouveautopic = $db->lastInsertId(); //Notre fameuse fonction ! $query->CloseCursor(); //Puis on entre le message $query=$db->prepare('INSERT INTO forum_post (post_createur, post_texte, post_time, topic_id, post_forum_id) VALUES (:id, :mess, :temps, :nouveautopic, :forum)'); $query->bindValue(':id', $id, PDO::PARAM_INT); $query->bindValue(':mess', $message, PDO::PARAM_STR); $query->bindValue(':temps', $temps,PDO::PARAM_INT); $query->bindValue(':nouveautopic', (int) $nouveautopic, PDO::PARAM_INT); $query->bindValue(':forum', $forum, PDO::PARAM_INT); $query->execute(); $nouveaupost = $db->lastInsertId(); //Encore notre fameuse fonction ! $query->CloseCursor(); //Ici on update comme prévu la valeur de topic_last_post et de topic_first_post $query=$db->prepare('UPDATE forum_topic SET topic_last_post = :nouveaupost, topic_first_post = :nouveaupost WHERE topic_id = :nouveautopic'); $query->bindValue(':nouveaupost', (int) $nouveaupost, PDO::PARAM_INT); $query->bindValue(':nouveautopic', (int) $nouveautopic, PDO::PARAM_INT); $query->execute(); $query->CloseCursor(); //Enfin on met à jour les tables forum_forum et forum_membres $query=$db->prepare('UPDATE forum_forum SET forum_post = forum_post + 1 ,forum_topic = forum_topic + 1, forum_last_post_id = :nouveaupost WHERE forum_id = :forum'); $query->bindValue(':nouveaupost', (int) $nouveaupost, PDO::PARAM_INT); $query->bindValue(':forum', (int) $forum, PDO::PARAM_INT); $query->execute(); $query->CloseCursor(); $query=$db->prepare('UPDATE forum_membres SET membre_post = membre_post + 1 WHERE membre_id = :id'); $query->bindValue(':id', $id, PDO::PARAM_INT); $query->execute(); $query->CloseCursor(); //Et un petit message echo'<p>Votre message a bien été ajouté!<br /><br />Cliquez <a href="./index.php">ici</a> pour revenir à l index du forum<br />Cliquez <a href="./voirtopic.php?t='.$nouveautopic.'">ici</a> pour le voir</p>'; } } else { echo'vous n\avez pas le droit dacceder aux formulaire du repondre topic, il faut être inscrit'; } ////////////////////////ajout du fin le 1/05 afin de donner une autorisation d'accée sur la page break; //Houra ! ////////////////////////////////////////////////la deucième étape///////////////////////////////////////////////////////////////////////// //Deuxième cas : répondre case "repondre": ////////////////////////ajout du début le 1/05 afin de donner une autorisation d'accée sur la page if (verif_auth($data['auth_topic'])) { $message = $_POST['message']; //ici seulement, maintenant qu'on est sur qu'elle existe, on récupère la valeur de la variable t $topic = (int) $_GET['t']; $temps = time(); if (empty($message)) { echo'<p>Votre message est vide, cliquez <a href="./poster.php?action=repondre&t='.$topic.'">ici</a> pour recommencer</p>'; } else //Sinon, si le message n'est pas vide { //On récupère l'id du forum $query=$db->prepare('SELECT forum_id, topic_post FROM forum_topic WHERE topic_id = :topic'); $query->bindValue(':topic', $topic, PDO::PARAM_INT); $query->execute(); $data=$query->fetch(); $forum = $data['forum_id']; //Puis on entre le message $query=$db->prepare('INSERT INTO forum_post (post_createur, post_texte, post_time, topic_id, post_forum_id) VALUES(:id,:mess,:temps,:topic,:forum)'); $query->bindValue(':id', $id, PDO::PARAM_INT); $query->bindValue(':mess', $message, PDO::PARAM_STR); $query->bindValue(':temps', $temps, PDO::PARAM_INT); $query->bindValue(':topic', $topic, PDO::PARAM_INT); $query->bindValue(':forum', $forum, PDO::PARAM_INT); $query->execute(); $nouveaupost = $db->lastInsertId(); $query->CloseCursor(); //On change un peu la table forum_topic $query=$db->prepare('UPDATE forum_topic SET topic_post = topic_post + 1, topic_last_post = :nouveaupost WHERE topic_id =:topic'); $query->bindValue(':nouveaupost', (int) $nouveaupost, PDO::PARAM_INT); $query->bindValue(':topic', (int) $topic, PDO::PARAM_INT); $query->execute(); $query->CloseCursor(); //Puis même combat sur les 2 autres tables $query=$db->prepare('UPDATE forum_forum SET forum_post = forum_post + 1 , forum_last_post_id = :nouveaupost WHERE forum_id = :forum'); $query->bindValue(':nouveaupost', (int) $nouveaupost, PDO::PARAM_INT); $query->bindValue(':forum', (int) $forum, PDO::PARAM_INT); $query->execute(); $query->CloseCursor(); $query=$db->prepare('UPDATE forum_membres SET membre_post = membre_post + 1 WHERE membre_id = :id'); $query->bindValue(':id', $id, PDO::PARAM_INT); $query->execute(); $query->CloseCursor(); //Et un petit message $nombreDeMessagesParPage = 15; $nbr_post = $data['topic_post']+1; $page = ceil($nbr_post / $nombreDeMessagesParPage); echo'<p>Votre message a bien été ajouté!<br /><br />Cliquez <a href="./index.php">ici</a> pour revenir à l index du forum<br />Cliquez <a href="./voirtopic.php?t='.$topic.'&page='.$page.'#p_'.$nouveaupost.'">ici</a> pour le voir</p>'; } //Fin du else } else { echo'vous n\avez pas le droit dacceder aux formulaire du repondre topic, il faut être inscrit'; } ////////////////////////ajout du fin le 1/05 afin de donner une autorisation d'accée sur la page break; le reste du code
quand je suis déconnecter , il ne m'affiche pas d'erreur
quand je m'inscrit il m'affiche cette erreur
Notice: Undefined variable: data in /var/www/legtux.org/users/site/www/V1/postok.php on line 20 Notice: Undefined variable: data in /var/www/legtux.org/users/site/www/V1/postok.php on line 44
es-ce qu'on peut résoudre ou pas cette variable
à moins qu'il faut que j'ailes juste qu'au bout pour retrouver la variable
ou à moin que j'ai mal placé le code
c'est a partir de là ou je suis coincé
1 mai 2019 à 11:04
mais quand je met ca ce code pour cacher le button
mais je vois toujour le button es ce que c'est normal ou pas
1 mai 2019 à 11:10
mais je reviendrais des que j'aurais un soucy de compenhention du texte
1 mai 2019 à 17:20
il dit ajouter a ma table
là c'est bon
ensuite j'ai bien rajouté forum_topic.topic_locked à ma requette
là c'est bon,
mais après il dit
si je mets en sous de la equette il me dit
een attendant ta reponse j'attendrais pour passé à la suite