[Tuto] Scritp news pour votre site



  • Bonjours, et oui encore un tutorial by Natsu comment peut-on se passer de faire des tutoriaux pour aider les autres ? Moi j’adore sa.

    Ben cela est tout simple il vous suffit de crée 3 fichier *.php et votre hébergeur doit avoir une base de donnée et le phpmyadmin. Puis vous faite les actions suivantes :

    Renommé un fichier *.php en index.php et mettez y le code qui suit :

    <body>
    <?php
    // mettez y vos idendifiant pour se connecté a la basse de données de votre hébergeur ( laisser localhost)
     $base = mysql_connect ('localhost', 'login', 'password');  
     // ici mettez le nom de votre basse de donnés
    mysql_select_db('nom_bdd', $base);  
    
        // lancement de la requête. on sélectionne les news que l'on va ordonner suivant l'ordre "inverse" des dates (de la plus récente à la plus vieille : DESC) tout en ne sélectionnant que le nombre voulu de news à afficher (LIMIT)  
        $sql = 'SELECT auteur, titre, date, texte_news FROM news ORDER BY date DESC;';  
    
       // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)  
       $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
    
       // on compte le nombre de news stockées dans la base de données  
       $nb_news = mysql_num_rows($req);  
    
       if ($nb_news == 0) {
       // "aucune news enregistré" c'est le message qui va s'affichier si vous n'avez encore aucune news ( vous pouver modifier celons vos gout)
          echo 'Aucune news enregistrée.';  
       }  
       else { 
          // si on a au moins une news dans la bdd, on l'affiche 
          while ($data = mysql_fetch_array($req)) { 
    
             // on décompose la date 
             sscanf($data['date'], "%4s-%2s-%2s %2s:%2s:%2s", $an, $mois, $jour, $heure, $min, $sec); 
    
             // on affiche les résultats 
    
             echo '<br />News de : ' , htmlentities(trim($data['auteur'])) , '<br />'; 
             echo 'Titre :' , htmlentities(trim($data['titre'])) , '<br />'; 
             echo 'Postée le : ' , $jour , '/' , $mois , '/' , $an , ' à ' , $heure , ':' , $min , ':' , $sec , '<br /><br />'; 
            echo 'News : ' , nl2br(htmlentities(trim($data['texte_news']))) , '<br />'; 
          }  
       }  
       // on libère l'espace mémoire alloué à cette requête  
       mysql_free_result ($req);  
    
       // on ferme la connexion à la base de données  
       mysql_close ();  
       ?> 
    </body>
    

    Voila une fois le fichier index.php crée et modifier par vous on peut s’attaquer a un autre fichier *.php :

    Renommé un autre fichier *.php par news.php et mettez y le code suivant dedans :

           <html>
        <head>
    	<!-- changer le titre de la page comme vous coulez ;-) -->
        <title>Index de mon site WEB</title>
        </head>
       <body>
        <!-- code html avant l'affiche des news (tout dépend comment est constitu votre site) -->
        <?php
        // on inclut l'affichage de nos news  
        include ('news.php');  
       ?>
       <!-- code html apres l'affiche des news (tout dépend comment est constitué votre site) -->
      </body>
       </html> 
    

    Voila maintenant prenez le dernier fichier *.php et renommé le en insert_news.php et mettez y le code suivant :

        <?php
        // on teste si le formulaire a été validé  
        if (isset($_POST['go']) && $_POST['go']=='Poster la news') { 
           // mettez y vos idendifiant pour se connecté a la basse de données de votre hébergeur ( laisser localhost) 
           $base = mysql_connect ('localhost', 'login', 'password'); 
    	    // ici mettez le nom de votre basse de donnés
           mysql_select_db('nom_base', $base); 
    
           // on teste la déclaration de nos variables 
           if (!isset($_POST['auteur']) || !isset($_POST['titre']) || !isset($_POST['news'])) { 
            $erreur = 'Les variables nécessaires au script ne sont pas définies.'; 
          } 
          else { 
             if (empty($_POST['auteur']) || empty($_POST['titre']) || empty($_POST['news'])) { 
               $erreur = 'Au moins un des champs est vide.'; 
            } 
            // si tout est bon, on peut commencer l'insertion dans la base 
             else { 
               // lancement de la requéte d'insertion 
                $sql = 'INSERT INTO news VALUES("", "'.mysql_escape_string($_POST['auteur']).'", "'.mysql_escape_string($_POST['titre']).'", "'.date("Y-m-d H:i:s").'", "'.mysql_escape_string($_POST['news']).'")'; 
    
                // on lance la requéte (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die) 
            mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); 
    
                // on ferme la connexion à la base de données 
                mysql_close(); 
    
              // on redirige vers la page d'accueil du site (attention, cette redirection ne fonctionne qui si vous avez placé cette page dans un répertoire à partir de la racine du site). Si ce n'est pas le cas, veuillez entrer ici le bon chemin d'accès afin de retomber sur la page d'accueil du site. 
                header('Location: index.php'); 
              // on termine le script courant 
               exit(); 
            } 
          }  
       }  
       ?>
       <html>
       <head>
       <title>Insertion d'une nouvelle news</title>
       </head>
    
       <body>
    
       <!-- on fait pointer le formulaire vers la page traitant les données -->
       <form action="insert_news.php" method="post">
       <table>
       <tr><td>
       <span class="gras">Auteur :</span>
       </td><td>
       <input type="text" name="auteur" maxlength="30" size="50" value="<?php if (isset($_POST['auteur'])) echo htmlentities(trim($_POST['auteur'])); ?>">
      </td></tr><tr><td>
       <span class="gras">Titre :</span>
       </td><td>
       <input type="text" name="titre" maxlength="50" size="50" value="<?php if (isset($_POST['titre'])) echo htmlentities(trim($_POST['titre'])); ?>">
       </td></tr><tr><td>
       <span class="gras">News :</span>
       </td><td>
       <textarea name="news" cols="50" rows="10"><?php if (isset($_POST['news'])) echo htmlentities(trim($_POST['news'])); ?></textarea>
       </td></tr><tr><td><td align="right">
       <input type="submit" name="go" value="Poster la news">
       </td></tr></table>
       </form>
       <?php
       // on affiche les erreurs éventuelles  
       if (isset($erreur)) echo '<br /><br />',$erreur;  
       ?>
       </body>
       </html> 
    ```Voila maintenant vous devrez avoir avoir 3 fichier « index.php », « news.php » et « insert_news.php ».
    Si vous les avez (ce qui est obliger) ben il nous reste une action a faire ne pas oublier le MySQL je vous ait dis en début de ce tutorial que votre hébergeur devait avoir une base de données MySQL ben c’est la qu’elle rentre en jeu… vous aller aller dans votre phpmyadmin vous connecté tout sa et vous aller rentre une commande SQL en appuyant sur l’onglet SQL en haut de votre page vous y métrer ce code :
    

    CREATE TABLE IF NOT EXISTS news (
    id int(6) NOT NULL auto_increment,
    auteur varchar(30) NOT NULL,
    titre text NOT NULL,
    date datetime NOT NULL default '0000-00-00 00:00:00',
    texte_news text NOT NULL,
    PRIMARY KEY (id)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

    Voila vous avez crée votre script !
    
    @Inconnu:
    
    > Oui mais comment je fait pour mettre une news ?
    
    Ben si vous vous y connaiser meme juste un peu en php/mysql vous devrié le savoir mais je vais vous le dire :
    Pour ajouté une news c’est très simple il vous suffit d’aller dans votre phpmyadmin , vous sélectionné la basse de donnés news et vous cliquer sur inséré âpres il y a des champs a remplir titre, auteur…etc ben vous savez quoi remplir dans titre : titre de votre news , dans auteur : ben un pseudo , dans texte news : le contenue de votre news , dans date heure il vous suffit de cliquer sur la petite icône et vous choisissez la date et dans le champs ID vous mettez rien :-P si vous voulez un aperçu aller sur [http://legend.freeheberg.com/](http://legend.freeheberg.com/) bye
    
    prochain tutorial "comment mettre une livre d'or sur son site"
    
    Source utiliser : [http://www.lephpfacile.com/howto/2-un-script-de-news](http://www.lephpfacile.com/howto/2-un-script-de-news)


  • A rajouter : http://www.lephpfacile.com/howto/2-un-script-de-news ( la source ) :lol:



  • @dark039:

    A rajouter : http://www.lephpfacile.com/howto/2-un-script-de-news ( la source ) :lol:

    Attention, il à modifier quelque petit trucs :lol:



  • @mangas-a-donf:

    @dark039:

    A rajouter : http://www.lephpfacile.com/howto/2-un-script-de-news ( la source ) :lol:

    Attention, il à modifier quelque petit trucs :lol:

    Oui il a ajouté des fautes d'orthographe :D

    Non sérieux il a changé l'ordre et fait passé l'étape de MySQL en dernier alors que sur l'original c'est au tout début .

    En revanche les codes php restent les même ^^



  • svp areté de critique a chaque tuto svp c'est bien une fois on samuse bien mais apres sa soul !!!



  • Je critiques pas… ( bon d'accord si et je m'en excuse ).

    Mais pour quelqu'un qui dit euh... attends je cite :

    @Natsu:

    moi les 2 tuto que j'ai fait c'est pas du copier/coller ils sont introuvable sur le net… et désoler si j'ai que 14ans et que l'ecriture c'est pas mon point for ...

    Respecte au moins les sources !

    L'orthographe je m'en fous + ou - c'est juste que c'est chiant à lire…

    Mais chuut ! Je dis + rien sinon on va me ban à force que je soit chiant lol



  • question très simple: ce que tu c/c en tuto, tu le comprend au moins? Tu saurais le refaire sans le lire/relire?

    Aussi, quand on pompe un tuto, par respect pour l'auteur, même s'il ne le sais pas forcément, on met la source utilisée (et pas un "by moi-même")

    Je dis pas, c'est sympa pour les autres de faire de tutos, mais les rendre moins lisibles que l'original et rajouter plein de fautes d'orthographe/grammaires, c'est pas forcément le bon plan, enfin..

    A bon entendeur, bonne continuation.



  • les 2 premier tuto que j'ai ecrit oui c'etait de moi ! apres c'est d'autre site c'est tout



  • @Natsu:

    Bonjour, et oui encore un tutorial by Natsu comment peut-on se passer de faire des tutoriaux pour aider les autres ? Moi j’adore ça.

    Ce genre de phrase est à éviter quand le tuto n'est pas de toi…

    Bon je remarque que tu as cité la source tout en bas du tuto c'est déjà pas mal.



  • ben oui c'est normale by Natsu powered by lephpfacile



  • @Natsu:

    ben oui c'est normale by Natsu powered by lephpfacile

    Moi je dirais plutot LePHPFacile + Natsu qui a remis les trucs dans l'ordre et qui ne laisse pas a source indiqué =)

    (Bon j'arrete de parler sur ce topic je vais finir par flooder :P)


Se connecter pour répondre
 

Il semble que votre connexion ait été perdue, veuillez patienter pendant que nous vous re-connectons.