• Consiglio Direttivo

    @markez said:

    mi da ancora errore nella riga $text=$_REQUEST["text"];
    nonostante questo errore tutto funziona bene,
    mi sfugge perchè dia errore....ma mi par di capire che nonostante dia errore funge tutto, giusto?
    @markez said:
    mi interessava come ti dicevo riuscire a mettere
    le news piu recenti per prime
    basta invertire il ciclo, invece di far partire $i da 0 lo fai partire dal valore di count($textarray), ed invece di incrementarlo lo decrementi, ovvero $i=$i-1 ad ogni ciclo ;), ovviamente devi fermare il ciclo quando $i=0 😉


  • User

    ok ti ringrazio! nn ce l'avrei mai fatta da solo...

    un ultima cosa scusa se me ne approfitto 🙂
    per uscire dal ciclo quando $i=0 cosa devofare


  • Consiglio Direttivo

    <FONT face="Courier New">[php]$i=count($textarray);
    echo "<table><caption align=center>NEWS</caption>";
    while($i<=0)
    {
    $string=substr($textarray*, 0,-1);
    list($data, $text)=explode("@", $string);
    echo '<tr valign=center>';
    echo "<td>".$data."</td><td>".$text."</td>";
    echo '</tr>';
    $i=$i-1 ;
    }
    echo '</table>';
    ?> [/php]

    😉


  • User

    con il codice che mi hai dato in news.php non vedo niente ho provato a modificare la condizione del ciclo
    da while($i<=0) a while($i>0)
    cosi facendo vedo le news nel giusto ordine ma ho 2 errori nelle linee
    $string=substr($textarray*, 0,-1);
    list($data, $text)=explode("@", $string);

    devo cambiare qualcosa anche qua?


  • Consiglio Direttivo

    @markez said:

    con il codice che mi hai dato in news.php non vedo niente ho provato a modificare la condizione del ciclo
    da while($i<=0) a while($i>0)
    maledetta fretta...ovviamente maggiore o uguale, indi $i=>0 😉

    @markez said:

    $string=substr($textarray*, 0,-1);
    list($data, $text)=explode("@", $string);

    devo cambiare qualcosa anche qua?

    che errori ti da?


  • User

    se metto anche l'uguale nella condizione nn visualizza niente se metto solo > visualizza le news corrette e poi questi 2 errori
    Notice: Undefined offset: 4 in c:\programmi\easyphp1-8\www\news\news.php on line 12

    Notice: Undefined offset: 1 in c:\programmi\easyphp1-8\www\news\news.php on line 13


  • Consiglio Direttivo

    ti visualizza tutte le news?

    non comprendo perchè quegli errori......estraiti l'HTML della pagina e dagli un occhiata 😉

    oppure prova ad uppare il tutto, certe volte in locale potrebbe dare noie 😉


  • User

    il codice che fa le bizze è il seguente provalo da te se non tida errori alla faccia di easy php per me è ok
    <html>
    <head><title>news</title>
    </head>
    <body>
    <?php
    $file="news.txt";
    $textarray=file($file);
    $i=count($textarray);
    echo "<table><caption align=center>NEWS</caption>";
    while($i>0)
    {
    $string=substr($textarray*, 0,-1);
    list($data, $text)=explode("@", $string);
    echo '<tr valign=center>';
    echo "<td>".$data."</td><td>".$text."</td>";
    echo '</tr>';
    $i=$i-1 ;
    }
    echo '</table>';
    ?>
    </body>
    </html>


  • Consiglio Direttivo
     
    <html>
    <head><title>news</title>
    </head>
    <body>
    <?php
    $file="news.txt";
    $textarray=file($file);
    $i=count($textarray);
    echo "<table><caption align=center>NEWS</caption>";
    while($i>=0)
    {
    $string=substr($textarray*, 0,-1);
    list($data, $text)=explode("@", $string);
    echo '<tr valign=center>';
    echo "<td>".$data."</td><td>".$text."</td>";
    echo '</tr>';
    $i=$i-1 ;
    }
    echo '</table>';
    ?> 
    </body>
    </html>
    
    

    risolto 😉
    invece di =>, andava scritto >=
    l'ho uppato e non da nessun errore, ne con FF ne con IE 😉


  • User

    ok tutto aposto, però cè un altra cosa avendo invertito il ciclo while se vado a capo nella textarea viene visualizzata nelle news prima la linea con cui sono andatoa a capo e poi la data e l'inizio delle news

    es :
    hhjjjj
    dddd
    ddddd
    12-12-12-11:09:15 ndhdhdhdhdhd

    cavolo è un bel problema


  • Consiglio Direttivo

    ma lo stai provando sempre in locale???

    io ho uppato un file txt, che per come vien scritto dal control_panel.php è così scritto:
    2007-12-20@testo 1
    2007-12-21@testo 2
    2007-12-22@testo 3
    2007-12-23@testo 4
    2007-12-25@testo 5
    2007-12-26@testo 6

    ho uppato quel codice, e mi vien fuori:
    NEWS
    2007-12-26 testo 6
    2007-12-25 testo 5
    2007-12-23 testo 4
    2007-12-22 testo 3
    2007-12-21 testo 2
    2007-12-20 testo 1

    non comprendo perchè ti escano quei valori.......


  • Consiglio Direttivo

    ok, son pirla io :D:D

    [PHP]......
    $file="news.txt"; //* assegnamo il path del file /
    $text="";
    $text=$_REQUEST["text"];
    $text=str_replace("\n", " ", $text); //
    aggiungi questo in control_panel.php */
    if ($text!="")
    .....
    ..[/PHP]


  • User

    Mi sa che non hai capito il problema, se nella text area io scrivo es:

    prima lineascritta nella textarea //poi vai a capo
    seconda lineascritta nella textarea //poi vai a capo
    terza lineascritta nella textarea //poi vai a capo

    nella pagina delle news vedrò:

    terza lineascritta nella textarea
    seconda lineascritta nella textarea
    2007 12-12-11:ecc..prima lineascritta nella textarea
    2007 12-12-11:ecc..news precendente

    leggo dall ultima riga della news a quella di inizio news
    questo è il problema a cui mi riferivo
    prova a testarlo da te cosi capisci subito.


  • Consiglio Direttivo

    ho testato, risolvi aggiungendo quello che ho scritto sopra 😉


  • User

    grande tutto OK!

    adesso mancano solo i fiorellini...

    ti ringrazio alla prossima!


  • User

    Scuasa Samyorn ma mi sono accorto che nella text area se vado a capo nelle news ( che vengono visualizzate Correttamente) l'acapo non viene riportato,

    quindi ad esmpio se scrivo nella textarea:
    prova.
    prova2
    nelle news trovero scritto:

    prova.prova2

    si puo fare in modo che l'acapo sia riportato nelle news?

    e mi chiedevo "se nn era troppo sbattimento" cosa dovrei fare per iserire un campo Titolo nell form e riportarlo come titolo all inizio delle news

    giuro che poi non ti rompo piu le palle:D!
    ciao


  • Consiglio Direttivo

    @markez said:

    Scuasa Samyorn ma mi sono accorto che nella text area se vado a capo nelle news ( che vengono visualizzate Correttamente) l'acapo non viene riportato, quindi ad esmpio se scrivo nella textarea:
    prova.
    prova2
    nelle news trovero scritto:
    prova.prova2
    Giusto che faccia così, e ti spiego perchè: il comando $textarray=file($file);
    non fa altro che creare un array (penso tu sappia che significa) prendendo i dati dal txt e li posiziona, dal primo all'ultimo, separandoli ogni volta che trova il newline (\n), ovvero se il file è strutturato così:
    testoriga1\n (\n ovviamente nel txt non lo vedi ma c'è :2:
    testoriga2\n
    testoriga3\n
    testoriga4\n
    .......
    .......
    testorigan\n
    con il comando file ti si creera' un array che sarà così strutturato:
    $textarray[0]=testoriga1(+il simbolo di a capo che non devi chiedermi qual'è XD)
    $textarray[1]=testoriga2
    ......
    ......
    $textarray=testorigan
    infatti per ovviare al problema di prima che ti sballava la visualizzazione abbiam dovuto eliminare tutti gli \n presenti nel testo che parte dalla textarea ( $text=str_replace("\n", " ", $text); ).
    oh, non voglio fare il professorino eh 😉 non ne sono all'altezza...
    ritengo giusto che tu capisca cosa stai facendo, magari ti potrebbe servire in futuro 😉
    @markez said:
    si puo fare in modo che l'acapo sia riportato nelle news?
    niente paura 😄 il problema si risolve facilmente, modifica i file per come di seguito:
    Control_panel.php
    [php].........
    ........
    $text=$_REQUEST["text"];
    $text=str_replace("\n", "", $text); //** riga da modificare */
    if ($text!="")
    ......
    .......
    [/php]

    news.php
    [php].....
    .....
    while($i>=0)
    {
    $string=substr($textarray*, 0,-1);
    list($data, $text)=explode("@", $string);
    $text=str_replace("", "<br>", $text); //** riga da aggiungere */
    echo '<tr valign=center>';
    .....
    .....[/php]

    @markez said:

    e mi chiedevo "se nn era troppo sbattimento" cosa dovrei fare per iserire un campo Titolo nell form e riportarlo come titolo all inizio delle news
    non ho ben capito, intendi qualcosa come il NEWS che già ti appare quando vedi le news o altro??

    @markez said:

    giuro che poi non ti rompo piu le palle:D!

    ma figurati XD
    per me vale come esercitazione, le news io me le gestisco con Db, pertanto ora ho trovato anche come farle da txt 😉


  • User

    Perfetto! funziona e ho imparato qualcosa di nuovo!

    Per quanto rigurda il titolo, si intendevo se per ogni news pubblicata sia possibli mettere un titolo tipo la scritta news.( in modo che ogni nuova news postata abbia un titolo )

    L'unica cosa che mancherebbe (ma poi otteniamo veramente la perfezione!) sarebbe un meccanismo per poter fare delle correzioni o cancellare vecchie news...
    forse chiedo troppo, però poi abbaimo un vero propio script fatto efinito per la gestione contenuti.

    ciao


  • Consiglio Direttivo

    Se po fa' 😄

    ma se ne parla stasera che son tornato al lavoro adesso XD

    😉


  • User

    Mi sono accorto di una piccola anomalia nell' html di news.php:

    <html>
    <head><title>news</title>
    </head>
    <body>
    <table><caption align=center>NEWS</caption><br />
    <tr><td></td><td></td></tr><tr><td>2007-12-14 15:37:20</td><td>seconda prova dello script
    <br>da forum realizzato veramente
    <br>niente male azz PROVA</td></tr><tr><td>2007-12-14 15:25:52</td><td>prova
    <br>acapo</td></tr></table>
    </body>
    </html>

    Praticamente ripete le celle prima della data e poi dell testo vuote senza dentro niente ho provato a segnarle con id=data id=text e ottengo:
    <html>
    <head><title>news</title>
    </head>
    <body>
    <table><caption align=center>NEWS</caption><br />
    <tr><td id=data></td><td id=text></td></tr>
    <tr><td id=data>2007-12-14 15:37:20</td><td id=text>seconda prova </td></tr>
    <tr><td id=data>2007-12-14 15:25:52</td><td id=text>prova</td></tr></table>
    </body>
    </html>

    non capisco perchè le ripete una volta vuote prima di riempirle con il testo