• User

    problema \ in edit text file

    Salve ragazzi,

    ho un problemino che non riesco a risolvere; uso questo codice php per editare un file di testo.
    <?php
    if($_POST['Submit']){
    $open = fopen("file.txt","w+");
    $text = $_POST['update'];
    fwrite($open, $text);
    fclose($open);
    echo "--> Dato aggiornato!<br />";
    echo "-->Dato aggiornato!<br /><br />";
    $file = file("file.txt");
    foreach($file as $text) {
    echo $text."<br />";
    }
    }else{
    $file = file("file.txt");
    echo "<form action="".$PHP_SELF."#step2" method="post">";
    echo "<textarea Name="update" cols="30" rows="1">";
    foreach($file as $text) {
    echo $text;
    }
    echo "</textarea>";
    echo "<br><input name="Submit" type="submit" value="Aggiorna" />\n
    </form>";
    }
    ?>

    Quando però inserisco il carattere ' mi aggiunge una \ nel salvataggio di file.txt ovvero scrivo "l'utente" che diventa "l'utente".
    Se vado a rieditare togliendo lo \ me ne aggiunge 2 cioè "l\'utente" e via di seguito 3 etc.
    Il file.txt è salvato utf-8.

    qualcuno sa aiutarmi?


  • Consiglio Direttivo

    Ciao alexVs
    le strade percorribili credo siano due:

    • Trasformi l'apice in entità HTML prima di scrive il testo sul file;
    • utilizzi, all'atto della visualizzazione, la funzione stripslashes.

    Ce ne sarebbe un'altro, quello di trasformare l'apice in virgoletta singola...ma è molto poco professional 😄 (e comunque, se un domani volessi utilizzare altro, tipo un Db, darebbe noie anche questo :2:


  • User

    grandissimo pur non capendoci nulla di php ho modificato così

    $text = (stripslashes ($_POST['updatedesc']));

    azz sembra proprio funzionare 😮

    GRAZIE!