Allora ho un problema abbastanza curioso: volevo realizzare uno script Javascript, che in combinazione con PHP, mi creasse un testo scorrevole contenente tutti i commenti lasciati dagli utenti attraverso un form apposito sul mio sito.
Quindi ho realizzato questo codice:
codice:
//Creare la funzione che legge nel database(gli ultimi 6 commenti).   
 function writeDB($nome,$commento)  {  	$connessione=mysql_connect("xxxxx","xxxxxx","xxxxx") or die("connessione non riuscita, errore: ".mysql_error()); 
mysql_select_db("database"); 
 $result=mysql_query("insert into Commentario(Nome,Commento) values('$nome','$commento');",$connessione);   mysql_free_result($result);   mysql_close($connessione);   }  
 //adesso controllare se è stato inviato un commento   
 if (!empty($_POST["commento"]))    
 {   
    .........
     writeDB($_POST["nome"],$_POST["commento"]); 
  }      
//adesso bisogna leggere dal database i commenti 
$connessione=mysql_connect("xxxxxx","xxxxxxx","xxxxx")or die("errore: ".mysql_error()); 
mysql_select_db("database",$connessione);     $result=mysql_query("select Nome,Commento from Commentario order by Id desc limit 6",$connessione);  $f=mysql_num_rows($result); 
/* scrivere il codice javascript per creare gli array della 
dimensione necessaria:*/ 
echo "<script type=\"text/javascript\">\n<!--\nmsg=\" \";\nnome=new Array($f);\ncommento=new Array($f);\n";  $i=-1;
/* adesso in base ai dati estratti dal database
scrivere il codice javascript per assegnare i 
valori agli array creati */  
while ($line=mysql_fetch_array($result,MYSQL_ASSOC))
  {
  	$i++;
  	echo "nome[$i]=\"".str_replace("\n","",$line["Nome"]) ."\";\n"; 
 	echo "commento[$i]=\"".str_replace("\n","",$line["Commento"]) ."\";\n"; 
 }  
/*Adesso scrivere il codice Javascript necessario per l'effetto "test scorrevole": */
echo   "pos = 0;\n
          for (indice in nome)\n
          {\n
  	msg+=\"\"+nome[indice]+\": \"+commento[indice]+\"  \";\n
          }\n 
         function ScrollMessage()
          {\n
            msg =msg.substring(pos, msg.length) + msg.substring(0, pos);\n  
            var div = document.getElementById(\"scroll\");\n
            div.innerHTML = msg;\n
            pos++;\n
            if (pos > msg.length) pos = 0;\n
            window.setTimeout(\"ScrollMessage()\",400);\n 
            }\n 
            //-->\n
           </script>\n";

 mysql_free_result($result);
 mysql_close($connessione);
In pratica lo script PHP mi scrive il codice Javascript necessario per il testo scorrevole, in maniera dinamica.
Tutto ciò sembra funzionare(anche grazie all'uso dei CSS per sistemare questo effetto nella pagina), ma ogni tanto qualche commento viene scitto così nella pagina xhtml:
codice:
commento[3]="commento....
 ";
Cioè in pratica ogni tanto mi va a capo dove non dovrebbe, tutto ciò, nonostante che io abbia utilizzato la seguente funzione php :
codice:
str_replace("\n","",$line["Commento"])
Questa riga di codice dovrebbe togliere tutti i ritorni a capo, eppure mi ritorna a capo lo stesso.
Naturalmente il browser non mi esegue lo script javascript, proprio per questo motivo. Come posso fare?
Pensavo che la mia soluzione per realizzare questo testo scorrevole con tutti i commenti degli urenti (estratti dall'apposito database MYSQL) fosse buona, ma ho purtroppo questo problema....