Partage
  • Partager sur Facebook
  • Partager sur Twitter

Module De News...

Amélioration...

Anonyme
    26 novembre 2005 à 17:58:07

    Salut les gens,

    Déjà superbe la V3 !!! Par contre j'ai eu quelque problème lors de l'inscription... >_<

    Bon j'ai un script de news combiné avec un espace membre il marche parfaitement (poster, modifier, supprimer etc...)

    Par contre j'aimerais y ajouter une gestion de commentaire ainsi qu'un système de pagination (ou d'archivage...)

    Voilà un apercu pour vous donnez une idée de a quoi sa ressemble...

    Page de Connexion
    Image utilisateur


    Page pour Ajouter une News
    Image utilisateur


    Page qui Liste les News
    Image utilisateur


    Page pour modifier son Profil
    Image utilisateur


    Au passage j'ai un petit problème avec le profil comme les mots de passe sont en md5() ben dans le profil je peux pas mettre une case avec le mot de passe décrypter donc j'ai laissez une case vierge mais si le gars veut modifier une infos il doit remettre son mot de passe ou un neuf mais si il oublie...

    Donc vous avez une idée ? Vous me dites si vous avez besoin des sources pour m'aider...

    Merci d'avance pour votre aide >.<
    • Partager sur Facebook
    • Partager sur Twitter
      26 novembre 2005 à 18:53:15

      Salut!
      Alors, deja pour le systeme de commentaire, il va te faloir créer une nouvelle table (comm_articles par exemple) avec les champs id, article_id, posteur, message, timestamp,....
      le champ article_id est la news que le visiteur commente.


      Pour le truc du mot de passe, tu as qu'à afficher un input vide que tu apelle par exemple mdp. Au moment de la gestion du renvoi du formulaire, tu fait un truc du genre:


      if ($_POST['mdp']!="")
      {
      //tu fait un update sur ta table en modifiant le mdp
      }
      //sinon, tu fait rien, tu touche pas au mot de passe dans la bdd



      Voila, pour ton histoire d'archivage, j'ai pas bien compris ce que tu veux...
      @+
      ssow


      EDIT: ah si, j'ai compris :p En fait tu veux que tes news aparaissent par pages? Si c'est ca essaye ca: (un de mes vieux scripts modifié pour l'occasion ;))
      $sql= mysql_query ("SELECT COUNT(*) AS nbr_entrees FROM news");
      $compteur= mysql_fetch_array($sql);
      $articles_par_page=4;//si tu veut par exemple 4 news par page
      $nbr_page_decimal= $compteur['nbr_entrees']/$articles_par_page;
      $nbr_page= intval($nbr_page_decimal); //le nombre entier du nombre de page
      if (!is_int($nbr_page_decimal))// pour éviter qu'on se retrouve avec des pages "vides"
              {
              $nbr_page++;
              }
      echo "Allez à la page...";
      for ($i=1;$i<=$nbr_page;$i++)
              {
              echo "<a href='?page=".$i."'>Page ".$i."</a><br/>";
              }

      if (isset($_GET['page']))
              {
              $page=$_GET['page'];
              }
      else
              {
              $page=1;
              }

      $premier_art= ($page-1)*$articles_par_page; //quel news sera la premiere de la page?

      $sql=mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT ".$premier_art.",".$articles_par_page."");
      while ($arraynews=mysql_fetch_array($sql))
      {
      //tu affiche ton artcile sous la forme que tu veux...
      }


      Voila voila... je pense que tu doit pouvoir améliorer ca sans probleme :D
      Au fait, je viens de trouver un premier inconvenient à la v3: ce systeme d'empecher de poster avant 12h est tres chiant...
      • Partager sur Facebook
      • Partager sur Twitter
        26 novembre 2005 à 19:06:19

        Prendre des scripts tout fait c'est naze.
        Tu vas me faire croire que tu sais faire un BBcode mais pas une pagination ?

        La pagination d'ailleurs, est expliquée dans le tuto de m@téo ...
        Pour le mot de passe, le gars rentre l'original, et tu mets
        if md5(original) == $passdelabdd { hop on change }
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          26 novembre 2005 à 19:18:37

          Justement j'aime pas prendre le script de quelqu'un d'autres...

          Donc j'essaye de comprendre pour que je le fasse...

          Sinon autant prendre Spip ou d'autres truc <_<
          • Partager sur Facebook
          • Partager sur Twitter
            26 novembre 2005 à 19:20:55

            Citation : Pas de titre

            if ($_POST['mdp']!="")
            {
            //tu fait un update sur ta table en modifiant le mdp
            }
            //sinon, tu fait rien, tu touche pas au mot de passe dans la bdd


            et le php & la sécurité, tu les as appris où ??
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              26 novembre 2005 à 19:47:28

              Bon alors voici mes tables...

              CREATE TABLE `users` (
              `id` INT( 128 ) NOT NULL AUTO_INCREMENT ,
              `pseudo` TEXT NOT NULL ,
              `pass` TEXT NOT NULL ,
              `avatar` TEXT NOT NULL ,
              `e-mail` TEXT NOT NULL ,
              PRIMARY KEY ( `id` )
              );

              CREATE TABLE `news` (
              `id` INT( 128 ) NOT NULL AUTO_INCREMENT ,
              `auteur` TEXT NOT NULL ,
              `contents` TEXT NOT NULL ,
              `date` DATETIME NOT NULL ,
              `titre` TEXT NOT NULL ,
              PRIMARY KEY ( `id` )
              );


              Plus la nouvelle...

              CREATE TABLE `comments` (
              `id` INT( 128 ) NOT NULL AUTO_INCREMENT ,
              `pseudo` TEXT NOT NULL ,
              `date` DATETIME NOT NULL ,
              `contents` TEXT NOT NULL ,
              PRIMARY KEY ( `id` )
              );


              Ensuite j'aimerais que les commentaires sois affiché via une popup. Pis faut une requette SQL pour lier la table news avec la table commentaires...

              Mmm voici ma page d'affichage...

              <?

              include("n3ws/bdd.php");

              $req = mysql_query("select * from `news`, `users` where `news`.`auteur` = `users`.`id` order by `date` desc");

              while($data = mysql_fetch_array($req, MYSQL_ASSOC)) {

              $data['contents'] = str_replace(':D','<img src="n3ws/img/emoticons/big_smile.png" alt=":D" title=":D"/>',$data['contents']);

              $data['contents'] = str_replace('(H)','<img src="n3ws/img/emoticons/cool.png" alt="(H)" title="(H)"/>',$data['contents']);

              $data['contents'] = str_replace('*-)','<img src="n3ws/img/emoticons/hmm.png" alt="*-)" title="*-)"/>',$data['contents']);

              $data['contents'] = str_replace(':lol:','<img src="n3ws/img/emoticons/lol.png" alt=":lol:" title=":lol:"/>',$data['contents']);

              $data['contents'] = str_replace(':@','<img src="n3ws/img/emoticons/mad.png" alt=":@" title=":@"/>',$data['contents']);

              $data['contents'] = str_replace(':|','<img src="n3ws/img/emoticons/neutral.png" alt=":|" title=":|"/>',$data['contents']);

              $data['contents'] = str_replace('8-)','<img src="n3ws/img/emoticons/roll.png" alt="8-)" title="8-)"/>',$data['contents']);

              $data['contents'] = str_replace(':(','<img src="n3ws/img/emoticons/sad.png" alt=":(" title=":("/>',$data['contents']);

              $data['contents'] = str_replace(':)','<img src="n3ws/img/emoticons/smile.png" alt=":)" title=":)"/>',$data['contents']);

              $data['contents'] = str_replace(':P','<img src="n3ws/img/emoticons/tongue.png" alt=":P" title=":P"/>',$data['contents']);

              $data['contents'] = str_replace(';)','<img src="n3ws/img/emoticons/wink.png" alt=";)" title=";)"/>',$data['contents']);

              $data['contents'] = str_replace(':-O','<img src="n3ws/img/emoticons/yikes.png" alt=":-O" title=":-O"/>',$data['contents']);

              $data['contents'] = str_replace('[B]','<b>',$data['contents']);

              $data['contents'] = str_replace('[/B]','</b>',$data['contents']);

              $data['contents'] = str_replace('[I]','<i>',$data['contents']);

              $data['contents'] = str_replace('[/I]','</i>',$data['contents']);

              $data['contents'] = str_replace('[U]','<u>',$data['contents']);

              $data['contents'] = str_replace('[/U]','</u>',$data['contents']);

              $data['contents'] = str_replace('[URL=','<a href="',$data['contents']);

              $data['contents'] = str_replace('[/URL]','</a>',$data['contents']);

              $data['contents'] = str_replace('[IMG]','<img src="',$data['contents']);

              $data['contents'] = str_replace('[/IMG]','" alt=""/>',$data['contents']);

              $data['contents'] = str_replace('[EMAIL=','<a href="mailto:',$data['contents']);

              $data['contents'] = str_replace('[/EMAIL]','</a>',$data['contents']);

              $data['contents'] = str_replace('[QUOTE]','<div class="quote">',$data['contents']);

              $data['contents'] = str_replace('[/QUOTE]','</div>',$data['contents']);

              $data['contents'] = str_replace('[CODE]','<div class="code">',$data['contents']);

              $data['contents'] = str_replace('[/CODE]','</div>',$data['contents']);

              $data['contents'] = str_replace(']','">',$data['contents']);

              ?>

              <div class="avatar"><a href="mailto:<? echo $data['e-mail'] ?>?subject=Mangas Forever"><img src="<? echo $data['avatar'] ?>" alt=""/></a></div>

              <div class="contents"><? echo $data['contents'] ?></div>

              <table>

              <tr>

              <td class="date"><? echo $data['date'] ?></td>

              <td class="titre"><div class="right"><b><? echo $data['titre'] ?></b></div></td>

              </tr>

              </table><br/>

              <? } ?>


              Une requette comme cela je pense...

              $req = mysql_query("select * from `news`, `comments` where `news`.`id` = `comments`.`id` order by `date` desc");


              Je cherche >.<
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                27 novembre 2005 à 11:11:52

                Heu j'ai besoin d'un renseignement...

                CREATE TABLE `news` (
                `id` INT( 128 ) NOT NULL AUTO_INCREMENT ,
                `auteur` TEXT NOT NULL ,
                `contents` TEXT NOT NULL ,
                `date` DATETIME NOT NULL ,
                `titre` TEXT NOT NULL ,
                PRIMARY KEY ( `id` )
                );

                CREATE TABLE `comments` (
                `id` INT( 128 ) NOT NULL AUTO_INCREMENT ,
                `pseudo` TEXT NOT NULL ,
                `date` DATETIME NOT NULL ,
                `contents` TEXT NOT NULL ,
                PRIMARY KEY ( `id` )
                );


                J'avais pensé a ca...

                $req = mysql_query("select * from `news`, `comments` where `news`.`id` = `comments`.`id` order by `date` desc");


                Mais en faite me suis rendu compte que d'accord la news 1 correspond au commentaire 1 mais avec cette requete on peut faire que un commentaire par news sinon c'est mort...

                Donc la solution serait de creer un autre champ dans la table comments genre news-id mais elle contient quoi ?
                • Partager sur Facebook
                • Partager sur Twitter
                  27 novembre 2005 à 14:22:06

                  exact, tu crée un champ news_id par exemple dans ta table comments.
                  =>Quand le gars commente la news 1:tu insere la valeur 1 dans ce champ
                  =>Quand tu veut récuperer tous les commentaires de la news 1: t'as qu'à faire "SELECT * FROM comments WHERE news_id=1"
                  =>Si tu tient a recuperer article 1 et comms en meme temps: "SELECT news.*, comments.* FROM news, comments WHERE news.id=1 AND news.id=comments.news_id ORDER BY news.date DESC"
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    28 novembre 2005 à 2:59:10

                    Bon ben j'ai essayé marche pas...

                    news.php
                    <?

                    include("admin/bdd.php");

                    $req = mysql_query("select * from `users`, `news` where `users`.`id` = `news`.`auteur` order by `date` desc");

                    while($data = mysql_fetch_array($req, MYSQL_ASSOC)) {

                    $data['contents'] = str_replace(':D','<img src="admin/img/emoticons/big_smile.png" alt=":D" title=":D"/>',$data['contents']);

                    $data['contents'] = str_replace('(H)','<img src="admin/img/emoticons/cool.png" alt="(H)" title="(H)"/>',$data['contents']);

                    $data['contents'] = str_replace('*-)','<img src="admin/img/emoticons/hmm.png" alt="*-)" title="*-)"/>',$data['contents']);

                    $data['contents'] = str_replace(':lol:','<img src="admin/img/emoticons/lol.png" alt=":lol:" title=":lol:"/>',$data['contents']);

                    $data['contents'] = str_replace(':@','<img src="admin/img/emoticons/mad.png" alt=":@" title=":@"/>',$data['contents']);

                    $data['contents'] = str_replace(':|','<img src="admin/img/emoticons/neutral.png" alt=":|" title=":|"/>',$data['contents']);

                    $data['contents'] = str_replace('8-)','<img src="admin/img/emoticons/roll.png" alt="8-)" title="8-)"/>',$data['contents']);

                    $data['contents'] = str_replace(':(','<img src="admin/img/emoticons/sad.png" alt=":(" title=":("/>',$data['contents']);

                    $data['contents'] = str_replace(':)','<img src="admin/img/emoticons/smile.png" alt=":)" title=":)"/>',$data['contents']);

                    $data['contents'] = str_replace(':P','<img src="admin/img/emoticons/tongue.png" alt=":P" title=":P"/>',$data['contents']);

                    $data['contents'] = str_replace(';)','<img src="admin/img/emoticons/wink.png" alt=";)" title=";)"/>',$data['contents']);

                    $data['contents'] = str_replace(':-O','<img src="admin/img/emoticons/yikes.png" alt=":-O" title=":-O"/>',$data['contents']);

                    $data['contents'] = str_replace('[B]','<b>',$data['contents']);

                    $data['contents'] = str_replace('[/B]','</b>',$data['contents']);

                    $data['contents'] = str_replace('[I]','<i>',$data['contents']);

                    $data['contents'] = str_replace('[/I]','</i>',$data['contents']);

                    $data['contents'] = str_replace('[U]','<u>',$data['contents']);

                    $data['contents'] = str_replace('[/U]','</u>',$data['contents']);

                    $data['contents'] = str_replace('[URL=','<a href="',$data['contents']);

                    $data['contents'] = str_replace('[/URL]','</a>',$data['contents']);

                    $data['contents'] = str_replace('[IMG]','<img src="',$data['contents']);

                    $data['contents'] = str_replace('[/IMG]','" alt=""/>',$data['contents']);

                    $data['contents'] = str_replace('[EMAIL=','<a href="mailto:',$data['contents']);

                    $data['contents'] = str_replace('[/EMAIL]','</a>',$data['contents']);

                    $data['contents'] = str_replace('[QUOTE]','<div class="quote">',$data['contents']);

                    $data['contents'] = str_replace('[/QUOTE]','</div>',$data['contents']);

                    $data['contents'] = str_replace('[CODE]','<div class="code">',$data['contents']);

                    $data['contents'] = str_replace('[/CODE]','</div>',$data['contents']);

                    $data['contents'] = str_replace(']','">',$data['contents']);

                    ?>

                    <div class="avatar"><a href="mailto:<? echo $data['e-mail'] ?>?subject=Mangas Forever"><img src="<? echo $data['avatar'] ?>" alt=""/></a></div>

                    <div class="contents"><? echo $data['contents'] ?></div>

                    . <a href="admin/comments/add_comments.php?type=news&amp;id=<? echo $data['id'] ?>" onclick="window.open(this.href, '', 'height=192, width=624, top=100, left=100, toolbar=no, location=no, menubar=no, resizable=no, scrollbars=no, status=no'); return false;">Ajout Comments</a>
                    <table>

                    <tr>

                    <td class="date">. <? echo $data['date'] ?></td>

                    <td class="titre"><div class="right"><b><? echo $data['titre'] ?></b></div></td>

                    </tr>

                    </table><br/>

                    <? } ?>


                    add_comments.php
                    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">

                    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">

                    <head>

                    <title>Mangas Forever &raquo; Votre Bible sur la Japanim</title>

                    <meta http-equiv="Page-Enter" content="blendTrans(Duration=1.0)"/>

                    <meta http-equiv="Page-Exit" content="blendTrans(Duration=1.0)"/>

                    <meta http-equiv="imagetoolbar" content="no"/>

                    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>

                    <meta name="description" content="Sur ce site vous trouverez tout sur Dragon Ball/Z/GT, Saint Seiya et Yu-Gi-Oh."/>

                    <meta name="keywords" content="manga, mangas, série tv, anime, db, dbz, dbgt, dragon ball, dragon ball z, dragon ball gt, akira toriyama, saint seiya, masami kurumada, yu-gi-oh, kazuki takahashi"/>

                    <meta name="author" content="Abimandjou"/>

                    <meta name="generator" content="Dreamweaver MX, Adobe Photoshop"/>

                    <link href="http://dbz-fr.info/mf/style.css" type="text/css" media="screen" rel="stylesheet"/>

                    <script src="../../../script.js" type="text/javascript"></script>

                    </head>
                    <body>
                    <b>Comments &raquo;</b> Ajout Comments

                    <form action="confirm_add.php" method="post">

                    <p><label for="contents"><textarea cols="" rows="10" name="contents" id="textarea" class="textarea">Votre Texte Ici...</textarea></label></p>

                    <table>

                    <tr>

                    <td><label for="pseudo"><input size="" type="text" name="pseudo" id="pseudo" value="Pseudo" class="input-titre"/></label></td>

                    <td class="space"></td>

                    <td><input type="submit" name="post" value="Post" class="input-post"/></td>

                    </tr>

                    </table>

                    </form>
                    </body>

                    </html>


                    confirm_add.php
                    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">

                    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">

                    <head>

                    <title>Mangas Forever &raquo; Votre Bible sur la Japanim</title>

                    <meta http-equiv="Page-Enter" content="blendTrans(Duration=1.0)"/>

                    <meta http-equiv="Page-Exit" content="blendTrans(Duration=1.0)"/>

                    <meta http-equiv="imagetoolbar" content="no"/>

                    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>

                    <meta name="description" content="Sur ce site vous trouverez tout sur Dragon Ball/Z/GT, Saint Seiya et Yu-Gi-Oh."/>

                    <meta name="keywords" content="manga, mangas, série tv, anime, db, dbz, dbgt, dragon ball, dragon ball z, dragon ball gt, akira toriyama, saint seiya, masami kurumada, yu-gi-oh, kazuki takahashi"/>

                    <meta name="author" content="Abimandjou"/>

                    <meta name="generator" content="Dreamweaver MX, Adobe Photoshop"/>

                    <link href="http://dbz-fr.info/mf/style.css" type="text/css" media="screen" rel="stylesheet"/>

                    <script src="../../../script.js" type="text/javascript"></script>

                    </head>
                    <body>
                    <b>Comments &raquo;</b> Confirm Ajout Comments

                    <?

                    include("admin/bdd.php");

                    if(isset($_POST['post'])) {

                    $sql = "insert into `comments` values ('', '{$_GET['id']}', '{$_GET['type']}', '{$_POST['contents']}', '".date("Y-m-d H:i:s")."', '{$_POST['pseudo']}')";
                    mysql_query($sql);

                    echo '<p class="annonce">Comments Ajouter</p>';}

                    ?>
                    </body>

                    </html>


                    Je me casse la tete dessus ca veut pas m'enregistrez le commentaire dans la table...
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      28 novembre 2005 à 17:37:30

                      Personne n'a une solution parceque avec un action "index.php?rub=admin/comments/confirm_add" quand c'est sur une page ca enregistre alors que avec "confirm_add.php" quand c'est en popup ca marche pas... Oo
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Module De News...

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown