Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    43

    Str_replace che non funziona

    Salve a tutti

    Ho un semplicissimo form di inserimento news, sul campo testo applico una str_replace per sostituire gli apici con un altro carattere lo sript è il seguente:

    definisco la variabile
    $testo = $_POST['testo'];

    e applico l'insert

    $sql = "INSERT INTO news (nw_titolo, nw_testo, nw_img, nw_stato, nw_data) values ('" . $_POST["titolo"] . "', '" . str_replace("'", "\'", $testo) . "', '$img', 1,CURDATE())";

    quando eseguo l'inserimento è come se la str_replace non esistesse.

    qualcuno sa dirmi dove sbaglio???

  2. #2
    Questo che hai scritto:
    Codice PHP:
    str_replace("'""'"$testo
    sostituisce il carattere
    '
    con se stesso...è per questo che la tua str_replace non serve a niente...
    Administrator of NAMDesign.Net

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    43

    continua a non funzionare

    scusa ho postato una delle innumerevoli prove
    quella corretta è quella con \ prima dell'apice

    $sql = "INSERT INTO news (nw_focus,nw_titolo, nw_testo, nw_img, nw_stato, nw_data) values ('" . $_POST["focus"] . "','" . $_POST["titolo"] . "', '" . str_replace("'", "\'", $testo) . "', '$img', 2,CURDATE())";

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    43
    scusate ma quando posto lo script sega il \...mi sembrava strano....
    comunque grazie per avermi risposto

  5. #5

    Re: continua a non funzionare

    Originariamente inviato da leti
    scusa ho postato una delle innumerevoli prove
    quella corretta è quella con \ prima dell'apice

    $sql = "INSERT INTO news (nw_focus,nw_titolo, nw_testo, nw_img, nw_stato, nw_data) values ('" . $_POST["focus"] . "','" . $_POST["titolo"] . "', '" . str_replace("'", "\'", $testo) . "', '$img', 2,CURDATE())";
    meglio se leggi prima la pillola di Luca200....

    http://forum.html.it/forum/showthrea...ostid=10166292

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    43
    Allora... ho seguito alla lettera l'articolo impostando il mio script in questo modo:

    $testo = $_POST['testo'];
    $testo_con_escape = mysql_real_escape_string($testo);

    $sql = "INSERT INTO news (nw_titolo, nw_testo, nw_img, nw_stato, nw_data) values ('" . $_POST["titolo"] . "', '$testo_con_escape', '$img', 1,CURDATE())";

    e ho disabilitato magic_quotes_gpc.

    L'errore può essere generato dal character set del database?
    oh yes...!

  7. #7
    Originariamente inviato da leti
    Allora... ho seguito alla lettera l'articolo impostando il mio script in questo modo:

    $testo = $_POST['testo'];
    $testo_con_escape = mysql_real_escape_string($testo);

    $sql = "INSERT INTO news (nw_titolo, nw_testo, nw_img, nw_stato, nw_data) values ('" . $_POST["titolo"] . "', '$testo_con_escape', '$img', 1,CURDATE())";

    e ho disabilitato magic_quotes_gpc.

    L'errore può essere generato dal character set del database?
    quale errore? comunque non dal character set.

    Se l'errore e' stringa vuota prova a verificare che sia valorizzato correttamente $_POST.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    43
    L'errore che genera è il seguente:

    Se nel campo testo scrivo l' albero è bello l'errore generato è

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'albero è bello &PHPSESSID=rtctm89pluca6h9rl8fshdobm6')' at lin

    suppongo perchè l'apice generi un' interruzione di stringa.

    ho controllato la corretta valorizzazione del campo testo con

    printf ("La stringa con le sequenze di escape: %s\n", $testo_con_escape);

    l'errore di inserimento apice è sempre lo stesso, altrimenti "stampa il valore inserito"

    Mistero o sono io a non capirci puù nulla????
    oh yes...!

  9. #9
    qualcosa non quaglia. Stampa l'array $_POST cosi' come lo ricevi. Metti il seguente all'inizio dello script e vedi cosa ti stampa.
    codice:
    <?php
    
    echo "<pre>";
    print_r($_POST);
    exit;

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    43
    Dunque quello che mi riorna è questo

    Array
    (
    [titolo] => prova titolo
    [focus] => prova focus
    [data] => 06/01/2008
    [testo] => prova testo

    [PHPSESSID] => b13dvhr2sglmo0m1atqfliapn0
    )

    naturalmente per l'inserimento apici persiste lo stesso errore
    oh yes...!

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.