Вопросы связанные с Oldbk

Статус
В этой теме нельзя размещать новые ответы.

Раскольников

Новичок
Репутация
0 / 64
1) Warning: array_keys() expects parameter 1 to be array, null given in krshop.php on line 244

252ce233851a.jpg


Код:
<?

//print_r($_POST);

    $data = mysql_query("SELECT * FROM `inventory` WHERE `owner` = '".mysql_real_escape_string($_SESSION['uid'])."' AND `dressed` = 0 AND  (`name` LIKE '%Букет%' OR `name` LIKE '%Сувенир%' OR `name` LIKE '%Подарок%' OR `name` LIKE '%Валентинка%' OR `name` LIKE '%Открытка%' OR `name` LIKE 'Ель%' OR `name` LIKE '%Медаль%' OR `name` LIKE '%Статуэтка%') AND `setsale`=0 AND `present` = '' ORDER by `id` DESC; ");
    while($row = mysql_fetch_array($data)) {
        if(!in_array($row['id'],array_keys($_SESSION['flowers']))) {
            $row['count'] = 1;
            if ($i==0) { $i = 1; $color = '#C7C7C7';} else { $i = 0; $color = '#D5D5D5'; }
            echo "<TR bgcolor={$color}><TD align=center style='width:150px'><IMG SRC=\"i/sh/{$row['img']}\" BORDER=0>";
            ?>
            
<input type="submit" onclick="document.all['flower'].value='<?=$row['id']?>';" value="Подарить"">
            </TD>
            <?php
            echo "<TD valign=top>";
            showitem ($row);
            echo "</TD></TR>";
        }
    }
?>

2) Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in eshop.php on line 32

387281bff4c0.jpg


Код:
$bank = mysql_fetch_array(mysql_query("SELECT * FROM `bank` WHERE `id` = ".$_SESSION['bankid'].";"));

3) Так же присудствует проблема на форуме. Написал и отрпавил я сообщение - оно добавилось. После, я делаю рефреш с помощью Ф5 - сообщение дублирует о_0
И вот какое сообщение выскакивает:
6de26af5e74c.jpg


Код проверки написано ли сообщение:
Код:
if ($_POST['text'] == "" or $_POST['text']== " ") {
                echo "<font color=red>[b]<center>Текст не может быть пустыми!</center>[/b]</font>";
            }

4) Так же актуален вопрос на счет
 
Я с нетбука, поэтому напишу в кратце по каждой проблеме..первое что я увидел, позже дам решения, либо сам постарайся решить их...

1) Ошибка выборке из массива....думаю упростить можо там скрипт и ошибки исчезнут.... и вобще не понимаю к чему там эта функция...
2) Ошибка в том, что мы из БД берем строки, и переменная видимо проверяется на TRUE и FALSE, тобиш на тип BOOLEAN... тут надо смотреть весь скрипт...
3) Я такую проблему решал и вообще проблема нубская.... в общем проблема в том, что после добавления сообщения на форум, в адресной строке у тебя остается адрес сообщения....обновишь страницу и вуАля, будет еще 1 сообщение... Решение состоит в том, что в скрипте добавления сообщения (В БД) добавь обнуление адресной строки...
4)Я ответ дал там, ты тупо проигнорил...
 
1) Ошибка выборке из массива....думаю упростить можо там скрипт и ошибки исчезнут.... и вобще не понимаю к чему там эта функция...
Не поверишь, после прочтения слов - "и вобще не понимаю к чему там эта функция..." Задумался, и нахрин ее убрал :) Все работает ... то есть теперь так:
Код:
    $data = mysql_query("SELECT * FROM `inventory` WHERE `owner` = '".mysql_real_escape_string($_SESSION['uid'])."' AND `dressed` = 0 AND  (`name` LIKE '%Букет%' OR `name` LIKE '%Сувенир%' OR `name` LIKE '%Подарок%' OR `name` LIKE '%Валентинка%' OR `name` LIKE '%Открытка%' OR `name` LIKE 'Ель%' OR `name` LIKE '%Медаль%' OR `name` LIKE '%Статуэтка%') AND `setsale`=0 AND `present` = '' ORDER by `id` DESC; ");
    while($row = mysql_fetch_array($data)) {
        //if(!in_array($row['id'],array_keys($_SESSION['flowers']))) - Удаляем эту сктроку!
        {
            $row['count'] = 1;
            if ($i==0) { $i = 1; $color = '#C7C7C7';} else { $i = 0; $color = '#D5D5D5'; }
            echo "<TR bgcolor={$color}><TD align=center style='width:150px'><IMG SRC=\"i/sh/{$row['img']}\" BORDER=0>";
            ?>
            
<input type="submit" onclick="document.all['flower'].value='<?=$row['id']?>';" value="Подарить">
            </TD>
            <?php
            echo "<TD valign=top>";
            showitem ($row);
            echo "</TD></TR>";
        }
    }
Кстати, данная ошибка почти во всех сборках !


3) Я такую проблему решал и вообще проблема нубская.... в общем проблема в том, что после добавления сообщения на форум, в адресной строке у тебя остается адрес сообщения....обновишь страницу и вуАля, будет еще 1 сообщение... Решение состоит в том, что в скрипте добавления сообщения (В БД) добавь обнуление адресной строки...
А, вот тут по подробней :) Смутно себе предсталяю как это сделать .... Я сначала хотел Яву впихнуть, на проверку текста в ячейке :)
4)Я ответ дал там, ты тупо проигнорил...
:) Не вкурил ваще сообщение :) Я думал, что оно адресованно топик стартеру :) Давайте разжуем ваще сообщение.
 
А, вот тут по подробней Смутно себе предсталяю как это сделать .... Я сначала хотел Яву впихнуть, на проверку текста в ячейке
Зачем усложнять? Добавь еще одну страницу, которая будет писать что-то типа "Пост отправлен" или просто пустую страницу.

Алгоритм:
1. отправка поста
2. реедирект на новую странцу
3. редирект назад в тему
...
PROFIT

То есть фактически второй редирект обнулит твою ссылку с сообщением и нажимая много раз f5 ты будешь просто обновлять тему. А чтобы сообщение добавить - это очень быстро два раза назад клацнуть надо будет, итд.
Смысл ясен?
 
По поводу форума....
В файле post.php - в скрипте добавления запиши в таблицу forum_posts добавь вот такую строчечку:

Код:
header("Location: index.php?n=".chars($_POST['n'])."");

Эта строчка обновит тебе адресную строку, и при обновлении у тебя не продублируется сообщение а все будет норм...
Если не вкурил то дай мне файл post.php
 
Если не вкурил то дай мне файл post.php
Я работаю над старой версией oldbk :)

Весь форум в одном файле -

SQL:
Код:
--
-- Table structure for table `forum`
--

CREATE TABLE IF NOT EXISTS `forum` (
  `id` int(255) NOT NULL AUTO_INCREMENT,
  `type` int(1) NOT NULL DEFAULT '0',
  `topic` varchar(255) NOT NULL DEFAULT '',
  `text` text NOT NULL,
  `date` varchar(14) NOT NULL DEFAULT '',
  `parent` int(255) NOT NULL DEFAULT '0',
  `author` varchar(255) NOT NULL DEFAULT '',
  `min_align` varchar(6) NOT NULL DEFAULT '0',
  `max_align` varchar(6) NOT NULL DEFAULT '0',
  `fix` int(1) NOT NULL DEFAULT '0',
  `close` int(1) NOT NULL DEFAULT '0',
  `updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `closepal` varchar(255) NOT NULL DEFAULT '',
  `icon` int(3) NOT NULL DEFAULT '13',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=228027862;

--
-- Dumping data for table `forum`
--

INSERT INTO `forum` (`id`, `type`, `topic`, `text`, `date`, `parent`, `author`, `min_align`, `max_align`, `fix`, `close`, `updated`, `closepal`, `icon`) VALUES
(1, 1, 'Общая', 'Все вопросы, не связанные с Клубом, можно обсудить в конференции "Обо всем".', '', 0, '', '0', '0', 0, 0, '0000-00-00 00:00:00', '', 13);
 
Я работаю над старой версией oldbk :)

Весь форум в одном файле -


Хм...давай попробуем так...для начала я тебе дам 1 решение..по логике вещей после добавления сообщения тебя должно кидать на стартовую форума...ты измени и проверь...если так будет, значит там роем.... как-то трудно работать когда файлы не у тебя на сервере, и проверить сам не можешь) по попытаемся))

Найди строки: (примерно 250 строки...)
Код:
            elseif (($minmax['min_align'] == 0 && $minmax['max_align'] == 0) || ($user['align']>=$minmax['min_align'] && $user['align']<=$minmax['max_align']) || ($minmax['min_align']==5 && $minmax['max_align']==5 && $user['deal']==1) || ($minmax['min_align']==175 && $minmax['max_align']==175 && ($user['align']=="1.2" or $user['align']=="1.99")) || ($user['align']>2 && $user['align']<3)) {
                mysql_query("INSERT INTO `forum` (`type`,`topic`,`text`,`parent`,`author`,`date`,`min_align`,`max_align`,`icon`)
                VALUES (2,'{$text2}','".strip_tags(nl2br($text1),"[b][i]<u><code>
")."','{$_GET['conf']}','".nick3($_SESSION['uid'])."','".date("d.m.y H:i:s")."','$min_align','$max_align','{$icon}');");
            }

и поменяй на:

Код:
            elseif (($minmax['min_align'] == 0 && $minmax['max_align'] == 0) || ($user['align']>=$minmax['min_align'] && $user['align']<=$minmax['max_align']) || ($minmax['min_align']==5 && $minmax['max_align']==5 && $user['deal']==1) || ($minmax['min_align']==175 && $minmax['max_align']==175 && ($user['align']=="1.2" or $user['align']=="1.99")) || ($user['align']>2 && $user['align']<3)) {
                mysql_query("INSERT INTO `forum` (`type`,`topic`,`text`,`parent`,`author`,`date`,`min_align`,`max_align`,`icon`)
                VALUES (2,'{$text2}','".strip_tags(nl2br($text1),"[b][i]<u><code>
")."','{$_GET['conf']}','".nick3($_SESSION['uid'])."','".date("d.m.y H:i:s")."','$min_align','$max_align','{$icon}');");
                header("Location: forum.php");
            }
 
Во, прогресс пошел :)
Только вот ошибку выдает - Warning: Cannot modify header information - headers already sent by (output started at бла,бля ...)

Update:
Нашел решение: Вот так работает:
Код:
echo "<script>location.href='forum.php';</script>";
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху