Sidebar

PHP-вопрос

  • Раздел «Hard & Soft» — часть данного форума, поэтому следует руководствоваться в первую очередь [URL=http://cs-mapping.com.ua/forum/showthread.php?t=17042]Правилами Форума[/URL] при написании сообщений и создании тем. Помимо этого, есть особые пункты настоящего раздела.

    0. Для чего нужен настоящий раздел? Для обсуждения твёрдого и мягкого, железа и софта, аппаратных и программных продуктов и всего того, что с этим связано.

    1. Как можно корректнее называйте тему. Постарайтесь указать как можно больше информации в первом сообщении темы. Характер информации зависит от темы.

    2. Прежде чем создавать тему для обсуждения какой-либо игры, воспользуйтесь поиском. Вполне возможно, что такая тема уже есть. В таком случае, свои мысли нужно писать именно туда, а не плодить одинаковые темы. Дельные сообщения для поднятия старых тем не запрещены. Бесполезные же запрещены и в новых темах. Убедившись в отсутствии интересующей вас темы, смело создавайте свою.

    3. Описывая проблему, давайте как можно больше информации. На проблему «ничего не работает, чёрный экран» толковой помощи не будет. Укажите операционную систему, конфигурацию компьютера, версию программного обеспечения и прочие необходимы сведения. При возникновении разногласий с кем-либо из форумчан, используйте чёткие аргументы, а не «тупая программа и кривое железо». Этим вы всё равно ничего не докажете, а лишь упадёте в глазах оппонента. Разжигание холиваров не рекомендуется.

    4. [URL=http://cs-mapping.com.ua/forum/forumdisplay.php?f=52]Запрещается обсуждение взлома программ[/URL].

    4.2 В настоящем разделе действует особое правило «4.2». Запрещены сообщения, содержащие вызывающе неверную либо вызывающе неверно интерпретированную информацию, способную привести к развитию нездоровой дискуссии. Мы уважаем чужое мнение, но оставляем за собой право удалять сообщения, безаппеляционно сообщающие вызывающе неверные факты.

    Игнорирование правил приведёт к закрытию или удалению вашей темы или сообщений, а также может повлечь за собой наказание вплоть до бана.

Raid

VIP
Jul 11, 2006
8,308
33
220
0
CSM-чат
PHP-вопрос

В общем так: есть одна доска, на ней можно прикреплять картинки к постам. Но есть одно но: только к топик-стартеру. Остальные не имеют такой возможности. Пытался покопипастить код, кроме как дополнительного нерабочего окна загрузки ничего не вышло. Собственно кусок кода, отвечающий за загрузку картинок:
Code:
function form(&$dat,$resno,$admin=""){
  $maxbyte = MAX_KB * 1024;
  $no=$resno;
  if($resno){
    $msg .= "[<a href=\"".PHP_SELF2."\">".S_RETURN."</a>]\n";
    $msg .= "<table width='100%'><tr><th background=./picturez/bar1.gif bgcolor=#547494>\n";
    $msg .= "<font color=#FFFFFF>".S_POSTING."</font>\n";
    $msg .= "</th></tr></table>\n";
  }
  if($admin){
    $hidden = "<input type=hidden name=admin value=\"".ADMIN_PASS."\">";
    $msg = "<h4>".S_NOTAGS."</h4>";
  }
  $dat.=$msg.'<center>
<form action="'.PHP_SELF.'" method="POST" enctype="multipart/form-data">
<input type=hidden name=mode value="regist">
'.$hidden.'
<input type=hidden name="MAX_FILE_SIZE" value="'.$maxbyte.'">
';
if($no){$dat.='<input type=hidden name=resto value="'.$no.'">
';}
$dat.='<table cellpadding=1 cellspacing=1>
<tr><td bgcolor=#556580><b>'.S_NAME.'</b></td><td><input type=text name=name size="28"></td></tr>
<tr><td bgcolor=#556580><b>'.S_EMAIL.'</b></td><td><input type=text name=email size="28"></td></tr>
<tr><td bgcolor=#556580><b>'.S_SUBJECT.'</b></td><td><input type=text name=sub size="35">
<input type=submit value="'.S_SUBMIT.'"></td></tr>
<tr><td bgcolor=#556580><b>'.S_COMMENT.'</b></td><td><textarea name=com cols="48" rows="4" wrap=soft></textarea></td></tr>
';
if(!$resno){
$dat.='<tr><td bgcolor=#556580><b>'.S_UPLOADFILE.'</b></td>
<td><input type=file name=upfile size="35">
[<label><input type=checkbox name=textonly value=on>'.S_NOFILE.'</label>]</td></tr>
';}
$dat.='<tr><td bgcolor=#556580><b>'.S_DELPASS.'</b></td><td><input type=password name=pwd size=8 maxlength=8 value=""><small>'.S_DELEXPL.'</small></td></tr>
<tr><td colspan=2>
<small>'.S_RULES.'</small></td></tr></table></form></center><hr>';
}

Первая картинка в аттаче - как есть внутри треда на данный момент. Вторая - как должно быть.
 

Attachments

Cep}|{

New member
Aug 24, 2010
39
36
Ну, видимо проблема в -
Code:
if(!$resno){
$dat.='<tr><td bgcolor=#556580><b>'.S_UPLOADFILE.'</b></td>
<td><input type=file name=upfile size="35">
[<label><input type=checkbox name=textonly value=on>'.S_NOFILE.'</label>]</td></tr>
';}

А именно - if(!$resno) {, когда $resno равна 0 или false - тогда идет вывод строки с добавлением файла.

Убери if(!$resno), тогда строка будет всегда появляться.
 

Cep}|{

New member
Aug 24, 2010
39
36
2 Stanislav.Mk: Ну тогда будет выводиться строка, когда $resno не равно 0 или false. А там фиг его знает, какое значение эта переменная принимает.
 

Raid

VIP
Jul 11, 2006
8,308
33
220
0
CSM-чат
2 Cep}|{:
Если просто удалить, скрипт крашится. Сделал так:
Code:
[B]if(!$yes)[/B]{
$dat.='<tr><td bgcolor=#556580><b>'.S_UPLOADFILE.'</b></td>
<td><input type=file name=upfile size="35">
[<label><input type=checkbox name=textonly value=on>'.S_NOFILE.'</label>]</td></tr>
';}
Но при этом загрузки картинки не происходит.
2 Stanislav.Mk:
При таком подходе поля просто меняются местами: нельзя создать тред с картинкой, но есть поле для загрузки в уже существующем треде. В любом случаи картинка не загружается, выводится пустое поле.

В общем-то могу весь скрипт залить.
 
Last edited:
  • Like
Reactions: ForestGirl

Max Flynt

New member
Jan 9, 2012
134
5
0
попробуй так
Code:
function form(&$dat,$resno,$admin=""){
  $maxbyte = MAX_KB * 1024;
  if($resno){
    $msg .= "[<a href=\"".PHP_SELF2."\">".S_RETURN."</a>]\n";
    $msg .= "<table width='100%'><tr><th background=./picturez/bar1.gif bgcolor=#547494>\n";
    $msg .= "<font color=#FFFFFF>".S_POSTING."</font>\n";
    $msg .= "</th></tr></table>\n";
  }
  if($admin){
    $hidden = "<input type=hidden name=admin value=\"".ADMIN_PASS."\">";
    $msg = "<h4>".S_NOTAGS."</h4>";
  }
  $dat.=$msg.'<center>
<form action="'.PHP_SELF.'" method="POST" enctype="multipart/form-data">
<input type=hidden name=mode value="regist">
'.$hidden.'
<input type=hidden name="MAX_FILE_SIZE" value="'.$maxbyte.'">
';
$dat.='<input type=hidden name=resto value="'.$no.'">
';
$dat.='<table cellpadding=1 cellspacing=1>
<tr><td bgcolor=#556580><b>'.S_NAME.'</b></td><td><input type=text name=name size="28"></td></tr>
<tr><td bgcolor=#556580><b>'.S_EMAIL.'</b></td><td><input type=text name=email size="28"></td></tr>
<tr><td bgcolor=#556580><b>'.S_SUBJECT.'</b></td><td><input type=text name=sub size="35">
<input type=submit value="'.S_SUBMIT.'"></td></tr>
<tr><td bgcolor=#556580><b>'.S_COMMENT.'</b></td><td><textarea name=com cols="48" rows="4" wrap=soft></textarea></td></tr>
';

$dat.='<tr><td bgcolor=#556580><b>'.S_UPLOADFILE.'</b></td>
<td><input type=file name=upfile size="35">
[<label><input type=checkbox name=textonly value=on>'.S_NOFILE.'</label>]</td></tr>
';
$dat.='<tr><td bgcolor=#556580><b>'.S_DELPASS.'</b></td><td><input type=password name=pwd size=8 maxlength=8 value=""><small>'.S_DELEXPL.'</small></td></tr>
<tr><td colspan=2>
<small>'.S_RULES.'</small></td></tr></table></form></center><hr>';
}
 

Raid

VIP
Jul 11, 2006
8,308
33
220
0
CSM-чат
2 Max Flynt:
Теперь окно загрузки в треде есть, и файл тоже загружает, но не в качестве нового поста в треде, а просто создаёт новый тред. И вообще при попытке ответить создаёт новый, независимо от аттача.
 

Max Flynt

New member
Jan 9, 2012
134
5
0
Raid said:
2 Max Flynt:
Теперь окно загрузки в треде есть, и файл тоже загружает, но не в качестве нового поста в треде, а просто создаёт новый тред. И вообще при попытке ответить создаёт новый, независимо от аттача.
значит либо для ответа используется другая форма, либо я не досмотрел

покажи мне вызов этой функции, так будет более понятней
 

Василь

Пассивный теребонькер
Jul 29, 2008
2,144
33
2 Stanislav.Mk:
ну как что? Раздел нубских релизов есть? Делают же карты нифига не разбираясь в дизайне? =) А потом что то путёвое получается верно? А бывает не получается. Вот и делай выводы ;)
 

Max Flynt

New member
Jan 9, 2012
134
5
0
Raid said:
2 Max Flynt:

Я конечно извиняюсь, но как он должен выглядеть в коде? В php совсем не разбираюсь же.

примерно так:
Code:
...
form($dat,$resno,$admin);
...
подозреваю что в мой код, что я указал выше надо вернуть это :
Code:
$no=$resno;
if($no){$dat.='<input type=hidden name=resto value="'.$no.'">
';}
 

Raid

VIP
Jul 11, 2006
8,308
33
220
0
CSM-чат
2 Max Flynt:
Code:
function form(&$dat,$resno,$admin=""){
  $maxbyte = MAX_KB * 1024;
  $no=$resno;
  if($resno){
    $msg .= "[<a href=\"".PHP_SELF2."\">".S_RETURN."</a>]\n";
    $msg .= "<table width='100%'><tr><th background=./picturez/bar1.gif bgcolor=#547494>\n";
    $msg .= "<font color=#FFFFFF>".S_POSTING."</font>\n";
    $msg .= "</th></tr></table>\n";
  }
Оно?
2 Stanislav.Mk:
Очень просто: методом научного тыка, и наблюдением последствий.
 

Raid

VIP
Jul 11, 2006
8,308
33
220
0
CSM-чат
2 Stanislav.Mk:
Пытаюсь найти и скопипастить кусок кода, отвечающий за загрузку картинок. Правда что-то мне подсказывает, что алгоритм аттача и постинга распространяется только на доску, но не на отдельный тред.
 

Raid

VIP
Jul 11, 2006
8,308
33
220
0
CSM-чат
2 Orr_Orange:
В смысле "смотрю"? Уже стоит и работает. Остальные не встали.
 

Masterkatze

ex orange
Apr 12, 2009
960
30
8
0
Хм, я его, как-то помнится, тоже ставил, и картинки можно было прикреплять к любому посту в треде.
 

Game Server

CSM TV

Page QR Code

QR Code

Donate Campaign

Total amount
$0.00
Goal
$25.00

Latest profile posts

TestUser wrote on TRUP@C's profile.
Master?
TestUser wrote on TRUP@C's profile.
Hello Father

Members online

No members online now.

Discord