Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1

    Problema con gli slash in lettura e scrittura file

    Salve ragazzi il mio problema è questo, scrivo, tramite un normale form e un programmini fatto da me, dei testi in un file che poi cerco di leggere, ma il problema è che quando ci sono accenti ' o virgolette " mi mette automaticamente degli slash \, come posso fare affinchè non vengano aggiunti nel testo gli slash o per non farli leggere ?

  2. #2
    Utente di HTML.it L'avatar di Lak3d
    Registrato dal
    Aug 2006
    Messaggi
    1,031
    non è che puoi postare il codice?
    Normalmente sono seguenze di escape per indicare che il singolo o doppio apice fanno parte della stringa e non sono delimitatori... ma possibile che ti metta degli slash senza che tu lo chieda?

    Al massimo comunque ti basta sostituirli con un replace quando li leggi...

  3. #3
    imposta:

    get_magic_quote_gpc() su off nel file di php..

    oppure:

    Codice PHP:
        function escaped($text) {
            if (!
    get_magic_quotes_gpc()) {
                if (
    version_compare($this->get_version(), '4.3.0''<')) {
                    
    $string mysql_escape_string($text);
                    } else {
                    
    $string mysql_real_escape_string($text);
                }
                } else {
                
    $string $text;
            }
            return 
    $string;
        } 

    Questa volta, più che un voto.. è favoreggiamento.

  4. #4
    il codice che uso per scrivere su file è

    $filename = "miofile.txt";

    $testo = $_GET['testo'];
    $handle = fopen($filename, 'a');
    fwrite($handle, $testo);
    fclose($handle);

    nel file di testo mi scrive :

    l\'amore è una cosa \"bella\"||fine||

    uso questo file come db usando la funzione explode per dividere tutto e infilarlo in un array


    $db=fopen("miofile.txt","r");
    $testo=(fgets($db,255));

    $pieces = explode("||fine||", $testo);

    $n=sizeof($pieces)-1;

    for($j=0; $j<=$n; $j++){

    echo $pieces[$j]."
    ";

    }

    ma così mi legge il testo con gli slash, cosa devo aggiungere per non farli apparire?

  5. #5
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    mi intrometto nella discussione.. ho lo stesso problema... però io salvo nel databse i record...

    mi inserisce la \ quando vado a modificare il record.. mi mette la \ prima delle ' oppure " come faccio a far si ceh questo non accada...?.. vi posto il codice che uso..

    Codice PHP:
    $query2 = @mysql_query("SELECT * FROM MI_consigli WHERE id = '" $_GET[id] . "'");
    while (
    $row mysql_fetch_array($query2 ))
    {
    if (
    $_POST[cmd] == FALSE)
    {
        echo 
    "<table><tr><td><form action=\"$REQUEST_URI\" method=\"post\">\n";
        echo 
    "ID:
    <input type=\"text\" name=\"id\" value=\"
    $row[id]\">

    \n\n"
    ;
        echo 
    "Consiglio:
    <textarea name=\"consiglio\" cols=\"50\" rows=\"5\">
    $row[consiglio]</textarea>

    \n\n"
    ;
        echo 
    "IP:
    <input type=\"text\" name=\"ip\" value=\"
    $row[ip]\">

    \n\n"
    ;
        echo 
    "<input type=\"hidden\" name=\"cmd\" value=\"add\">\n";
        echo 
    "<input type=\"submit\" value=\"Modifica\">\n";
        echo 
    "</form></td></tr></table>\n";
    }else {
        
    # Verifico che tutti i campi necessari siano stati compilati
        
    if ($_POST[consiglio] == FALSE)
        {
            echo 
    "<table align=\"center\"><tr><td><font color=\"FF0000\">Tutti i campi sono obbligatori</font>

    <a href=\"" 
    $_SERVER['PHP_SELF'] . "?pag=consigli_modifica\">Torna indietro</a></td></tr></table>";
        }else
        {

    mysql_query("
    UPDATE MI_consigli
    SET
    id = '"
    .mysql_escape_string($_POST['id'])."',
    consiglio = '"
    .mysql_escape_string($_POST['consiglio'])."',
    ip = '"
    .mysql_escape_string($_POST['ip'])."'
    WHERE id = '"
    .$row['id']."'") or die("Errore alla linea ".__LINE__.": 

    "
    .mysql_error()) ;

    echo 
    "<table align=\"center\"><tr><td><center><font color=\"green\">Consiglio modificato con successo</font>

    <a href=\"admin.php?pag=consigli\">Torna in consigli</a></center></td></tr></table>"
    ;
    }
    }

    vi ringrazio

  6. #6
    torrone può utilizzare la mia funzione...

    jallora.. non saprei.. xke non mi è mai capitato di scrivere su file cmq credo che con un replace possa funzionare...
    Questa volta, più che un voto.. è favoreggiamento.

  7. #7
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    Originariamente inviato da Al_katraz984
    torrone può utilizzare la mia funzione...
    ma come la implemento... l'avevo provato ora ma non andava.. VVoVe:

    riesci a inserila nel codice che ti ho postato?

  8. #8
    Cioè un replace?
    potrasti farmi un esempio?

  9. #9
    Includi la funzione:

    Per ogni query che fai ad esempio:

    Codice PHP:
    $sql escaped("SELECT * FROM MI_consigli WHERE id = '" $_GET[id] . "'");
    $query2 = @mysql_query("$sql");
    ect ect ect 
    Questa volta, più che un voto.. è favoreggiamento.

  10. #10
    jallora prova cosi:

    Codice PHP:
    $db=fopen("miofile.txt","r");
    $testo=(fgets($db,255));

    $testo_senza_slash stripslashes($testo);

    $pieces explode("||fine||"$testo_senza_slash);

    $n=sizeof($pieces)-1;

    for(
    $j=0$j<=$n$j++){

    echo 
    $pieces[$j]."
    "
    ;


    Prova cosi.. la funzione è questa: Funzione
    Questa volta, più che un voto.. è favoreggiamento.

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.