• User

    Funzione addslashes non funziona

    Saaaaaalve a tutti!!! ho un problema: non mi funziona la funzione addslashes!!!! (è più plausibile che sono io che non la sappia usare :?)

    io ho scritto così:

    [PHP]if(isset($_POST['descrizione'])){ $descrizione = addslashes(filter_var($_POST['descrizione'], FILTER_SANITIZE_STRING));
    $descrizione = nl2br($_POST['descrizione']);
    echo "DESCRIZIONE: " . $descrizione . "\n";
    }[/PHP]

    quando richiamo la funzione inserisci mi dice che c'è un errore dovuto alle virgolette " o al singolo apice '.

    Perchè fa questo? non dovrebbe inserire automaticamente i caratteri di escape??
    Grazie a chi saprà illuminarmi 😄


  • User Attivo

    if (isset($_POST['descrizione'])) {
    $descrizione = addslashes(filter_var($_POST['descrizione'], FILTER_SANITIZE_STRING));
    $descrizione = nl2br($_POST['descrizione']);
    echo "DESCRIZIONE: " . $descrizione . "\n";
    }

    Con il tuo codice la prima riga dentro l'if viene completamente sostituita dalla seconda, in quanto nella seconda riassegni alla variabile $descrizione il dato in POST, e non quello filtrato con addslashes().

    Così va meglio:

    if (isset($_POST['descrizione'])) {
    $descrizione = addslashes(filter_var($_POST['descrizione'], FILTER_SANITIZE_STRING));
    $descrizione = nl2br($descrizione);
    echo "DESCRIZIONE: " . $descrizione . "\n";
    }

    o direttametne:

    if (isset($_POST['descrizione'])) {
    $descrizione = nl2br(addslashes(filter_var($_POST['descrizione'], FILTER_SANITIZE_STRING)));
    echo "DESCRIZIONE: " . $descrizione . "\n";
    }


  • User

    Verooooooo!! Ti ringrazio 😄 grazie grazie grazie!! 😄