PHP PHP Problema multilinea

Stato
Discussione chiusa ad ulteriori risposte.

®Zane

Utente Silver
31 Ottobre 2011
97
7
3
64
Salve a tutti ho creato in php un sistema per gestire i commenti dove una pagina php scrive su database 3 record(Utente,Data,Commento),poi ho creato un'altra pagine che deve selezionare e scrivere questi record:
<?php
session_start();
include 'config.php';


$query = "SELECT Utente, Commento, Data FROM Commenti";
$result = mysql_query($query);
$num = mysql_num_rows($result);


if ($num == 0)
{
echo "Non ci sono commenti</br>";
}else{
echo "Commenti: " . $num . "<br>";
}




while ($row = mysql_fetch_array($result))
{
echo "Utente: " . $row['Utente']. " - " ;
echo "Data : " . $row['Data']. "<br>" ;
echo ("<p>- " . $row['Commento'] . "</p>");
}
?>

Il sistema funziona ma purtroppo se il commento viene scritto in due o più righe in questa pagina viene visualizzato in una sola riga.Perchè?Se qualcuno fosse così gentile da aiutarmi gliene sarei grato.
 
Le 2 soluzioni più probabili sono o utilizzare wordwrap() per andare a capo ogni tot di caratteri o provare con nl2br() per convertire \n in <br>

Inoltre ti consiglio anche vivamente di filtrare eventuali codici html/js maligni con htmlspecialchars()


es. 1
PHP:
while ($row = mysql_fetch_array($result)) 
{
echo "Utente: " . $row['Utente']. " - " ;
echo "Data : " . $row['Data']. "<br>" ; 
echo ("<p>- " . wordwrap($row['Commento'],40,'<br>'). "</p>");
}

es.2
PHP:
while ($row = mysql_fetch_array($result)) 
{
echo "Utente: " . $row['Utente']. " - " ;
echo "Data : " . $row['Data']. "<br>" ; 
echo ("<p>- " . nl2br($row['Commento']). "</p>");
}
 
  • Mi piace
Reazioni: Koskha
Per del testo lungo (come commenti) potresti utilizzare TEXT invece che VARCHAR nel database, è più comodo ed ha una lunghezza variabile
 
Ah ok grazie,sentite già che ci siamo mi dareste una mano col javascript visto che ho un errore pure con esso xD

function back()
{
document.getElementById("ulsl").style.left = "-600px";
}
</script>

<ul id="ulsl"></ul>
<div id="sldbtn" onClick="back();" ></div>

In pratica la funzione non ha effetto perchè?
 
Stato
Discussione chiusa ad ulteriori risposte.