Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Скрипт конференции портит ссылки, очень сильно нуждаюсь в помощи...
 
 автор: Rizhiiy   (16.12.2008 в 13:06)   письмо автору
 
 

Уважаемые форумчане, помогите кто может. Есть Файловвый форум, точнее конференция. и есть там фишка для подмены пользовательских тегов типа [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("&#032;",' ',$text);
//$text=str_replace("&",'&amp;',$text);
//$text=str_replace("<!--",'&#60;&#33;--',$text);
//$text=str_replace("-->",'--&#62;',$text);
//$text=preg_replace("/<script/i",'&#60;script',$text);
//$text=str_replace(">",'&gt;',$text);
//$text=str_replace("<",'&lt;',$text);
//$text=str_replace("\"",'&quot;',$text);
//$text=preg_replace("/\n\n/",'<p>',$text);
//$text=preg_replace("/\n/",'<br>',$text);
//$text=preg_replace("/\\\$/",'&#036;',$text);
//$text=preg_replace("/\r/",'',$text);
//$text=stripslashes($text);
//$text=preg_replace( "/\\\/",'&#092;',$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>&nbsp;&nbsp;&nbsp;<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>&nbsp;</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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Страницы:&nbsp; <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>&nbsp;&nbsp;"$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>&nbsp;
автор: 
$dt[0]<BR>&nbsp;
дата: 
$dt[5]<BR>&nbsp;
время: 
$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>Страницы:&nbsp; ";
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>&nbsp;&nbsp;";}
$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] ');\">&nbsp
<input type=button class=button value=' Код ' onclick=\"DoSmilie(' [Code]  [/Code] ');\">&nbsp;
<input type=button class=button value=' B ' style='font-weight:bold; width: 30px' onclick=\"DoSmilie('    ');\">&nbsp;
<input type=button class=button value=' RB ' style='font-weight:bold; color:red' onclick=\"DoSmilie('[RB] [/RB]');\">&nbsp;"
;

// АНТИСПАМ----
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>&nbsp;&nbsp;&nbsp;<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>Страницы:&nbsp; ";
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>&nbsp;&nbsp;";}
$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('    ');\">&nbsp;
<input type=button class=button value=' RB ' style='font-weight:bold; color:red' onclick=\"DoSmilie('[RB] [/RB]');\">&nbsp;
<input type=button class=button value='Цитата' onclick=\"DoSmilie(' [Quote]  [/Quote] ');\">&nbsp;
<input type=button class=button value=' Код ' onclick=\"DoSmilie(' [Code]  [/Code] ');\">&nbsp;

<input type=button class=button value=' Картинка(только JPG) ' onclick=\"DoSmilie(' [img][/img] ');\">&nbsp;

</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=' Отправить '>&nbsp;&nbsp;&nbsp;<input type=reset tabindex=6 class=mainoption value=' Очистить '></td>
</tr></table></form>"
;
}
}
// else if event !=""
?>


Может если у кого время ест и желание, помогите. А то уже крыша едет.

  Ответить  
 
 автор: elenaki   (17.12.2008 в 10:36)   письмо автору
 
   для: Rizhiiy   (16.12.2008 в 13:06)
 

многА букАФ. такие большие фрагменты кода надо цеплять аттачем. в код не смотрела, а %20 - это пробел в кодировке, приемлемой для URL. достаточно сделать urldecode() и все будет нормально.

  Ответить  
 
 автор: Rizhiiy   (17.12.2008 в 10:57)   письмо автору
 
   для: elenaki   (17.12.2008 в 10:36)
 

Спасибо за ответ) Вчера опытным путём определил что делает пробелы вот эта весч //$msg=wordwrap($msg,45,' ',1); Так то всё правильно, длинные слова надо разрывать, но ссылки она тоже щитает длинными словами так как в них пробела нет. И успешно выполнят свою работу над ними, после чего они не работают. подскажите подробней пожайлуста как применить urldecode() в моём случае.
ЗЫ.Сори за кусок кусок кода огромный, спешил, не разобрался.

  Ответить  
 
 автор: elenaki   (17.12.2008 в 11:29)   письмо автору
 
   для: Rizhiiy   (17.12.2008 в 10:57)
 

не применять функцию wordwrap к ссылкам

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования