Una cosa che vedo fare troppo spesso, e che e' causa di un sacco di problemi, e' la concatenazione di stringhe complesse. Un semplice accorgimento che semplificherebbe di tantissimo la stesura e il controllo del codice e' usare variabili intermedie.

Per esempio, perche' fare
Codice PHP:
$insertsql "INSERT INTO slm_tpl (url_img) VALUES
('"
.$percorso."'.'".$_POST['img_descrizione']"'.'".jpg"' )"
quando si puo' scrivere
Codice PHP:
$valore $percorso.$_POST['img_descrizione'].'.jpg';

$insertsql "INSERT INTO slm_tpl (url_img)
              VALUES ('
$valore')"
Nel primo caso hai usato la bellezza di 13 caratteri tra apici e virgolette solo per cercare di concatenare i valori in una stringa, grazie che poi non ci si capisce piu' niente. Il secondo esempio invece e' molto chiaro e leggibile, e qualunque errore salta subito all'occhio. Ovviamente il tutto tralasciando il fatto che non si dovrebbero mai usare direttamente valori di input senza filtrarli.