Textarea

088777_

Registered
Как да забраня изпълнението на PHP, HTML кодове в Textarea?
Пример - http://cstrikefiles.netne.net/guestbook.php
 
crazy_pi4, не. Ето кодовете.

guestbook.php
<?php

define('IN_COPPERMINE', true);

$ip = $_SERVER["REMOTE_ADDR"];

?>
<?php include("style1.php") ?>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="tbst2" >
<tr><td id="menubg">Книга за гости</td></tr>
<tr><td>
<font color="#FF0000"><b>Моля пишете на кирилица!!!</b></font>
<br/><br/>
<?php include "view.php";?><br/>

<script>function formValidate(form) {

if (form.name.value == "")
{
alert('Моля напишете името си!');
form.name.focus();
return false;
}

if (form.message.value == "")
{
alert('Моля напишете вашето мнение!');
form.message.focus();
return false;
}
if (form.captcha.value == "")
{
alert('Моля напишете кода за сигурност!');
form.captcha.focus();
return false;
}
return true;
}
</script><hr>
<form method="POST" action="postd.php">

<input type="hidden" name="ip" value="<?php echo $ip ?>" />

<table>
<tr><td>Вашето име <font color="#FF0000">*</font>:</td><td><input type="text" name="name" size="20" maxlength="10"></td></tr>
<tr><td>Вашето съобщение <font color="#FF0000">*</font>:</td><td><textarea rows="7" name="text" cols="35" maxlength="400"></textarea></td></tr>
<tr><td>Код против ботове <font color="#FF0000">*</font>:</td><td><input type="text" name="captcha" /> - <b><u><a href="#"><?php
ob_start();
if (!isset($_POST['captcha'])) {
$acceptedChars = '0123456789';
$max = strlen($acceptedChars)-1;
$unid = null;
for($i=0; $i < 4; $i++) {
$unid .= $acceptedChars{mt_rand(0, $max)};
}
setcookie("code",$unid,time()+600,"/");
echo ''.$unid.'';
}
else {
$captcha = htmlspecialchars($_POST['captcha']);
if ($captcha == $_COOKIE['code']) { echo "Вярно!"; }
else { echo "Грешен код!"; }
}
?></a></u></b></td></tr>
<tr><td><input type="submit" value="Прати" name="send"></td><td></td></tr>
</table>
</form>
</td></tr></table>
<? include("style2.php"); ?>

postd.php
<?
$name = $_POST['name'];
$text = $_POST['text'];
$posted = time();
$ip = $_SERVER["REMOTE_ADDR"];
include 'connect.php';
$statuse = "valide";

if (strlen($name)<=2) { // Проверка при попълнено име
$statuse= "error";}

if (strlen($text)<=2) { // Проверка при попълнен текст
$statuse= "error";}

if($statuse=="valide"){
$connect=mysql_pconnect("$dbhost","$dbuser","$dbpass") or die ( 'Не мога да осъществя връзка с базата данни' );
mysql_select_db("$dbname") or die ( 'Не мога да се свържа с базата данни' );
$query = mysql_query("INSERT chat (name, text, posted, ip) VALUES ('$name', '$text','$posted','$ip')");
}
header('Location: guestbook.php');
?>

view.php
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<?
include 'connect.php';
$connect=mysql_pconnect("$dbhost","$dbuser","$dbpass") or die ( 'Не мога да осъществя връзка с базата данни' );
mysql_select_db("$dbname") or die ( 'Не мога да се свържа с базата данни' );
$query = mysql_query("SELECT name, text FROM chat ORDER BY posted DESC");
while (list ($name, $text)=mysql_fetch_array ($query))
{
echo "<font color='#306EFF'>$name </font><font color='#FF0000'>:</font><font color='#736F6E'> $text</font><br/>";
}
?>

Къде да вместя htmlspecialchars и как?
 
Втория код дето даде, пробвай така:
<?
$name = $_POST['name'];
$text = $_POST['text'];
$text = htmlspecialchars($text);
$posted = time();
$ip = $_SERVER["REMOTE_ADDR"];
include 'connect.php';
$statuse = "valide";

if (strlen($name)<=2) { // Проверка при попълнено име
$statuse= "error";}

if (strlen($text)<=2) { // Проверка при попълнен текст
$statuse= "error";}

if($statuse=="valide"){
$connect=mysql_pconnect("$dbhost","$dbuser","$dbpass") or die ( 'Не мога да осъществя връзка с базата данни' );
mysql_select_db("$dbname") or die ( 'Не мога да се свържа с базата данни' );
$query = mysql_query("INSERT chat (name, text, posted, ip) VALUES ('$name', '$text','$posted','$ip')");
}
header('Location: guestbook.php');
?>
 

Горе