|
| |
|
|
| |
для: cheops
(17.11.2006 в 12:41)
| | | Спасибо Вам Игорь! Вы как всегда спасли меня!!!! :)
обажаю этот форум!!! | |
| |
|
|
| |
|
|
| |
для: 10100100
(17.11.2006 в 11:34)
| | | При выводе переменных, содержащих кавычки, в окно браузера лучше обрабатывать их при помощи функции htmlspecialchars(), передавая в качестве второго аргумента константу ENT_QUOTES
<?php
$name_new = trim(htmlspecialchars($_POST['name_new'],ENT_QUOTES));
?>
|
| |
| |
|
|
| |
|
|
| | Привет всем.
знаю - тема затёртая до дыр, но вот не могу справится и всё тут :(
суть скрипта такова - юзер пишет в форме свою информация которая содержит ( \ " ' )
и вот эти самые символы глючат.
дело в том что скрипт передаёт весь инф обработчику который выполняет функцию предпросмотра, и в скрытые поля попадет инф который юзер только что вводил, и вот в скрытых полях всё отображается нормально, н оесли нажать на кнопку редактировать то данные для редактирования выводятся либо с n-ным количеством слэшей или не выводятся после первой двойной кавычки :(
всё уже вроде бы перепробовал.
вот скрипт - форма (он же скрипт редактирования.):
<?php
echo '
<td width=100% bgcolor=D4D4D4 valign=top>
<table width=100% border=0 cellpadding=0 cellspacing=0><tr><td>';
echo "<script language='JavaScript1.1' type='text/javascript'>
function tag(text1, text2)
{
if ((document.selection))
{
document.stat.pred_new.focus();
document.stat.document.selection.createRange().text = text1+document.stat.document.selection.createRange().text+text2;
} else document.stat.pred_new.value += text1+text2;
}
function tag2(text1, text2)
{
if ((document.selection))
{
document.stat.all_new.focus();
document.stat.document.selection.createRange().text = text1+document.stat.document.selection.createRange().text+text2;
} else document.stat.all_new.value += text1+text2;
}
</script>";
$g = $_COOKIE['valid_user'];
$query5 = "SELECT * FROM user WHERE id_user='".$g."'";
$res5 = @mysql_query($query5);
$com5 = mysql_fetch_array($res5);
$name = $com5['name'];
$uid1 = $com5['uid'];
$range = $com5['range'];
$uid = $_COOKIE['uid'];
if (empty($uid)){$uid = '00'; $uid1 = '01';}
if ($uid == $uid1){
$name_new = $_POST['name_new'];
$pred_new = $_POST['pred_new'];
$all_new = $_POST['all_new'];
$name_new=stripslashes($name_new);
$pred_new=stripslashes($pred_new);
$all_new=stripslashes($all_new);
$refresh = "<input style='background-color:ffffff;' name=\"button\" type=submit value=\"Предпросмотр\">";
?>
<form action="add_w.php" name="stat" method="post">
<table cellspacing="0" cellpading="0" border="0" bordercolor="000000" background=/images/drop.gif width="400">
<tr><td>
<table cellspacing="0" cellpading="0" border="0">
<tr><td>
Название статьи:
</td>
<td>
<textarea ROWS=2 COLS=40 name="name_new"><?php echo $name_new;?></textarea>
</td></tr>
<tr><td>
Предварительная область статьи:
</td>
<td>
<?php
echo '
<a href="javascript:tag(\'\', \'\')" onClick=\"javascript:tag(\'\', \'\'); return false;\" ></a>
<a href="javascript:tag(\'\', \'\')" onClick=\"javascript:tag(\'\', \'\'); return false;\" ></a>
<a href="javascript:tag(\'[U]\', \'[/U]\')" onClick=\"javascript:tag(\'[U]\', \'[/U]\'); return false;\" >[U]</a>
<a href="javascript:tag(\'[CITE]\', \'[/CITE]\')" onClick=\"javascript:tag(\'[CITE]\', \'[/CITE]\'); return false;\" >[CITE]</a>
';?>
<textarea ROWS=7 COLS=40 name="pred_new" onFocus="clearField()"><?php echo "$pred_new";?></textarea>
</td></tr>
<tr><td>
Полная статья:
</td>
<td>
<?php
echo '
<a href="javascript:tag2(\'[I]\', \'\')" onClick=\"javascript:tag2(\'\', \'\'); return false;\" >[I]</a>
<a href="javascript:tag2(\'[b]\', \'\')" onClick=\"javascript:tag2(\'\', \'\'); return false;\" >[b]</a>
<a href="javascript:tag2(\'[U]\', \'[/U]\')" onClick=\"javascript:tag2(\'[U]\', \'[/U]\'); return false;\" >[U]</a>
<a href="javascript:tag2(\'[big]\', \'[/big]\')" onClick=\"javascript:tag2(\'[big]\', \'[/big]\'); return false;\" >[big]</a>
<a href="javascript:tag2(\'[small]\', \'[/small]\')" onClick=\"javascript:tag2(\'[small]\', \'[/small]\'); return false;\" >[small]</a>
<a href="javascript:tag2(\'[coment]\', \'[/coment]\')" onClick=\"javascript:tag2(\'[coment]\', \'[/coment]\'); return false;\" >[coment]</a>
<a href="javascript:tag2(\'[email]\', \'[/email]\')" onClick=\"javascript:tag2(\'[email]\', \'[/email]\'); return false;\" >[email]</a>
<a href="javascript:tag2(\'[url]\', \'[/url]\')" onClick=\"javascript:tag2(\'[url]\', \'[/url]\'); return false;\" >[url]</a>
';?>
<textarea ROWS=10 COLS=40 name="all_new" onFocus="clearField()"><?php echo "$all_new";?></textarea>
</td></tr>
<tr><td>
<input style='background-color:ffffff' name="button" type="submit" value="Отправить">
</td>
<td>
<?php
echo "$refresh";
?>
</td></tr>
</table>
</form></td>
</tr>
</table>
<a href=/index.php>Вернуться на главную страницу</a>
<?php
}
else
{
echo 'Добавлять новости имеют право только зарегистрированные пользователи!';
}
?>
|
вот обработчик:
<?
include "config.php";
$name_new = trim($_POST['name_new']);
$pred_new = trim($_POST['pred_new']);
$all_new = trim($_POST['all_new']);
if (empty($name_new))
{
echo 'Вы не ввели <b>Название новости</b>, пожалуйста попробуйте ещё раз.';
exit();
}
if (empty($pred_new))
{
echo 'Вы не ввели <b>Предварительную область статьи</b>, пожалуйста попробуйте ещё раз.';
exit();
}
$g = $_COOKIE['valid_user'];
$query5 = "SELECT * FROM user WHERE id_user='".$g."'";
$res5 = @mysql_query($query5);
$com5 = mysql_fetch_array($res5);
$uid1 = $com5['uid'];
$uid = $_COOKIE['uid'];
if (empty($uid)){$uid = '00'; $uid1 = '01';}
if ($uid == $uid1){
$username = $com5['name'];
if ($button=='Предпросмотр')
{
include ("../../up.html");
include ("../../buttons.php");
echo '
<td width=100% bgcolor=D4D4D4 valign=top>
<table width=100% border=0 cellpadding=0 cellspacing=0><tr><td>';
echo '<style>.1 {border: 1px dashed Silver;}
textarea {border: 1px dashed Silver;}
input {border: 1px dashed Silver;}
a {text-decoration:none; font-size: 12pt; color: #636363; font-family: Times New Roman;}
a:hover{text-decoration; color:#000000}
</style>';
echo '<body bgcolor=D3EFFB>';
echo '<table class=1 background=/images/drop.gif cellspacing=0 cellpadding=0 width=100%><tr><td width=100%>';
echo '<center><b><strong>';
$name_new = $_POST['name_new'];
if (!get_magic_quotes_gpc())
{
$name_new = mysql_escape_string($name_new);
}
else
{
$name_new=stripslashes($name_new);
}
echo $name_new;
echo '</strong></b></center>';
echo '</table>';
echo '<table class=1 bgcolor=ffffff cellspacing=0 cellpading=0 width=100%><tr><td width=100%>';
echo '<small>';
echo '[текущее время]';
echo '<br><br>';
echo '</small>';
if (!get_magic_quotes_gpc())
{
$pred_new = mysql_escape_string($pred_new);
}
else
{
$pred_new=stripslashes($pred_new);
}
$pred_new = htmlspecialchars($pred_new);
include ("rv_pred_new.php");
echo $pred_new;
echo '<br>';
if (!get_magic_quotes_gpc())
{
$all_new = mysql_escape_string($all_new);
}
else
{
$all_new=stripslashes($all_new);
}
$all_new = htmlspecialchars($all_new);
include ("rv_all_new.php");
echo $all_new;
echo "<br /><br /><small>Автор статьи: <strong>$username</strong></small><br /><br />";
echo '<a href=/index.php><small>Вернуться в раздел статей</small></a>';
echo '</table>';
echo '<table width=100% border=0 cellpadding=0 cellspacing=0><tr><td width=1%>';
$name_new = trim($_POST['name_new']);
$pred_new = trim($_POST['pred_new']);
$all_new = trim($_POST['all_new']);
$name_new=stripslashes($name_new);
$pred_new=stripslashes($pred_new);
$all_new=stripslashes($all_new);
echo "<form action=\"add_w.php\" method=\"post\" name=\"stat\">";
echo "<input type=\"hidden\" name=\"name_new\" value=\"$name_new\">";
echo "<input type=\"hidden\" name=\"pred_new\" value=\"$pred_new\">";
echo "<input type=\"hidden\" name=\"all_new\" value=\"$all_new\">";
echo "<input style=\"background-color:ffffff;\" type=\"submit\" name=\"button\" value=\"Отправить\">";
echo "</form>";
echo '</td><td>';
echo "<form action=\"w.php\" method=\"post\" name=\"stat\">";
echo "<input type=\"hidden\" name=\"name_new\" value=\"$name_new\">";
echo "<input type=\"hidden\" name=\"pred_new\" value=\"$pred_new\">";
echo "<input type=\"hidden\" name=\"all_new\" value=\"$all_new\">";
echo "<input style=\"background-color:ffffff;\" type=\"submit\" name=\"button\" value=\"Редактировать\">";
echo "</form>";
echo '</td></tr></table>';
include ("../../dawn.html");
exit;
}
else
{
echo 'Добавлять новости имеют право только зарегистрированные пользователи!';
}
?>
|
сейчас я даже не помню где что стояло изначально (из экранирующего сообщества) так как весь перезапутался и устал :( помогите пожалуйста. | |
| |
|
|
|