|
|
|
| Уважаемые форумчане, помогите кто может. Есть Файловвый форум, точнее конференция. и есть там фишка для подмены пользовательских тегов типа [img] на соответствующий хтмл код картинки. Дак вот, скрипт какимто немыслимым образом портит ссылки рисунков, да и нетолько рисунков и простые ссылки. То вставит посреди ссылки %20, то пробел ляпнет. Кароче третий день втупляю но ничего не понял в чём дело. Сылка вида http://cs1215.vkontakte.ru/u6206960/13937004/x_0ff6c014.jpg превращается в http://cs1215.vkontakte.ru/u6206960/1393%207004/x_0ff6c014.jpg после 39го знака вставилось %20. откуда? С чего? непонятно. Вот код
<?
include "data/config.php";
$frname="";
if (isset($_GET['image'])) {
// Функция с цифрами защиты
$st="R0lGODlhCgAMAIABAFNTU////yH5BAEAAAEALAAAAAAKAAwAAAI"; // общая часть для всех рисунков
function imgwr($st,$num){
if ($num=="0") {$len="63"; $number=$st."WjIFgi6e+QpMP0jin1bfv2nFaBlJaAQA7";}
if ($num=="1") {$len="61"; $number=$st."UjA1wG8noXlJsUnlrXhE/+DXb0RUAOw==";}
if ($num=="2") {$len="64"; $number=$st."XjIFgi6e+QpMPRlbjvFtnfFnchyVJUAAAOw==";}
if ($num=="3") {$len="64"; $number=$st."XjIFgi6e+Qovs0RkTzXbj+3yTJnUlVgAAOw==";}
if ($num=="4") {$len="64"; $number=$st."XjA9wG8mWFIty0amczbVJDVHg9oSlZxQAOw==";}
if ($num=="5") {$len="63"; $number=$st."WTIAJdsuPHovSKGoprhs67mzaJypMAQA7";}
if ($num=="6") {$len="63"; $number=$st."WjIFoB6vxmFw0pfpihI3jOW1at3FRAQA7";}
if ($num=="7") {$len="61"; $number=$st."UDI4Xy6vtAIzTyPpg1ndu9oEdNxUAOw==";}
if ($num=="8") {$len="63"; $number=$st."WjIFgi6e+QpMP2slSpJbn7mFeWDlYAQA7";}
if ($num=="9") {$len="64"; $number=$st."XjIFgi6e+QpMP0jinvbT2FGGPxmlkohUAOw==";}
header("Content-type: image/gif");
header("Content-length: $len");
echo base64_decode($number); }
// Вывод изображений на экран (все кодированы - робот не пройдёт)
if (array_key_exists("image", $_REQUEST)) { $num=$_REQUEST["image"];
for ($i=0; $i<10; $i++) {if (md5($i+$absrand)==$num) {imgwr($st,$i); die();}} }
exit;}
if(isset($_GET['event'])){ // ДОБАВЛЕНИЕ темы или ответа
if (($_GET['event']=="addtopic") or ($_GET['event']=="addanswer")) {
//sleep(1); // мелкая защита от БОТОВ. Человеку секунда не время - а прога по подбору ключа - будет работать долго и не загружать сервер
if ($antispam!="0") {
$bada="$back <font color=red>Введённый вами код НЕ верен</font>!";
if (isset($_POST['usernum'])) {$usernum=$_POST['usernum'];} else {print"$bada"; exit;}
if (isset($_POST['xkey'])) {$xkey=$_POST['xkey'];} else {print"$bada"; exit;}
$userkey=md5("$usernum+$absrand");
if ($userkey!=$xkey) {print"$bada"; exit;}}
// получаем данные из формы
$_POST['name']=trim($_POST['name']); $name=$_POST['name']; if (strlen($name)<1) {exit("$back Вы не ввели имя!");}
$zag=$_POST['zag']; $msg=$_POST['msg']; $fid=$_GET['fid'];
if (isset($_POST['who'])) {$who=$_POST['who'];} else {$who="";}
if (isset($_POST['email'])) {$email=$_POST['email'];} else {$email="";}
if (isset($_POST['page'])) {$page=$_POST['page'];}
if ($_GET['event']=="addanswer") {$id=$_POST['id']; if (!ctype_digit($id)) {exit("<h1>$back. Попытка взлома. Хакерам здесь не место.</h1>");}}
print"<html><head><link rel='stylesheet' href='$fskin/style.css' type='text/css'></head><body>";
if (!isset($name) || strlen($name) > $maxname) {exit("$back ваше имя пустое, или превышает $maxname символов!</B></center>");}
if ($zag=="" || strlen($zag) > $maxzag) {exit("$back Ваш заголовок темы превышает $maxzag символов!</B></center>");}
if ($msg=="" || strlen($msg) > $maxmsg) {exit("$back ваше сообщение пустое или превышает $maxmsg символов.</B></center>");}
if (!eregi("^([0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-wyz][a-z](fo|g|l|m|mes|o|op|pa|ro|seum|t|u|v|z)?)$", $email) and strlen($email) > 30 and $email != "") {exit("$back и введите корректный E-mail адрес!</B></center>");}
if ($_GET['event'] =="addtopic") {$tt=explode(' ', microtime()); $ttt="$tt[1]"+"$tt[0]"; $ttf=str_replace(".", "", $ttt); $id = $ttf;}
$tektime=time();
$name=str_replace("|","I",$name);
$email=str_replace("|","I",$email);
$msg=str_replace("|","I",$msg);
$zag=str_replace("|","I",$zag);
$date=str_replace("|","I",$date);
$time=str_replace("|","I",$time);
$tektime=str_replace("|","I",$tektime);
$name=wordwrap($name,24,' ',1); // разрываем слишком длинные строки
$zag==wordwrap($zag,24,' ',1);
$msg=wordwrap($msg,45,' ',1);
$text="$name|$who|$email|$zag|$msg|$date|$time|$id||$tektime|";
//$text=str_replace(" ",' ',$text);
//$text=str_replace("&",'&',$text);
//$text=str_replace("<!--",'<!--',$text);
//$text=str_replace("-->",'-->',$text);
//$text=preg_replace("/<script/i",'<script',$text);
//$text=str_replace(">",'>',$text);
//$text=str_replace("<",'<',$text);
//$text=str_replace("\"",'"',$text);
//$text=preg_replace("/\n\n/",'<p>',$text);
//$text=preg_replace("/\n/",'<br>',$text);
//$text=preg_replace("/\\\$/",'$',$text);
//$text=preg_replace("/\r/",'',$text);
//$text=stripslashes($text);
//$text=preg_replace( "/\\\/",'\',$text);
//$text=str_replace("\r\n","<br>", $text);
//$text=str_replace("\n\n",'<p>',$text);
//$text=str_replace("\n",'<br>',$text);
//$text=str_replace("\t",'',$text);
//$text=str_replace("\r",'',$text);
//$text=str_replace(' ','',$text);
if (strlen($name)>18) {$name=substr($name,0,18); $name.="..";}
if (strlen($zag)>24) {$zag=substr($zag,0,24); $zag.="..";}
$lines = file("data/topic0.dat");
$datasize = sizeof($lines);
}
if ($_GET['event'] =="addtopic") { // Добавление ТЕМЫ
$fp=fopen("data/topic0.dat","a+"); // запись данных в текущий форум
flock ($fp,LOCK_EX);
fputs($fp,"$text\r\n");
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
$fp=fopen("data/$id.dat","a+"); // запись данных в тему
flock ($fp,LOCK_EX);
fputs($fp,"$text\r\n");
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
$url="index.php?event=topic&fid=$fid&id=$id"; $textpr="за добавление темы"; }
if ($_GET['event'] =="addanswer") { //ОТВЕТ в теме
$fp=fopen("data/$id.dat","a+"); // запись данных в тему
flock ($fp,LOCK_EX);
fputs($fp,"$text\r\n");
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
$url="index.php?event=topic&fid=$fid&id=$id&page=$page"; $textpr="Ваш ответ успешно добавлен";}
if ($_GET['event']=="addanswer" or $_GET['event']=="addtopic") {
print "<script language='Javascript'>function reload() {location = \"$url\"}; setTimeout('reload()', 1500);</script>
<table border=0 width=100% height=80%><tr><td><table border=1 cellpadding=10 cellspacing=0 bordercolor=#224488 align=center valign=center width=60%><tr><td><center>
Спасибо <B>$name</B>, $textpr.<BR><BR>Через несколько секунд Вы будете автоматически перемещены в тему <B>$zag</B>.<BR><BR>
<B><a href='$url'>Нажмите здесь, если не хотите больше ждать</a></B></td></tr></table></td></tr></table></center></body></html>";
exit; }
}
// Блок выводит в статусной строке: ФОРУМ -> ТЕМА
if (isset($_GET['fid'])) { $fid=$_GET['fid'];
if (!is_file("data/topic0.dat")) {exit("<h3>Отсутствует файл data/topic0.dat. Дальнейшая работа скрипта без этого файла невозможна!</h3>");}
$mainlines = file("data/topic0.dat"); $i=count($mainlines);
if (!ctype_digit($fid)) {exit(" <h3>fid - только число. А вы что ввели? Попытка взлома. Хакерам здесь не место.</h3>");}
if (isset($id)) {if (is_file("data/$id.dat")) {$lines = file("data/$id.dat"); $dt = explode("|", $lines[0]); $frtname=$dt[3]; $frtname.=" ->";} else {$frtname=""; $frname="";}} else {$frname=""; $frtname="";} } else {$frname=""; $frtname="";}
if (is_file("$fskin/top.html")) {include("$fskin/top.html");} else {exit("хана - шапка top.html из папки images не ИНКЛЮДИТСЯ! И где она?");} // подключаем ВЕРХУШКУ форума если есть файл
print"</span>
</td></tr></table>
</td></tr></table>
<span class=gensmall>Сегодня: $date - $time";
// выводим ГЛАВНУЮ СТРАНИЦУ ФОРУМА
if (!isset($_GET['event'])) { $fid="0";
if (!is_file("data/topic0.dat")) {exit("<h1>ошибка :-(. Файл topic0.dat несуществует!!!</h1>");}
// Выводим qq сообщений на текущей странице
$lines=file("data/topic0.dat");
$datasize=sizeof($lines);
if ($datasize==0) {exit("<h1>ошибка :-(. Файл topic0.dat пуст!!!</h1>");}
$i=count($lines);
$n="0"; $a1="-1"; $u=$i-1;
$imax=count(file("data/topic0.dat"));
print "<table><tr><td><span class=nav> <a href=index.php class=nav>$fname</a> -> <a href=index.php?fid=$fid class=nav>$frname</a></span></td></tr></table>
<table width=100% cellpadding=2 cellspacing=1 class=forumline><tr>
<th width=60% colspan=2 class=thCornerL height=25 nowrap=nowrap>Тема</th>
<th width=10% class=thTop nowrap=nowrap>Cообщений</th>
<th width=12% class=thCornerR nowrap=nowrap>Автор</th>
<th width=18% class=thCornerR nowrap=nowrap>Обновления</th>
</tr>";
$addbutton="<table width=100%><tr><td align=left valign=middle nowrap=nowrap><span class=nav><a href=\"index.php?fid=$fid&newtema=add\"><img src='$fskin/newthread.gif' border=0></a> </span></td>";
// определяем есть ли информация в файле с данными
if (is_file("data/topic0.dat")) { $msglines=file("data/topic0.dat");
if (count($msglines)>0) {
// Выводим qqmain сообщений на текущей странице
$lines=file("data/topic0.dat");
$i=count($lines); $n="0";
if (isset($_GET['page'])) {$page=$_GET['page'];} else {$page="0";}
if ($page>=$i) {$page=$i-1;} // Исключаем ошибку вызова несуществующей страницы
if ($i-$page-$qqmain>=0) {$a1=$i-$page; $u=$a1-$qqmain;} else {$a1=$i-$page; $u=0;}
do {$a1--; $dt=explode("|", $lines[$a1]);
if (is_file("data/$dt[7].dat")) {$linesdat=file("data/$dt[7].dat");}
if (isset($linesdat)) {$idat=count($linesdat); $datasize=sizeof($lines);} else {$idat=0;}
if ($datasize==0) {exit("<h1>ошибка :-(. Файл topic0.dat пуст!!!</h1>");}
print "<tr height=50>
<td width=3% class=row1 align=center valign=middle>.</td>
<td width=57% class=row1 valign=middle><span class=forumlink><b><a href=\"index.php?event=topic&fid=$fid&id=$dt[7]\">$dt[3]</a>";
if ($idat>$qq) { // выводим список доступных страниц
print "</b></span><BR><small> Страницы: <B>";
for($zi=0; $zi<$idat;) {$zii=1+$zi/$qq; print "<a href=\"index.php?event=topic&fid=$fid&id=$dt[7]&page=$zi\">$zii</a> "; $zi=$zi+$qq;}
}
print"</span></td><td width=10% class=row2 align=center>$idat</td>
<td width=10% class=row2 align=center><span class=gensmall>
<a href=\"mailto:$dt[2]\">$dt[0]</a><BR><small>гость</small>";
if ($idat>=2) {$dtdat=explode("|",$linesdat[$idat-1]); $dt[0]=$dtdat[0]; $dt[1]=$dtdat[1]; $dt[2]=$dtdat[2]; $dt[5]=$dtdat[5]; $dt[6]=$dtdat[6];}
if ($dt[5]==$date) {$dt[5]="<B>сегодня</B>";}
print "</span></td><td width=15% height=50 class=row2 align=left valign=middle nowrap=nowrap><span class=gensmall>
автор: $dt[0]<BR>
дата: $dt[5]<BR>
время: $dt[6]</font>
</td></tr>";
} while($a1 > $u);
// выводим список доступных страниц
$lines = file("data/topic$fid.dat");
$a = count($lines);
print "$addbutton <td align=right valign=middle nowrap=nowrap><span class=gensmall><b>Страницы: ";
for($i=0; $i<$a;)
{$ii=1+$i/$qqmain;
if ($page==$i) {print "<B>$ii</B> ";} else {print "<a href=\"index.php?fid=$fid&page=$i\">$ii</a> ";}
$i=$i+$qqmain;}
print "</b></span></td>";
} else {print"$addbutton";}
} else {print"$addbutton";}
print "</tr></table><BR>";
if (isset($_GET['newtema']))
{print "<table width=100% class=forumline><tr> <td class=catHead colspan=2 height=28><span class=cattitle>Добавление темы</span></td></tr>
<tr><td class=row1 align=right valign=top rowspan=2><span class=gensmall>
<B>Имя</B> и E-mail<BR>
<B>Заголовок темы</B><BR><B>Сообщение</B></td><td class=row1 valign=middle rowspan=2><form action=\"index.php?event=addtopic&fid=$fid\" method=post name=REPLIER>
<input type=text class=post name=name maxlength=$maxname size=23> <input type=text class=post name=email size=24><br>
<input type=text class=post name=zag maxlength=$maxzag size=50><br>
<textarea class=post cols=100 rows=6 name=msg></textarea>
<input type=button class=button value=' Картинка(только JPG) ' onclick=\"DoSmilie(' [img][/img] ');\"> 
<input type=button class=button value=' Код ' onclick=\"DoSmilie(' [Code] [/Code] ');\">
<input type=button class=button value=' B ' style='font-weight:bold; width: 30px' onclick=\"DoSmilie(' ');\">
<input type=button class=button value=' RB ' style='font-weight:bold; color:red' onclick=\"DoSmilie('[RB] [/RB]');\"> ";
// АНТИСПАМ----
if ($antispam!="0") {
if (array_key_exists("image", $_REQUEST)) { $num=$_REQUEST["image"];
for ($i=0; $i<10; $i++) {if (md5($i+$absrand)==$num) {imgwr($st,$i); die();}} }
$xkey=""; mt_srand(time()+(double)microtime()*1000000);
print"<br>Защитный код: ";
for ($i=0; $i<$maxkey; $i++) {
$snum[$i]=mt_rand(0,9); $psnum=md5($snum[$i]+$absrand);
$phpself=$_SERVER["PHP_SELF"];
echo "<img src=$phpself?image=$psnum border='0' alt=''>\n";
$xkey=$xkey.$snum[$i];
}
$xkey=md5("$xkey+$absrand");
print" <input name='usernum' type='text' maxlength=$maxkey size=6> (введите число, указанное на картинке)
<input name=xkey type=hidden value='$xkey'>";}
print"<BR><br><input type=submit class=mainoption value=' Добавить '><br><br></td></form>
<SCRIPT language=JavaScript>document.REPLIER.msg.focus();</SCRIPT>
</span>
</tr></table><BR>";
} // конец главной страницы
} else {
if ($_GET['event']=="topic") {
if (!isset($_GET['id'])) {exit("<h3>ошибка :-(</h3>");} else {$id=$_GET['id'];}
$fid="0";
if (!is_file("data/topic0.dat")) {exit("<h3>Ошибка скрипта. Файл topic0.dat отсутствует. Дальнейшая работа невозможна!<h3>");}
$mainlines = file("data/topic0.dat"); // считываем название текущего форума
$i=count($mainlines); if ($i<1) {exit("<h3>Ошибка скрипта. Файл topic0.dat пуст. Дальнейшая работа невозможна!<h3>");}
do {$i--; $rdt = explode("|", $mainlines[$i]);
// проходим по всем разделам и топикам - ищем запращиваемый
$dt = explode("|", $mainlines[$i]);
if ($dt[0]==$fid) {$i=0;}
} while($i > "1");
$frname=$dt[1];
// определяем есть ли информация в файле с данными
if (!is_file("data/$id.dat")) {exit("<h3>ошибка, файл пуст :-(</h3>");}
$lines=file("data/$id.dat"); $itogo=count($lines); $i=$itogo; $n="0";
if ($itogo>0) {
if (isset($_GET['page'])) {$page=$_GET['page'];} else {$page="0";}
if ($page>=$i) {$page=(floor($i/$qq))*10;} // Исключаем ошибку вызова несуществующей страницы
if ($i<=$qq) {$page="0";}
if ($page>=1) {$a1=$page;} else {$a1=0;}
if (($a1+$qq)<$i) {$u=$a1+$qq;} else {$u=$i;}
do {$dt=explode("|", $lines[$a1]);
//$dt[4]=str_replace("","<b>", $dt[4]);
//$dt[4]=str_replace("","</b>", $dt[4]);
//$dt[4]=str_replace("[RB]","<B><font color=red>", $dt[4]);
//$dt[4]=str_replace("[/RB]","</font></B>", $dt[4]);
//$dt[4]=str_replace("[Quote]","<BR><fieldset align=center style='width:80%; color:#EE4422'><legend><B>Цитата:</B></legend>", $dt[4]);
//$dt[4]=str_replace("[/Quote]","</fieldset><BR>", $dt[4]);
//$dt[4]=str_replace("[Code]","<BR><fieldset align=center style='width:80%; color:#224488'><legend><B>Код:</B></legend>", $dt[4]);
//$dt[4]=str_replace("[/Code]","</fieldset><BR>", $dt[4]);
$dt[4]=str_replace("[img]","<img src='", $dt[4]);
$dt[4]=str_replace("[/img]","'>", $dt[4]);
//$dt[4]=str_replace(":-))",$s1,$dt[4]);
//$dt[4]=str_replace(":-)",$s2,$dt[4]);
//$dt[4]=str_replace(":-P",$s3,$dt[4]);
//$dt[4]=str_replace("8-)",$s4,$dt[4]);
//$dt[4]=str_replace(":-(",$s5,$dt[4]);
//$dt[4]=str_replace(":-O",$s6,$dt[4]);
//$dt[4]=str_replace(";-)",$s7,$dt[4]);
//$dt[4]=str_replace(":roll:",$s8,$dt[4]);
//$dt[4]=str_replace(":rf:",$s9,$dt[4]);
//$dt[4]=str_replace("8-(",$s10,$dt[4]);
//$dt[4]=str_replace("`-(",$s11,$dt[4]);
//$dt[4] = eregi_replace("(.*)\\[img\\](.*)\\[/img\\](.*)","\\1<img src='\\2' border='0'>\\3", $dt[4]);
//$dt[4] = eregi_replace("(.*)\\[url\\](.*)\\[/url\\](.*)","\\1<a class='lib' href='\\2' target='_blank'>\\2</a>\\3", $dt[4]);
//$dt[4] = eregi_replace("(.*)\\[url=(.*)\\](.*)\\[/url\\](.*)","\\1<a class='lib' href='\\2' target='_blank'>\\3</a>\\4", $dt[4]);
//if ($liteurl=="1") {$dt[4]=eregi_replace("((https?|ftp)://[[:alnum:]_=/-]+(\\.[[:alnum:]_=/-]+)*(/[[:alnum:]+&._=/~%]*(\\?[[:alnum:]?+&;_=/%]*)?)?)", "<a href='\\1' target='_blank'>\\1</a>", $dt[4]);}
$a1++;
if (!isset($m1)) {
print "<table><tr><td><span class=nav> <a href=index.php class=nav>$fname</a> -> <a href='index.php?event=topic&fid=$fid&id=$dt[7]' class=nav><strong>$dt[3]</strong></a></span></td></tr></table>
<table class=forumline width=100% cellspacing=1 cellpadding=3><tr>
<th class=thLeft width=150 height=26 nowrap=nowrap>Автор</th>
<th class=thRight nowrap=nowrap>Сообщение</th>"; $m1="1"; }
print"</tr>
<tr height=150><td valign=top class=row1><span class=name><BR><center>
<a href=mailto:$dt[2]>$dt[0]</a> <a href='javascript:%20x()' onclick=\"DoSmilie('$dt[0], ');\" class=nav>".chr(149)."</a><BR><BR><small>гость</small>
</span></td><td class=row1 width=100% height=28 valign=top><table width=100% height=100%><tr valign=center><td><span class=postbody>$dt[4]</span>
</td></tr></table></td></tr><tr>
<td class=row1 valign=middle><span class=postdetails><I><B>$a1.</B></I></span></td>
<td class=row1 width=100% height=28 nowrap=nowrap><span class=postdetails>Отправлено: <b>$dt[5]</b> - $dt[6]</span></td>
</tr><tr><td class=spaceRow colspan=2 height=1><img src=\"$fskin/spacer.gif\" width=1 height=1></td>";
} while($a1 < $u);
print "</tr></table>";
$a=$itogo; // выводим список доступных страниц
print "<table width=100%><tr><td align=center colspan=3><span class=nav>Страницы: ";
for($i=0; $i<$a;) { $ii=1+$i/$qq;
if ($page==$i) {print "<B>$ii</B> ";} else {print "<a href=\"index.php?event=topic&fid=$fid&id=$id&page=$i\">$ii</a> ";}
$i=$i+$qq;}
print "</span></td></tr></table>
<form action=\"index.php?event=addanswer&fid=$fid\" method=post name=REPLIER>
<input type=hidden name=id value=$dt[7]>
<input type=hidden name=page value=$page>
<input type=hidden name=zag value=\"$dt[3]\">
<table cellpadding=3 cellspacing=1 width=100% class=forumline>
<tr><th class=thHead colspan=2 height=25><b>Сообщение</b></th></tr>
<tr><td class=row1 width=14% height=25><span class=gen><b>Имя и E-mail<BR>
</b></span></td><td class=row2 width=76%><span class=genmed>
<input type=text name=name class=post maxlength=$maxname size=28> <input type=text name=email class=post size=30>
</span></td></tr><tr>
<td class=row1 valign=top><span class=genmed><b>Сообщение</b><br><br>Для вставки имени, кликните на точку рядом с ним.<br><br>Смайлики:<br>
<table align=center width=100 height=70><tr><td valign=top>
<A href='javascript:%20x()' onclick=\"DoSmilie(' :-))');\">$s1</a>
<a href='javascript:%20x()' onclick=\"DoSmilie(' :-)');\">$s2</a>
<a href='javascript:%20x()' onclick=\"DoSmilie(' :-P');\">$s3</a>
<a href='javascript:%20x()' onclick=\"DoSmilie(' 8-)');\">$s4</a>
<a href='javascript:%20x()' onclick=\"DoSmilie(' :-(');\">$s5</a>
<A href='javascript:%20x()' onclick=\"DoSmilie(' :-O');\">$s6</a>
<A href='javascript:%20x()' onclick=\"DoSmilie(' ;-)');\">$s7</a>
<A href='javascript:%20x()' onclick=\"DoSmilie(':roll:');\">$s8</a>
<A href='javascript:%20x()' onclick=\"DoSmilie(':rf:');\">$s9</a>
<A href='javascript:%20x()' onclick=\"DoSmilie(' 8-(');\">$s10</a>
<A href='javascript:%20x()' onclick=\"DoSmilie(' `-(');\">$s11</a>
</tr></td></table>
</span></td>
<td class=row2 valign=top><span class=gen><table width=450><tr valign=middle><td><span class=genmed>
<input type=button class=button value=' B ' style='font-weight:bold; width: 30px' onclick=\"DoSmilie(' ');\">
<input type=button class=button value=' RB ' style='font-weight:bold; color:red' onclick=\"DoSmilie('[RB] [/RB]');\">
<input type=button class=button value='Цитата' onclick=\"DoSmilie(' [Quote] [/Quote] ');\">
<input type=button class=button value=' Код ' onclick=\"DoSmilie(' [Code] [/Code] ');\">
<input type=button class=button value=' Картинка(только JPG) ' onclick=\"DoSmilie(' [img][/img] ');\">
</span></td></tr><tr>
<td colspan=9><span class=gen><textarea name=msg cols=95 rows=10 class=post></textarea></span></td></TR>";
// АНТИСПАМ----
if ($antispam!="0") {
if (array_key_exists("image", $_REQUEST)) { $num=$_REQUEST["image"];
for ($i=0; $i<10; $i++) {if (md5($i+$absrand)==$num) {imgwr($st,$i); die();}} }
$xkey=""; mt_srand(time()+(double)microtime()*1000000);
print"<TR><td class=row1>Защитный код: ";
for ($i=0; $i<$maxkey; $i++) {
$snum[$i]=mt_rand(0,9); $psnum=md5($snum[$i]+$absrand);
$phpself=$_SERVER["PHP_SELF"];
echo "<img src=$phpself?image=$psnum border='0' alt=''>\n";
$xkey=$xkey.$snum[$i];
}
$xkey=md5("$xkey+$absrand");
print" <input name='usernum' type='text' maxlength=$maxkey size=6> (введите число, указанное на картинке)
<input name=xkey type=hidden value='$xkey'>";}
print"</tr></table></span></td></tr>
<tr><td class=catBottom colspan=2 align=center height=28><input type=submit tabindex=5 class=mainoption value=' Отправить '> <input type=reset tabindex=6 class=mainoption value=' Очистить '></td>
</tr></table></form>";
}
}
} // else if event !=""
?>
|
Может если у кого время ест и желание, помогите. А то уже крыша едет. | |
|
|
|
|
|
|
|
для: Rizhiiy
(16.12.2008 в 13:06)
| | многА букАФ. такие большие фрагменты кода надо цеплять аттачем. в код не смотрела, а %20 - это пробел в кодировке, приемлемой для URL. достаточно сделать urldecode() и все будет нормально. | |
|
|
|
|
|
|
|
для: elenaki
(17.12.2008 в 10:36)
| | Спасибо за ответ) Вчера опытным путём определил что делает пробелы вот эта весч //$msg=wordwrap($msg,45,' ',1); Так то всё правильно, длинные слова надо разрывать, но ссылки она тоже щитает длинными словами так как в них пробела нет. И успешно выполнят свою работу над ними, после чего они не работают. подскажите подробней пожайлуста как применить urldecode() в моём случае.
ЗЫ.Сори за кусок кусок кода огромный, спешил, не разобрался. | |
|
|
|
|
|
|
|
для: Rizhiiy
(17.12.2008 в 10:57)
| | не применять функцию wordwrap к ссылкам | |
|
|
|
|