erreur pour lister les topics ( cour php forum )

Rickojo

Rickojo Le 7 janvier 2018 à 13:56 (Édité le 25 janvier 2019 à 17:54)


Salut !

Je fais les tuto pour faire un forum en php. j'en suis à la partie 4 si je ne me trompe pas, ou faut lister les topics.

J'ai fais adaptant à mon site, mais j'avais une erreur et je trouvais pas la solution .... j'ai donc tout refais en recopiant bêtement, et j'ai encore l'erreur.

Si je vais dans http://localhost/v_site/forum.php?id=29

j'ai un erreur sur la ligne 15 : 
<!DOCTYPE html>
<html>
            <table class="forum">
   <tr class="header">
      <th class="main">Catégories</th>
      <th class="sub-info messages">Messages</th>
      <th class="sub-info dmessage">Dernier message</th>
   </tr>
   <?php
   while($c = $categories->fetch()) {
      $subcat->execute(array($c['id']));
      $souscategories = '';
      while($sc = $subcat->fetch()) { 
        $souscategories .= '<a href="/v_site/forum_topics.php?categorie='.url_custom_encode($c['nom']).'&souscategorie='.url_custom_encode($sc['nom']).'">'.$sc['nom'].'</a> | ';
      }
      $souscategories = substr($souscategories, 0, -3);
   ?>
   <tr>
      <td class="main">
         <h4><a href="/v_site/forum_topics.php?categorie=<?= url_custom_encode($c['nom']) ?>"><?= $c['nom'] ?></a></h4>
         <p>
         <?= $souscategories ?>
         </p>
      </td>
      <td class="sub-info">4083495</td>
      <td class="sub-info">04.12.2015 à 14h52<br />de PrimFX</td>
   </tr>
   <?php } ?>
</table>
    </body>
</html>
Et quand je fais manuellement le lien pour aller voir un topic, bah ça me fais rien.

Merci pour votre aide .....
Arthel

Arthel Le 7 janvier 2018 à 14:09

Bonjour,

Pourrais tu nous donner l'erreur que tu as car actuellement je n'arrive pas a la voir.

Cordialement F1redev
Rickojo

Rickojo Le 7 janvier 2018 à 14:22

voila :
https://img15.hostingpics.net/pics/926706Capture.png
Arthel

Arthel Le 7 janvier 2018 à 14:25

Est-ce que tu as inclut la page dans la quelle tu as créer la fonction ur_custom_encode? Cette fonction a été créer par Boris lui même, donc si tu ne l'as pas créer cela ne peut pas marcher.
Rickojo

Rickojo Le 7 janvier 2018 à 14:39

Oui elle y est bien ! 😀
par contre si je vais sur la page forum_topic.php j'ai la fonction qui s'affiche dans mon navigateur

function url_custom_encode($titre) { $titre = htmlspecialchars($titre); $find = array('À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'ß', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', 'ø', 'ù', 'ú', 'û', 'ü', 'ý', 'ÿ', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', 'Œ', 'œ', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', 'Š', 'š', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', 'Ÿ', '?', '?', '?', '?', 'Ž', 'ž', '?', 'ƒ', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?'); $replace = array('A', 'A', 'A', 'A', 'A', 'A', 'AE', 'C', 'E', 'E', 'E', 'E', 'I', 'I', 'I', 'I', 'D', 'N', 'O', 'O', 'O', 'O', 'O', 'O', 'U', 'U', 'U', 'U', 'Y', 's', 'a', 'a', 'a', 'a', 'a', 'a', 'ae', 'c', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 'i', 'n', 'o', 'o', 'o', 'o', 'o', 'o', 'u', 'u', 'u', 'u', 'y', 'y', 'A', 'a', 'A', 'a', 'A', 'a', 'C', 'c', 'C', 'c', 'C', 'c', 'C', 'c', 'D', 'd', 'D', 'd', 'E', 'e', 'E', 'e', 'E', 'e', 'E', 'e', 'E', 'e', 'G', 'g', 'G', 'g', 'G', 'g', 'G', 'g', 'H', 'h', 'H', 'h', 'I', 'i', 'I', 'i', 'I', 'i', 'I', 'i', 'I', 'i', 'IJ', 'ij', 'J', 'j', 'K', 'k', 'L', 'l', 'L', 'l', 'L', 'l', 'L', 'l', 'l', 'l', 'N', 'n', 'N', 'n', 'N', 'n', 'n', 'O', 'o', 'O', 'o', 'O', 'o', 'OE', 'oe', 'R', 'r', 'R', 'r', 'R', 'r', 'S', 's', 'S', 's', 'S', 's', 'S', 's', 'T', 't', 'T', 't', 'T', 't', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'W', 'w', 'Y', 'y', 'Y', 'Z', 'z', 'Z', 'z', 'Z', 'z', 's', 'f', 'O', 'o', 'U', 'u', 'A', 'a', 'I', 'i', 'O', 'o', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'A', 'a', 'AE', 'ae', 'O', 'o', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?'); $titre = str_replace($find, $replace, $titre); $titre = strtolower($titre); $mots = preg_split('/[^A-Z^a-z^0-9]+/', $titre); $encoded = ""; foreach($mots as $mot) { if(strlen($mot) >= 3 OR str_replace(['0','1','2','3','4','5','6','7','8','9'], '', $mot) != $mot) { $encoded .= $mot.'-'; } } $encoded = substr($encoded, 0, -1); return $encoded; }Erreur: Aucune catégorie sélectionnée...
Arthel

Arthel Le 7 janvier 2018 à 15:47

Dans la deuxième ligne du tableau d'erreur il y a marqué: forum.view.php, j'aurais trois question dessus:
  • Est-ce qu'il s'appel bien comme c'est écrit?
  • L'as tu bien mit dans les dossiers et sous dossiers indiquer?
  • Est-ce que le fonnction url_custom_encode et bien inclut dans le fichier?

PS: Utilise le bouton [CODE] pour nous donner un code complet ou en portion.

Cordialement F1redev, si j'ai réussit a t'aider.
Rickojo

Rickojo Le 7 janvier 2018 à 16:16 (Édité le 7 janvier 2018 à 16:21)

Alors je viens d'aller vérifier et tout est bien écrie et répertorié ....
edit:
Si tu veux je peux montrer toutes les pages de code ? si ça peu aider à trouver l'erreur
Arthel

Arthel Le 7 janvier 2018 à 16:27

Le message d'erreur veut dire qu'il n'arrive pas à identifier la fonction dans ton fichier. Pour moi il doit soit y avoir une erreur dans la fonction ou qu'il y a une erreur dans ce que tu lui donne, donc j'ai penser qu'il y pourrais avoir une erreur dans la connexion a la base de donnée mais il n'y as pas d'erreur le spécifiant. Le $c['nom'] est il bien nommer dans la base de donné tel que tu l'as écrit "nom"?
Rickojo

Rickojo Le 7 janvier 2018 à 19:57

j'ai pourtant bien écrie le contenu du tuto .... je viens de tout vérifier et j'ai aucune faute de frappe sur les nom des bdd, variable etc ..... c'est vraiment étrange, il doit y avoir quelque chose que j'ai du louper ....
Balatharas

Balatharas Le 8 janvier 2018 à 18:16

L'erreur est formelle: il ne trouve pas la fonction url_custom_encode
Il faut que tu sois certain que le fichier functions.php soit inclus dans tes fichiers, si, bien entendu, ta fonction est écrite dans un fichier nommé functions.php
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte