jQuery
En savoir plus
Adobe Flex & Flash
En savoir plus
ASP.NET
En savoir plus

| Page Précédente 1 2 | |||||
| Pseudo | Commentaire | ||||
|---|---|---|---|---|---|
| Page Précédente 1 2 | |||||
guitoulio
|
# Posté le 10/11/2009 à 10:10:59 | ||||
|
|
moi j'i comprends rien tu ne dit pas toujours ou les code doivent ils être mis et vu que je suis nouveau je me galere beaucoup. | ||||
M4TtH13u
|
# Posté le 13/01/2010 à 12:55:11 | ||||
Qui ne tente rien n'a rien![]()
|
j'ai essayé de mettre le tuto pour l'administration et quand je decide de supprimer mon message il me demande si c'est bien ce que je veux je repond oui et ensuite une feuille blanche apparait j'ai regarder l'adresse ça vient du fichier postok.php j'ai decouvert que le case'delete' quand il etait pas le fichier postok.php fonctionnait alors qu'avec ça fonctionne pas il doit y avoir un probleme dans le code Secret (cliquez pour afficher) case "delete": //Si on veut supprimer le post //On récupère la valeur de p $post = (int) $_GET['p']; $requete1 = mysql_query(' SELECT post_createur, post_texte, forum_id, topic_id, auth_modo FROM forum_post LEFT JOIN forum_forum ON forum_post.post_forum_id = forum_forum.forum_id WHERE post_id='.$post.''); $data1 = mysql_fetch_assoc($requete1); $topic = $data1['topic_id']; $forum = $data1['forum_id']; //Ensuite on vérifie que le membre a le droit d'être ici //(soit le créateur soit un modo/admin) if (!verif_auth($data1['auth_modo'])) { // Si cette condition n'est pas remplie ça va barder ![]() echo'<p>Vous n\'avez aucun droit d\'être ici</p></div></body></html>'; exit(); } else //Sinon ça roule et on continue { //Ici on vérifie plusieurs choses : //est-ce un premier post ? Dernier post ou post classique ? $requete_first_post = mysql_query("SELECT COUNT(*) AS first_post FROM forum_topic WHERE topic_first_post = $post"); $requete_last_post = mysql_query("SELECT COUNT(*) AS last_post FROM forum_topic WHERE topic_last_post = $post"); $first_post = mysql_fetch_assoc($requete_first_post); $last_post = mysql_fetch_assoc($requete_last_post); //On distingue maintenant les cas if ($first_post['first_post'] != 0) //Si le message est le premier { //Les autorisations ont changé ! if (!verif_auth($data1['auth_modo'])) { echo'<p> Vous n\'avez aucun droit d\'être ici</p></div></body></html>'; exit(); } //Il faut s'assurer que ce n'est pas une erreur echo'<p>Vous avez choisi de supprimer un post. Cependant ce post est le premier du topic. Voulez vous supprimer le topic ? <br /> <a href="./postok.php?action=delete_topic&t='.$topic.'">oui</a> - <a href="./voirtopic.php?t='.$topic.'">non</a></p>'; } elseif ($last_post['last_post'] != 0) //Si le message est le dernier { //On supprime le post mysql_query("DELETE FROM forum_post WHERE post_id = '".$post."'"); //On modifie la valeur de topic_last_post pour cela on //récupère l'id du plus récent message de ce topic $requete4 = mysql_query('SELECT post_id FROM forum_post WHERE topic_id = '.$topic.' ORDER BY post_id DESC LIMIT 0,1'); $data4 = mysql_fetch_assoc($requete4); //On fait de même pour forum_last_post_id $requete5 = mysql_query('SELECT post_id FROM forum_post WHERE post_forum_id = '.$forum.' ORDER BY post_id DESC LIMIT 0,1'); $data5 = mysql_fetch_assoc($requete5); //On met à jour la valeur de topic_last_post mysql_query("UPDATE forum_topic SET topic_last_post = $data4['post_id'] WHERE topic_last_post = $post"); //On enlève 1 au nombre de messages du forum et on met à //jour forum_last_post mysql_query("UPDATE forum_forum SET forum_post = forum_post - 1, forum_last_post_id = $data5['post_id'] WHERE forum_id = $forum"); //On enlève 1 au nombre de messages du topic mysql_query("UPDATE forum_topic SET topic_post = topic_post - 1 WHERE topic_id = $topic"); //On enlève 1 au nombre de messages du membre mysql_query("UPDATE forum_membres SET membre_post = membre_post - 1 WHERE membre_id = $data1['post_createur']"); //Enfin le message echo'<p>Le message a bien été supprimé !<br /> Cliquez <a href="./voirtopic.php?t='.$topic.'">ici</a> pour retourner au topic<br /> Cliquez <a href="./index.php">ici</a> pour revenir à l index du forum</p>'; } elseif ($last_post['last_post'] == 0 && $first_post['first_post'] == 0) // Si c'est un post classique { //On supprime le post mysql_query("DELETE FROM forum_post WHERE post_id = $post"); //On enlève 1 au nombre de messages du forum mysql_query("UPDATE forum_forum SET forum_post = forum_post - 1 WHERE forum_id ='".$forum."'"); //On enlève 1 au nombre de messages du topic mysql_query("UPDATE forum_topic SET topic_post = topic_post - 1 WHERE topic_id = $topic"); //On enlève 1 au nombre de messages du membre mysql_query("UPDATE forum_membres SET membre_post = membre_post - 1 WHERE membre_id = $data1['post_createur']"); //Enfin le message echo'<p>Le message a bien été supprimé !<br /> Cliquez <a href="./voirtopic.php?t='.$topic.'">ici</a> pour retourner au topic<br /> Cliquez <a href="./index.php">ici</a> pour revenir à l index du forum</p>'; } } break; case "delete_topic": $topic = (int) $_GET['t']; $requete1 = mysql_query(' SELECT forum_topic.forum_id, auth_modo FROM forum_topic LEFT JOIN forum_forum ON forum_topic.forum_id = forum_forum.forum_id WHERE topic_id='.$topic.''); $data1 = mysql_fetch_assoc($requete1); $forum = $data1['forum_id']; //Ensuite on vérifie que le membre a le droit d'être ici //c'est-à-dire si c'est un modo / admin if (!verif_auth($data1['auth_modo'])) { // Si cette condition n'est pas remplie ça va barder ![]() echo'<p>Vous n\'avez aucun droit d\'être ici</p></div></body></html>'; exit(); } else //Sinon ça roule et on continue { //On compte le nombre de post du topic $requete_count_post = mysql_query("SELECT COUNT(*) AS nombre_post FROM forum_post WHERE topic_id = $topic"); $data_nombrepost = mysql_fetch_assoc($requete_count_post); $nombrepost = $data_nombrepost['nombre_post']; //On supprime le topic mysql_query("DELETE FROM forum_topic WHERE topic_id = $topic"); //On enlève le nombre de post posté par chaque membre dans le topic $requete_postparmembre = mysql_query('SELECT post_createur, COUNT(*) AS nombre_mess FROM forum_post WHERE topic_id = '.$topic.' GROUP BY post_createur'); while($data_postparmembre = mysql_fetch_assoc($requete_postparmembre)) { mysql_query('UPDATE forum_membres SET membre_post = membre_post - '.$data_postparmembre['nombre_mess'].' WHERE membre_id = '.$data_postparmembre['post_createur']); } //Et on supprime les posts ! mysql_query("DELETE FROM forum_post WHERE topic_id = $topic"); //Dernière chose, on récupère le dernier post du forum $requete_forum = mysql_query('SELECT post_id FROM forum_post WHERE post_forum_id = '.$forum.' ORDER BY post_id DESC LIMIT 0,1'); $data_forum = mysql_fetch_assoc($requete_forum); //Ensuite on modifie certaines valeurs : mysql_query("UPDATE forum_forum SET forum_topic = forum_topic - 1, forum_post = forum_post - $nombrepost, forum_last_post_id = $data_forum['post_id'] WHERE forum_id = $forum"); //Enfin le message echo'<p>Le topic a bien été supprimé !<br /> Cliquez <a href="./index.php">ici</a> pour revenir à l index du forum</p>'; } break; la case delete topic aussi d'ailleurs ne fonctionne pas ça doit venir du code mais j'ai pas de message d'erreur
|
||||
antoniomartique
|
# Posté le 13/02/2010 à 08:51:32 | ||||
![]()
|
Moi j'ai un probleme lorsqu'il faut deverouiller les topic ![]() sa m'affiche Notice: Undefined variable: amp in C:\wamp2\wamp\www\site\voirtopic.php on line 178 Notice: Use of undefined constant topic - assumed 'topic' in C:\wamp2\wamp\www\site\voirtopic.php on line 178 Voici les quelques lignes concerné: Code : PHP
EDIT: solution: Code : PHP
|
||||
samo73
|
# Posté le 17/03/2010 à 17:05:11 | ||||
|
La science est une lumière
|
Bjr tout le monde , même si c'est trop tard, ça peut toujours aider certains zéros perdus comme moi, juste pour répondre à la question de Dharks concernant l'erreur : Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/test/www/forum/postok.php on line 297 et qui située dans la page "postok.php", et beh l'erreur est dans le case "delete_topic" et plus précisément dans la partie du code suivante: Code : PHP
et la correction est la suivante: Code : PHP
voilà donc la solution de cette mystérieuse erreur. see you freinds. |
||||
rambika
|
# Posté le 07/04/2010 à 00:09:07 | ||||
|
|
Bonsoir, J'ai des soucis au niveau de la suppression des messages. Tout s'efface mais dans la page index, le forum_topic, forum_last_post_id et forum_post ne s'est pas mis à jour. Pourtant, au niveau du membre qui a posté, il s'est bien mis à jour. Quelqu'un pourrait-il m'aider sur ce update qui ne fonctionne pas ? Merci d'avance |
||||
rambika
|
# Posté le 11/04/2010 à 03:15:57 | ||||
|
|
vraiment personne pour m'aider ? | ||||
rambika
|
# Posté le 14/04/2010 à 21:47:08 | ||||
|
|
Encore moi qui cherche désepérement une solution à mon problème. En fait, ça met à jour lorsqu'on supprime un message mais lorsque c'est le premier, ça supprime mais ne se remet pas à jour les nombres de messages. | ||||
rambika
|
# Posté le 15/04/2010 à 22:48:00 | ||||
|
|
dsl | ||||
MasterMh
|
# Posté le 03/07/2010 à 23:15:50 | ||||
|
|
... | ||||
Zorado
|
# Posté le 06/08/2010 à 19:26:02 | ||||
www.futurstation.net![]()
|
Bonjour, moi je rencontre un gros problème, tout marche bien, mais tout le monde peut supprimer n'importe quelle post, il suffit d'utiliser le lien direct "postok.php?action=delete&p=(n° du message)", pouvez vous me dire ce que je dois faire ?
|
||||
Zhela
|
# Posté le 11/03/2011 à 14:13:53 | ||||
![]()
Ville : Court-st-etienne |
Il y a quand même une belle faille de sécurité CSRF...
|
||||
Ac_Business
|
# Posté le 18/08/2011 à 20:15:59 | ||||
|
|
Bonjours tout d'abord ce sujet est tout simplement magnifique grâce à lui j'ai réalisé une partie pénible de mon site. je voulais juste vous exposé un bout de code qui permet de cacher les éléments verrouiller et déplacer car j'ai des doute a propos de ma requête : Code : PHP
j'ai modifier la requête initial au tuto pour récupérer auth_modo afin de l'utilisé dans un if qui vérifier le niveau du membre. merci de me corrigé si j'ai négligé quelque chose
|
||||
