Ciao a tutti,
ho da poco cambiato server (da Debian a RedHat) e dopo che per 5 anni un form ha sempre funzionato, adesso ho qualche problema a farlo andare.
Spiego la situazione.
Si tratta di un banalissimo form con alcuni input ed una textarea.
Nel momento in cui i contenuti inseriti nel form dovrebbero essere immagazzinati su MySql, la query non va.
In particolare, andando per esclusione, ho separato la query a pezzettini, salvando campo per campo, e dove si blocca è proprio quando deve salvare i contenuti inseriti nella textarea.
Ho notato, però, che se i contenuti scritti nella textarea sono tutti su una stessa riga, la query funziona; ma basta anche una sola andata a capo nella textarea e la query non viene eseguita.
Ho quindi provveduto a modificare gli a capo sostituendoli con dei
, ma anche così la query non viene eseguita.
La cella che dovrebbe immagazzinare i dati è di tipo TEXT, collation uft8-general-ci. Ho provato a modificare il tipo di cella, impostandola (tanto per fare una prova) in VARCHAR 255, ma anche così la query non viene eseguita. Ho quindi provato a modificare la collation, in latin1_swedish_1 (come ce l'avevo sul precedente server), ma anche così non va.
Ho quindi provato ad escludere la query, ed a stampare il testo a video, così come viene passato da una pagina all'altra, ed è correttissimo, con i suoi a capo e quant'altro.
Sto parlando di una query semplicissima, niente di complicato:
codice:
$db = mysql_connect($dbhost, $dbuser, $dbpassword);
if ($db == FALSE) die ("Errore nella connessione.");
mysql_select_db($dbname, $db) or die ("Errore nella selezione del database.");
$query = "INSERT INTO messaggi (nickname, email, website, messaggio, data, ip) VALUES ('$nickname', '$email', '$website', '$messaggio', '$data', '$ip')";
$result = mysql_query($query,$db);
mysql_close($db);
e, ripeto, ha sempre funzionato senza problemi.
Qualcuno ha la più pallida idea di cosa succede?
Grazie mille a tutti per qualsiasi suggerimento.