Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    16

    gestione delle virgolette

    ciao a tutti,
    premetto che il problema che ho mi si pone quando i valori di un form vengono caricati per la seconda volta. Faccio l'esempio di un form per modificare dei campi textare:

    se nel modificare un campo non scrivo niente in un campo la pagina mi si ricarica perche devo inserire del testo in quel form ma se in un'altra textarea sono presenti delle virgolette quest'ultime vengono commentate la prima volta con uno \ poi con 3 poi con 7 e cosi via.
    come posso risolvere questo problema?
    con l'apice ho risolto con questa funzione: $stringa = str_replace("\'","'",$stringa);
    ma con le virgolette ho problemi.... potete aiutarmi?


    grazie 1000!

  2. #2
    sai già la soluzione... l'hai detta tu stesso:

    Codice PHP:
    $stringa str_replace('\"','"',$stringa); 
    nota bene l'alternanza di ' e " nei due casi....

  3. #3

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    16
    alternare " e ' non mi va bene anche perche è un form che stampo.... ecco un po di codice


    ..."'";} else{ echo ($_POST['stringa']). "'";}echo" /><...



    ho notato anche che se inserisco una stringa con una virgoletta o un apice tutto quello che sta dopo incluso l'apice non mi viene scritto. non riesco a capire dove sbaglio ma è pure vero che ho cominciato da poco...
    riguardo a htmlentities ho gia provato anche perche devo poter utilizzare anche caratteri come à,è etc etc e tanto per cambiare devo andare a capo quando stampo a video il testo e caricare
    nel database altrimenti non mi funziona.... cmq grazie andro a leggere le guide.

    ciao e 1000 grazie

  5. #5
    Ma come mai non usate il sempreverde mysql_escape_string() ?
    Poi, non salvate
    nel db per andare a capo. Se in una textarea viene mandato il testo a capo, la stringa contiene un "\n" che vuol dire "andare a capo" e viene salvato sul database.
    Poi al momento di stampare a video l'entry basta usare nl2br() ...

    Sono sempre dell'idea che nel database bisognerebbe salvare il contenuto, i testi, i dati, non il markup html. Quello deve essere generato quando si visualizzano i dati.
    Antonio Correnti
    www.resetstudio.it

  6. #6
    allora non ti resta che dare un'occhiata a quello che dice filippo.toso....... io così "la facevo facile" ma non avevo capito bene il contesto...

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    16
    sinceramente non ho ben capito come posso fare a utilizzare queste funzioni ma me le sto studiando, solo che io dovrei permettere di far inserire le virgolette e apici in un form che poi viene salvato in un database e successivamente richiamarlo e stamparlo in un altra tabella. il problema nasce quando i dati del form vengono ricaricati a causa di un errore...quindi dovrei utilizzare una funzione all'interno dell'echo che mi stampa il form, con il valore del $_POST passato. io devo nello stesso tempo permettere di far stampare le virgolette, apici, caratteri accentati, <,>,..insomma tutto quello che è possibile inserire. qual'è la piu adatta?

  8. #8
    ma continuo a dire che usando mysql_escape_string puoi utilizzare anche quei caratteri.

    volendo puoi ripulire tutto l'array post con un semplice ciclo.

    O utilizzando questa simpaticissima funzione.

    Codice PHP:
    function mysql_escape_array(&$post){
        foreach(
    $post as $k => $v){
            
    $post[$k] = mysql_escape_string($v);
        }
        return 
    $post;
    }
    //Utilizzo

    $_POST mysql_escape_array($_POST); 
    E poi puoi fare gli insert in tranquillità...
    Antonio Correnti
    www.resetstudio.it

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    16
    mysql_escape_string a me permette di scrivere le parole accentate ma mi commenta le virgolette e gli apici....e ogni volta che lapagina la ricarico gli \ aumentano...il problema non si è risolto.... grazie lo stesso

  10. #10

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 © 2026 vBulletin Solutions, Inc. All rights reserved.