Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    13

    problema in scrittura sui file

    <?php
    $data = $_POST['data'];
    $articolo = $_POST['articolo'];
    $email = $_POST['email'];

    echo "<center>";
    echo "Ciao ecco i risultati del tuo inserimento:";
    $errore= false;

    If((!$data) || (!$articolo) || (!$email)) {

    #controllo che nessun campo sia vuoto
    $errore=true;
    echo "Non hai compilato tutti i campi <a href=\"news_update.php\">torna indietro</a>";
    exit;
    }
    else{
    echo " i campi sono ok";
    }

    #controllo che il file sia accessibile
    if (!$apri = fopen ("file.txt","a+")) {
    $errore=true;
    echo "non posso aprire il file";
    }else{
    $apriw = fopen ("file.txt","a+");

    #ora creo una variabile che contiene la linea di reparazione
    $linea ="<hr color=red>";
    # e sul file scrivo nome e vado a capo,il recapito e vado a capo

    # l'oggetto e vado a capo e la linea ti separazione
    fputs($apriw,"<span class=titolo>$data\n</span>");
    fputs($apriw,"$articolo"."\n");
    fputs($apriw,"

    $email</p>

    ");
    fputs($apriw,"$linea");

    #chiudo il file
    fclose($apriw);
    }

    #se c'e l'errore mi dice di inserirli di nuovo altrimenti mi fa leggere gli annunci
    if($errore){
    echo"
    Riinseriscili perfavore
    ";
    }
    else{
    echo "
    <a href=\"news_update.php\">leggi gli annunci</a>";
    }
    ?>

    Scrivendo sul form un qualsiasi carattere con ' sul file file.txt appare appare l'\ ombrello al posto di l'ombrello. Come mai? Cosa devo fare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    13
    correggo:
    l\' ombrello al posto di l'ombrello

  3. #3
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Quando la direttiva php "magic_quotes_gpc" è impostata a on (è così di default) su tutti i dati GET, POST, e COOKIE viene eseguita la funzione addslashes().

    Questa funzione restituisce una stringa con il carattere di backslash '\' anteposto ai caratteri quali apici singoli ( ' ), doppi apici ( " ), backslash ( \ ) e NUL (il byte NULL), fondamentalmente i caratteri che richiedono il quoting nelle query dei database.

    Nel tuo caso, per eliminare il carattere aggiunto (backslash) ti basta applicare al testo interessato la funzione stripslashes().

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.