Buna baieti !
Lucrez acu la un forum,si vreau sa poata lumea scrie acolo HTML si PHP cod fara ca el sa-mi afecteze site-ul.
Cum si ce e mai bine sa fac?
La moment datele care intra in baza le prelucrez cu "htmlspecialchars",dar cred ca este ceva mai bun si sigur.
Ash vrea inca ca codul pe forum sa fie evidentiat in culori.
Multumesc anticipat !
Cum sa pun cod HTML si PHP pe forumul meu fara urmari negati
Moderatori: Moderatori, Start Moderator
-
Andrei4316
- Junior Member
- Mesaje: 43
- Membru din: Vin Apr 02, 2010 8:08 pm
- AccesInterzis
- Average Member
- Mesaje: 67
- Membru din: Mie Aug 27, 2008 12:39 pm
- Localitate: constanta
- Contact:
"Lucrez acu la un forum" banuiesc ca inseamna ca tu scrii PHP-ul din spatele forumului. Daca da atunci ca sa "poata lumea scrie acolo HTML si PHP cod fara ca el sa-mi afecteze site-ul" trebuie ca infasori datele in mysql_real_escape_string() inainte de a le baga din formular in bd. Iar cand citesti din bd infasori datele in stripslashes() si htmlentities($value, ENT_QUOTES, 'utf-8'). Eventual nl2br().
Cel mai bine ar fi sa iei o platforma deja facuta ca phpbb sau mybb. Dar daca vrei sa inveti programare web scrierea unui forum este un exercitiu foarte bun. Personal te sfatuiesc sa inveti OOP si MVC inainte de a realiza aplicatii web de orice natura. In web 2.0 asa se realizeaza.
Cel mai bine ar fi sa iei o platforma deja facuta ca phpbb sau mybb. Dar daca vrei sa inveti programare web scrierea unui forum este un exercitiu foarte bun. Personal te sfatuiesc sa inveti OOP si MVC inainte de a realiza aplicatii web de orice natura. In web 2.0 asa se realizeaza.
-
Andrei4316
- Junior Member
- Mesaje: 43
- Membru din: Vin Apr 02, 2010 8:08 pm
cred ca trebuie de facut :
trim();
stripslashes();
htmlspecialchars();
mysql_real_escape_string();
Dar mai am o intrebare:in cimpul textarea(din forum) cind scriu mai multe rinduri scurte, ele mai apoi se vizualizeaza toate intrun rind !
La mine comentariile se scot in ciclu asha: <tr><td><div>Comentariu</div></td></tr>
Adica scot in ciclu rinduri,textul fiind in <div></div>
Cum sa fac ca comentariile scrise in cimpul texarea tot asha sa se vizualizeze la iesire din BD?
trim();
stripslashes();
htmlspecialchars();
mysql_real_escape_string();
Dar mai am o intrebare:in cimpul textarea(din forum) cind scriu mai multe rinduri scurte, ele mai apoi se vizualizeaza toate intrun rind !
La mine comentariile se scot in ciclu asha: <tr><td><div>Comentariu</div></td></tr>
Adica scot in ciclu rinduri,textul fiind in <div></div>
Cum sa fac ca comentariile scrise in cimpul texarea tot asha sa se vizualizeze la iesire din BD?
- AccesInterzis
- Average Member
- Mesaje: 67
- Membru din: Mie Aug 27, 2008 12:39 pm
- Localitate: constanta
- Contact:
-
Andrei4316
- Junior Member
- Mesaje: 43
- Membru din: Vin Apr 02, 2010 8:08 pm
Asha scot eu comentariile in ciclu: ma intereseaza $comentariu sa aranjeze comentariul la fel cum era scris in textarea !
$sql_01 = mysql_query("SELECT * FROM forum_comentarii WHERE forum='$forum' ORDER BY id",$db);
$row_01 = mysql_fetch_array($sql_01);
echo "<table width='550' cellpadding='0' cellspacing='0'>";
do {
printf("
<tr>
<td rowspan='2' class='forum_list1'><img src='%s'></td>
<td class='coment_2'><div class='com_2'>%s</div></td>
</tr>
<tr><td class='coment_3'><div class='com_3'>Comentariu scris de: <font color='#990000'>%s</font>, pe data de: <font color='#800080'>%s</font></div></td></tr>
<tr><td width='550' colspan='2' height='5'></td></tr>
",$row_01['foto'],$row_01['comentariu'],$row_01['nume'],$row_01['data']);
}while ($row_01 = mysql_fetch_array($sql_01));
echo "</table>";
$sql_01 = mysql_query("SELECT * FROM forum_comentarii WHERE forum='$forum' ORDER BY id",$db);
$row_01 = mysql_fetch_array($sql_01);
echo "<table width='550' cellpadding='0' cellspacing='0'>";
do {
printf("
<tr>
<td rowspan='2' class='forum_list1'><img src='%s'></td>
<td class='coment_2'><div class='com_2'>%s</div></td>
</tr>
<tr><td class='coment_3'><div class='com_3'>Comentariu scris de: <font color='#990000'>%s</font>, pe data de: <font color='#800080'>%s</font></div></td></tr>
<tr><td width='550' colspan='2' height='5'></td></tr>
",$row_01['foto'],$row_01['comentariu'],$row_01['nume'],$row_01['data']);
}while ($row_01 = mysql_fetch_array($sql_01));
echo "</table>";
Asa, si ai facut ce ti-am scris mai sus ?
do {
printf("
<tr>
<td rowspan='2' class='forum_list1'><img src='%s'></td>
<td class='coment_2'><div class='com_2'>%s</div></td>
</tr>
<tr><td class='coment_3'><div class='com_3'>Comentariu scris de: <font color='#990000'>%s</font>, pe data de: <font color='#800080'>%s</font></div></td></tr>
<tr><td width='550' colspan='2' height='5'></td></tr>
",$row_01['foto'],nl2br($row_01['comentariu']),$row_01['nume'],$row_01['data']);
}while ($row_01 = mysql_fetch_array($sql_01));
do {
printf("
<tr>
<td rowspan='2' class='forum_list1'><img src='%s'></td>
<td class='coment_2'><div class='com_2'>%s</div></td>
</tr>
<tr><td class='coment_3'><div class='com_3'>Comentariu scris de: <font color='#990000'>%s</font>, pe data de: <font color='#800080'>%s</font></div></td></tr>
<tr><td width='550' colspan='2' height='5'></td></tr>
",$row_01['foto'],nl2br($row_01['comentariu']),$row_01['nume'],$row_01['data']);
}while ($row_01 = mysql_fetch_array($sql_01));
-
Andrei4316
- Junior Member
- Mesaje: 43
- Membru din: Vin Apr 02, 2010 8:08 pm
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Google [Bot] și 7 vizitatori

