• User Newbie

    Modificare News

    Salve... ho un problemino... sto costruendo uno script (con l'utilizzo dei file txt) per l'aggiunta delle news.
    Nel file file di testo ci sono le mie informazioni separate da | (Titolo|anteprima|articolo|immagine)

    Nel pannello di controllo ho fatto un link per la modifica delle news Scegliendo una determinata news, vorrei far apparire dei form con al loro interno le informazioni di quella selezionata news.

    Il mio script è:

    <html>
    <body>
    <center>
    <?php

    if (!$apri = fopen("../news/file.txt","w")){
    echo "Non posso aprire il file";
    }else{
    #Se il file si può leggere allora con un ciclo while

    leggo tutte le righe del mio file

    while(!feof($apri)){
    #memorizza gli annunci in leggo che adesso è un vettore
    $leggo["titolo"][] = fgets($apri,255);
    $leggo["anteprima"][] = fgets($apri,255);
    $leggo["articolo"][] = fgets($apri,255);
    $leggo["immagine"][] = fgets($apri,255);
    }

    Conta il numero di annunci

    $numero=count($leggo["titolo"])-1;

    if($_GET['number']>$numero || $_GET['number']<0)
    {
    exit(" ERROR number not valid !");
    }
    else
    {
    $n=$_GET['number'];
    }
    echo "Ecco l'annuncio che vuoi modificare<br>";
    }
    echo " <form method=get action='edit.php'>";
    echo ' <tr><td>TITOLO:</td><td><input type="text" name="titolo" value="'.$leggo["titolo"].'"></td></tr>';
    echo ' <tr><td>Anteprima:</td><td><input type="text" name="anteprima" value="'.$leggo["anteprima"].'"></td></tr>';
    echo ' <tr><td>Articolo:</td><td><textarea name="articolo" rows="10" cols="40">' .$leggo["articolo"].'</textarea></td></tr>';
    echo ' <tr><td>immagine:</td><td><input type="text" name="immagine" value="'.$leggo["immagine"].'"></td></tr>';
    echo ' <input type="submit" value="Invia">';
    echo '<input type="reset" value="Cancella">';
    echo " </FORM>";

    fclose($apri);

    ?>
    </body>
    </html>

    ma con ogni tentativo, l'interno dei miei form è SEMPRE vuoto e non riesco a leggere all'interno del file TXT. (al massimo riesco a cancellare la news nel suo complesso, ma non a modificarla)
    Dove sbaglio?
    Ciriciaoooooooooo


  • User Attivo

    Ti conviene leggere il file con il comando "file" che ti apre il file e lo mette direttamente in un array. (comodo)
    Ecco il manuale...
    http://se.php.net/manual/en/function.file.php

    Una volta che hai l'array passi riga per riga a fare un bel explode('|',$riga) in modo da separare i campi.

    Quando dovrai scrivere nel file ti basterà ricostruire l'array con implode e successivamente usare file_put_contents, oppure i consigli che trovi sul manuale...
    http://se.php.net/manual/en/function.file-put-contents.php