Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 13 su 13
  1. #11
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542

    Array

    Non sei arrogante e ti ringrazio del tempo che mi dedichi.
    Ho capito.

    Avevo provato il tuo esempio all'interno della mia pagina (complicata) e non funzionando cercavo disperatamente la causa. Non conoscendo bene la formattazione degli array javascript avevo preso l'abbaglio. Ora ho capito la lezione e ti ringrazio.

    Provando il tuo esempio da solo funziona perfettamente.

    Ho un altro problema e approfitto della tua disponibilità, spero non ti dispiaccia.
    Ho costruito queste due funzioni per scrivere nel database MySql:

    function sqlvalue($val, $quote)
    {
    if ($quote)
    $tmp = sqlstr($val);
    else
    $tmp = $val;
    if ($tmp == "")
    $tmp = "NULL";
    elseif ($quote)
    $tmp = "'".$tmp."'";
    return $tmp;
    }

    function sqlstr($val)
    {
    return str_replace("'", "''", $val);
    }

    prima di fare insert o update delle stringhe le trasformo con sqlvalue($miastringa,true)
    ma ci deve essere un bug perchè con le stringhe contenenti apostrofo ottengo errore. Il bug forse lo trovo, sperando di non sbagliare approccio anche qui...

    Vorrei però sapere da te se ci sono accorgimenti particolari nel settaggio delle variabili di MySql e quali altri caratteri devo filtrare oltre l'apostrofo. Ci sono funzioni di PHP che possono aiutarmi?
    Ho provato a fare una ricerca, e ho letto tanto.
    Ho scritto le funzioni ma vorrei un consiglio da chi è già esperto.


    Grazie e felice anno nuovo!
    Guidino

  2. #12
    Felice anno nuovo anche a te!

    Allora, prima di crearti funzioni personalizzate per "purificare" le stringhe da passare al db ti consiglio di provare addslashes() che appunto mette i backslash per gli inserimenti negli apici e nelle virgolette e che teoricamente ti da una stringa sql safe.

    L'unico consiglio per il settaggio del db che posso darti è quello di usare lo stesso encoding sia per il db che per il documento html in modo da mantenere i caratteri speciali, e se usi ajax prima di prendere i risultati (solo se usi ajax) fagli un urlencode() altrimenti poi il js spesso da errore per apici virgolette etc... poi devi ovviamente fare unescape() in js...

    Spero di esserti stato utile! :zizi:
    Antonio Correnti
    www.resetstudio.it

  3. #13
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542

    Array

    Sei prezioso, non utile.
    grazie a te ed al forum.

    Non uso ajax. Quindi con addslashes() sono tranquillo, la funzione mi imposta la stringa nel modo giusto prima di inserirla nel db.

    Avrei altre cose da chiedere... ovviamente prima di chiedere ho guardato il manuale ma ci sbatto la testa lo stesso.
    Posso chiedere?

    Devo gestire un sistema di upload file e per iniziare ho fatto due funzioni semplici, La prima dovrebbero crearmi una cartella dati due parametri, la seconda deve cancellare alcuni file ed infine la cartella.
    solo che ottengo un warning qundo per esempio il file non esiste e rmdir() mi dice che la cartella non può essere cancellata perchè non è vuota... ma invece è vuota.
    Io non so quanti file ci sono nella cartella quindi provo a cancellarli entrambi.
    Vorrei evitare il warning quando un file non c'è e provo a cancellarlo e poi devo cancellare la cartella.
    Come vedi prima di chiedere aiuto provo a scrivermi il codice ma ancora php è ostico.
    Mi puoi aiutare?

    Le funzioni sono:
    function makefolder($ida,$ids)
    {

    if ($ida==1) {$path="../dir1/clienti/a";} else {$path="../dir2/clienti/a"; }
    $path .= $ida;
    return mkdir($path, 0700);
    }

    // restituisce true se cancella la cartella relativa a $ida e $id
    // $ds=1 costruisce $path = "../dir1/clienti/a" . $ida
    // $ds=2 costruisce $path = "../dir2/clienti/a" . $ida
    // esempio: $ida=25, $ids=1 => $path="../dir1/clienti/a25"
    function deletefolder($ida,$ids)
    {

    if ($ids==1) {$path="../dir1/clienti/a";} else {$path="../dir2/clienti/a"; }
    $path .= $ida;

    // cancella i file
    $x = unlink($path."/foto1.jpg");
    $x = unlink($path."/foto2.jpg");

    return rmdir ($path);
    }


    Grazie
    Guidino

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.