Visualizzazione risultati 1 fino 4 di 4

Discussione: Come inserire news velocemente nel proprio sito.

  1. #1
    Guest

    Predefinito Come inserire news velocemente nel proprio sito.

    Mi chiedevo se poteste spiegarmi come inserire, tramite php, news velocemente nel proprio sito. Ci sono degli script confezionati ma non li riesco ad usare come posso fare?

  2. #2
    Guest

    Predefinito

    quali sono gli script che nn riesci ad usare??

    ciao ^__^

  3. #3
    Guest

    Predefinito

    fai una tabella, nella quale metti un ciclo in php che visualizza una riga alla volta nel database.. naturalmente le news devono essere scritte nel db, non nella pagina.. è anke più comodo.. se vuoi fare così diccelo che t spieghiamo...
    ciao

  4. #4
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Ciao, anche io in passato avevo lo stesso problema. L'unica soluzione è il php: Puoi creare una pagina dove compariranno i titoli delle news, una dove comparirà la news, uno per scrivere nel database e una per inviare la news (tramite form).

    La questione è abbastanza semplice:

    Innanzi tutto crea un file che si chiama db_news.txt, e li verranno archiviati i titoli, l'id, e la data.

    Poi crea una cartella intitolata news e li dentro verrà automaticamente generato un file chiamato news_$id.txt ($id indica la variabile dell'id della news) dove verrà visualizzata la news.

    Quindi, il file per scrivere nel database da chiamarsi inserisci_news.php sarà:
    Codice:
    <?php
    
    //indico le variabili
    $data=date("d/m/Y");
    $testo=@$_POST[testo];
    $titolo=@$_POST[titolo];
    
    $fpxk=fopen("id_news.txt",r);
    $fgt=fgets($fpxk);
    fclose($fpxk);
    $ikd=$fgt+1;
    $fpxs=fopen("id_news.txt",w);
    fputs($fpxs,$ikd);
    fclose($fpxs);
    
    // qui rendo obbligatori i campi testo e titolo
    if(($testo=="") || ($titolo=="")){
    
    echo " invio fallito";
    
    }else{
    
    // qui facci in modo che il testo vada accapo quando lo indichi nel form
    $testo=str_replace("\r","<br>",$testo);
    $testo=str_replace("\n","",$testo);
    
    //qui faccio in modo ch nella notizia non compaiano i simboli / in prossimità degli apici.
    $testo=stripslashes($testo);
    $titolo=stripslashes($titolo);
    
    $st="$fgt|$data|$testo|$titolo|\n";
    
    $i_news=fopen("./news/news_$fgt.txt",w);
    fputs($i_news,$testo);
    fclose($i_news);
    
    $op_db=fopen("db_news.txt",a);
    $fpx=fputs($op_db,$st);
    fclose($op_db);
    
    if($fpx){
        echo " invio riuscito";
    }else{
        echo "invio fallito";
    }
    
    }
    
    
    ?>
    Adesso è importante che tu nella news non inserisca il simolo | perchè manderebbe in tilt il database.

    Vediamo ora il file che ti servirà per visualizzare i titolo della news:
    Codice:
    <?php
    
    //richiamiamo il database
    $op_db=file("db_news.txt");
    
    //qui indico che le ultime news inserite dovranno comparire per prime e subito dopo richiamo le variabili
    $op_db=array_reverse($op_db);
    $cnt=count($op_db);
    
    foreach($op_db as $k => $val){
        if($val!=""){
            list($id,$data,$testo,$titolo)=explode("|",$val);
            echo "<a href=\"vedi_news.php?id=$id\">$titolo</a>\n";
        }
    }
    
    ?>
    Adesso la stringa all'interno dell'echo potrei modificarla come meglio trovi, l'importante è che inserisci sempre il simbolo / prima degli apici.

    Vediamo ora come verrà il file per la visualizzazione della notizia da chiamarsi vedi_news.php
    Codice:
    <?php
    
    $id=$_GET[id];
    
    $op_db=file("db_news.txt");
    
    $op_db=array_reverse($op_db);
    
    foreach($op_db as $kx => $val){
       
            list($id,$data,$testo,$titolo)=explode("|",$val);
    if($k==$id){
    
    
            echo "
    <table align=\"center\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tr><td>Data: $data - $titolo<hr>";
    
    include("./news/news_$id.txt");
    
    echo "</td></tr></table><br>";
         }
    }
    
    ?>
    Com potrai osservare è simile al codice precedente, solo che richiam sia l'id attraverso GET e poi richiamo la notizia tramite include.

    Adesso manca solo il form per inviare la news, e sara di questo genere:
    Codice:
    <form name="PostTopic" action="inserisci_news.php" method="post" enctype="multipart/form-data">
    <table cellspacing="2" cellpadding="2" border="0"><tr>
    <td>Titolo:<input type="text" size="30" maxlength="40" name="titolo"></td>
    </tr><tr>
    <td>Testo:<textarea cols="42" rows="10"  ID="Message" name="testo"></textarea></td></tr></table>
    <input type="submit" value="Invia">&nbsp;<input type="reset" value="Resetta" />
    </form>
    E il gioco è fatto! Non sono sicuro che funzioni perchè non l'ho provato in locale, ma dovrebbe andare. Se hai qualche dubbio o non riesci a fare qualcosa scrivilo pure qui.

    Spero di esserti stato d'aiuto

    ciaoooo
    Ultima modifica di silverseraph : 05-02-2006 alle ore 10.54.14

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •