Скрипт по занесению вещей в базы

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

Vugl

Старейшина
Репутация
0 / 22
Код:
<?
if(!in_array(ADM_ITEM, $_permission[$User['role']])) die('Нет доступа');
if($_POST['act']) {
    $groupid=(int)$_POST['groupid'];
    $thname=trim($_POST['thname']);
    $small_image=trim($_POST['small_image']);
    $big_image=trim($_POST['big_image']);
    $level=(int)$_POST['level'];
    $clanid=(int)$_POST['clanid'];
    $price=(int)$_POST['price'];
    $priceart=(int)$_POST['priceart'];
    $art=(int)$_POST['art'];
    $trsila=(int)$_POST['trsila'];
    $trlovkost=(int)$_POST['trlovkost'];
    $trinta=(int)$_POST['trinta'];
    $trpower=(int)$_POST['trpower'];
    $upsila=(int)$_POST['upsila'];
    $uplovkost=(int)$_POST['uplovkost'];
    $upinta=(int)$_POST['upinta'];
    $krit=(int)$_POST['krit'];
    $akrit=(int)$_POST['akrit'];
    $uvorot=(int)$_POST['uvorot'];
    $auvorot=(int)$_POST['auvorot'];
    $health=(int)$_POST['health'];
    $uron_min=(int)$_POST['uron_min'];
    $uron_max=(int)$_POST['uron_max'];
    $b1=(int)$_POST['b1'];
    $b2=(int)$_POST['b2'];
    $b3=(int)$_POST['b3'];
    $b4=(int)$_POST['b4'];
    $m=(int)$_POST['m'];
    $magic=(int)$_POST['magic'];
    $desc=trim($_POST['desc']);

            if($thname=='') $m_type='Название вещи указано неверно';
            elseif($level<=0) $m_type='Требуемый уровень указан неверно';
            elseif($price<=0) $m_type='Цена вещи указана неверно';
            else {
              mysql_query('insert into item_prototype(name, cost, cost_art, art, group_id, small_image, big_image, req_level, req_power, req_sila, req_lovkost, req_inta, up_sila, up_lovkost, up_inta, up_mf_krit, up_mf_uvorot, up_mf_antikrit, up_mf_antiuvorot, up_health, status, b1, b2, b3, b4, udar_min, udar_max, description, m, magic) values("'.$thname.'","'.$price.'","'.$priceart.'","'.$art.'","'.$groupid.'","'.$small_image.'","'.$big_image.'","'.$level.'","'.$trpower.'","'.$trsila.'","'.$trlovkost.'","'.$trinta.'","'.$upsila.'","'.$uplovkost.'","'.$upinta.'","'.$krit.'","'.$akrit.'","'.$uvorot.'","'.    $auvorot.'","'.$health.'","1","'.$b1.'","'.$b2.'","'.$b3.'","'.$b4.'","'.$uron_min.'","'.$uron_max.'","'.$desc.'","'.$m.'","'.$magic.'")') or die ('Ошибка 200');
              $id=mysql_insert_id();
                      $m_type='Вещь с ID='.$id.' успешно добавлена';
              add_log(LOG_EVENT, 'Дилер '.$User['nick'].' добавил предмет с ID='.$id);
                      }

}?>
<form name="f1" action="<?$siteHttp?>admin.php?section=prototype" method="post">
<table cellpadding="0" cellspacing="0" width="100%" class="cmsMainText">
    <tr>
        <td colspan="2" align="center" height="40" class="CmsMainHeader">Добавить вещь</td>
    </tr>
    <tr>
        <td>Вещь:</td>
        <td width="100%">
        </td>
    </tr>
        <td> Тип вещи:</td>
        <td>
            <select name="groupid" style="width: 27%">
<?    $rs=mysql_query('select id, name from item_group order by id');
    while($r=mysql_fetch_array($rs)) echo '<option value="'.$r['id'].'">'.$r['name']?>
            </select>
        </td>

        <tr>
                   <td> Название:</td>
        <td> <input type="text" name="thname" style="width: 80%"> </td>
    </tr>
    <tr>
        <td> Цена:</td>
        <td> <input type="text" name="price" style="width: 10%"> </td>
    </tr>
        <tr>
        <td> Цена артефакта:</td>
        <td> <input type="text" name="priceart" style="width: 10%"> </td>
    </tr>
     <tr>
        <td> Арт ?</td>
        <td> <INPUT TYPE=CHECKBOX name="art" VALUE="0" style="width: 7%"> </td>
    </tr>
    <tr>
        <td nowrap> Маленькая картинка: </td>
        <td> <input type="text" name="small_image" style="width: 20%"> </td>
    </tr>
    <tr>
        <td> Большая картинка:</td>
        <td> <input type="text" name="big_image" style="width: 20%"> </td>
    </tr>>
        <tr>
        <td> Уровень:</td>
        <td> <input type="text" name="level" style="width: 7%"> </td>
    </tr>
                <tr>
        <td> Требует силы:</td>
        <td> <input type="text" name="trsila" style="width: 7%"> </td>
    </tr>
    <tr>
        <td> Требует ловкости:</td>
        <td> <input type="text" name="trlovkost" style="width: 7%"> </td>
    </tr>
        <tr>
        <td> Требует интуиции:</td>
        <td> <input type="text" name="trinta" style="width: 7%"> </td>
    </tr>
         <tr>
        <td> Требует выносливости:</td>
        <td> <input type="text" name="trpower" style="width: 7%"> </td>
    </tr>
        <tr>
        <td> Добавляет силы:</td>
        <td> <input type="text" name="upsila" style="width: 7%"> </td>
    </tr>
    <tr>
        <td> Добавляет ловкости:</td>
        <td> <input type="text" name="uplovkost" style="width: 7%"> </td>
    </tr>
        <tr>
        <td> Добавляет интуиции:</td>
        <td> <input type="text" name="upinta" style="width: 7%"> </td>
    </tr>
         <tr>
        <td> Крит:</td>
        <td> <input type="text" name="krit" style="width: 7%"> </td>
    </tr>

    <tr>
        <td> Антикрит:</td>
        <td> <input type="text" name="akrit" style="width: 7%"> </td>
    </tr>

    <tr>
        <td> Уворот:</td>
        <td> <input type="text" name="uvorot" style="width: 7%"> </td>
    </tr>

    <tr>
        <td> Антиуворот:</td>
        <td> <input type="text" name="auvorot" style="width: 7%"> </td>
    </tr>

    <tr>
        <td> Жизнь:</td>
        <td> <input type="text" name="health" style="width: 7%"> </td>
    </tr>

    <tr>
        <td> Минимальный урон:</td>
        <td> <input type="text" name="uron_min" style="width: 7%"> </td>
    </tr>

    <tr>
        <td> Максимальный урон:</td>
        <td> <input type="text" name="uron_max" style="width: 7%"> </td>
    </tr>
    <tr>
        <td> Броня головы:</td>
        <td> <input type="text" name="b1" style="width: 7%"> </td>
    </tr>
    <tr>
        <td> Броня корпуса:</td>
        <td> <input type="text" name="b2" style="width: 7%"> </td>
    </tr>
    <tr>
        <td> Броня пояса:</td>
        <td> <input type="text" name="b3" style="width: 7%"> </td>
    </tr>
    <tr>
        <td> Броня ног:</td>
        <td> <input type="text" name="b4" style="width: 7%"> </td>
    </tr>
          <tr>
                <td>Описание:</td>
        <td colspan="2"><textarea cols="47" rows="7" name="desc"><?=$desc?></textarea></td>
    </tr>
        <tr>
        <td> Магическое ?</td>
        <td> <INPUT TYPE=CHECKBOX NAME="m" VALUE="0" style="width: 7%"> </td>
        </tr>
        <tr>
        <td>Выберите магию</td>
        <td>
            <select name="magic">
                <option value="0" style="width: 7%">Нет
                <?
                    $rs=mysql_query('select id, name from magic order by id');
                    while($r=mysql_fetch_array($rs))
                        echo '<option value="'.$r['id'].'">'.$r['name'];
                ?>
            </select>
        </td>
    </tr>
    <tr>
        <td colspan="2" align="center" height="30" valign="bottom">
            <input type="submit" class="button" value="Добавить" name="act">  
            <input type="reset" class="button" value="Очистить">
        </td>
    </tr>
</table>
</form>
<?
if($m_type!='') echo '<p class="error" align="center">'.$m_type.'</p>';
?>

Привет всем, вот нарисовал скриптик по добавлению вещей в базу.
Проверяю вроде ошибок нет, а в базу сволочь писать не хочет, я ток учусь не ругайте *plz* сильно, только покажите где я накосячил, ибо я ужо в стуор впал. Он запускается, но заместо соединения пишет еррор. Подскажите что тут, не так, скриптик выкладываю на общее пользование.
 
Чтоб проверить нужно сделать include() файла с настройками подключения к базе
 
Привет всем, вот нарисовал скриптик по добавлению вещей в базу.
to Vugl>>> Правильнее будет, не нарисовал, а собрал.
Проверяю вроде ошибок нет, а в базу сволочь писать не хочет, я ток учусь не ругайте *plz* сильно, только покажите где я накосячил, ибо я ужо в стуор впал. Он запускается, но заместо соединения пишет еррор. Подскажите что тут, не так, скриптик выкладываю на общее пользование.
to Vugl>>> У меня сразу же выдает «Ошибка 200» которую ты прописал. Немного посмотрев я удивился. Откуда ты вообще взял вот такие поля: cost_art, art ?
 
to x8Hive>>> Зачем делать include() файла с настройками подключения к базе??? Он уже скинул модуль для админки. Осталось только сохранить этот файл в директории «includes» и прописать ссылку на него.

А какя разница как делать ?
Чел спросил, я отписал своё соображение по данному вопросу!

З.С.
вообще можно юзать партиал методы.. и будет счастье =)
 
to x8Hive>>> Зачем делать include() файла с настройками подключения к базе??? Он уже скинул модуль для админки. Осталось только сохранить этот файл в директории «includes» и прописать ссылку на него.


to Vugl>>> Правильнее будет, не нарисовал, а собрал.


to Vugl>>> У меня сразу же выдает «Ошибка 200» которую ты прописал. Немного посмотрев я удивился. Откуда ты вообще взял вот такие поля: cost_art, art ?

У меня добавлены для определения артефактов, но не суть важно можно их убрать, все равно ошибка 200. То есть к базе он не может подключится. Пробовал с принудительной вставкой ид. Все равно не работает.
 
У меня добавлены для определения артефактов, но не суть важно можно их убрать, все равно ошибка 200. То есть к базе он не может подключится. Пробовал с принудительной вставкой ид. Все равно не работает.

to Vugl>>> Блин ну ты хоть когда даешь что-то на проверку, то сразу бы и дал БД. А то как нам проверять? Если не работает значит где-то ты ошибся.
 
запусти вот это:
Код:
<?php
$__sql_fields = NULL;
$__sql_values = NULL;

$__sql_fields = array
(
    "name", 
    "cost", 
    "cost_art", 
    "art", 
    "group_id", 
    "small_image", 
    "big_image", 
    "req_level", 
    "req_power", 
    "req_sila", 
    "req_lovkost",
    "req_inta",
    "up_sila",
    "up_lovkost",
    "up_inta", 
    "up_mf_krit", 
    "up_mf_uvorot", 
    "up_mf_antikrit", 
    "up_mf_antiuvorot", 
    "up_health", 
    "status", 
    "b1", 
    "b2", 
    "b3", 
    "b4", 
    "udar_min", 
    "udar_max", 
    "vdescription", 
    "vm", 
    "magic"
);

$__sql_values = array
(
    "'".$thname."'",
    "'".$price."'",
    "'".$priceart."'",
    "'".$art."'",
    "'".$groupid."'",
    "'".$small_image."'",
    "'".$big_image."'",
    "'".$level."'",
    "'".$trpower."'",
    "'".$trsila."'",
    "'".$trlovkost."'",
    "'".$trinta."'",
    "'".$upsila."'",
    "'".$uplovkost."'",
    "'".$upinta."'",
    "'".$krit."'",
    "'".$akrit."'",
    "'".$uvorot."'",
    "'".$auvorot."'",
    "'".$health."'",
    "1",
    "'".$b1."'",
    "'".$b2."'",
    "'".$b3."'",
    "'".$b4."'",
    "'".$uron_min."'",
    "'".$uron_max."'",
    "'".$desc."'",
    "'".$m."'",
    "'".$magic."'"
);

if(count($__sql_fields) === count($__sql_values)){
    $query = "
        insert 
            into item_prototype
                (".implode(",",$__sql_fields).")
            values
                (".implode(",",$__sql_values).")
    ";
    mysql_query($query) or die (mysql_error()." - ".mysql_errno());
}
else
    die("fields count (".count($__sql_fields).") != values count (".count($__sql_values).")");
?>

Резильтат сюда..= )
 
to Vugl>>> Блин ну ты хоть когда даешь что-то на проверку, то сразу бы и дал БД. А то как нам проверять? Если не работает значит где-то ты ошибся.

зачем тебе БД ? если тут вопрос про одну таблицу. ? что так сложно создать ?
 
to Vugl>>> Блин ну ты хоть когда даешь что-то на проверку, то сразу бы и дал БД. А то как нам проверять? Если не работает значит где-то ты ошибся.

Добавь сам хоть 1 таблицу :) ! Все что от тебя слышу это 90% просто флуд.
 
Ну а теперь по теме. Вот я тот что флужу 90% выкладываю рабочий пример скрипта к оригинальной БД ЛоД.
Код:
...

Заче выкладывать повторно плахту.. лудше напиши что где поменялось...
 
Заче выкладывать повторно плахту.. лудше напиши что где поменялось...
to x8Hive>>>
Если у тебя есть программа для сравнивания файлов, тогда зайди и добавь туда скрипт Vugl и этот мой скрипт, и ты уведешь что изменения почти через каждый рядок, мой скрипт на половину изменен.
 
to x8Hive>>>
Если у тебя есть программа для сравнивания файлов, тогда зайди и добавь туда скрипт Vugl и этот мой скрипт, и ты уведешь что изменения почти через каждый рядок, мой скрипт на половину изменен.

по пунктно:

1) Форма
Код:
action="<? $siteHttp ?>admin.php?section=prototype" - [b]ошибка[/b]

2) Тип вещи:
Код:
while($r=mysql_fetch_array($rs)) 
 echo '<option value="'.$r['id'].'">'.$r['name'] - [b]ошибка[/b]

3) Если уж добавляеш новый артикул то нужно продумать авто загрузку фоток, но не прописывание абсолютного пути к фалам
Код:
<input type="text" name="small_image" style="width: 98%">
<input type="text" name="big_image" style="width: 98%">

4) ID клана:
Код:
while($r=mysql_fetch_array($rs)) 
echo '<option value="'.$r['id'].'">'.$r['name'] - [b]ошибка[/b]

5) Магическое:
Код:
<input type="text" name="ь" style="width: 98%"> - это что мягкий знак ?

Да и не понимаю твой скрипт если сравнивать по строчно то содержит на (приблизительно) 22 / 23 строки больше чем оригинал.

Всё что могу сказать мало того что после твоих правок нужно подпралять баги (которых в оригинале нету) так и нужно выравнивать код чтоб интерпритатор не выкидывал ошибки.... ты только усложнил весь процесс для Vugl....
 
О, пошла критика от x8Hive. Люблю критику (но только умную, а не такую как здесь). А теперь как ты сказал по пунктам:
1) Форма
– это у тебя ошибка, у меня все работает на ура.
2) Тип вещи
– странно и здесь ошибки нету.
3) Если уж добавляешь новый артикул, то нужно продумать авто загрузку фоток, но не прописывание абсолютного пути к фалам.
- Вот здесь ржу не могу. :) :) :) Посмотри, что написал Vugl в первом сообщении.
Насколько я понимаю у него не добавлялись вещи в базу, и он попросил помочь, а не придумывать авто загрузку фото или другой туфты, если тебе надо ты и придумывай. У моей версии вещи добавляются, так что его вопрос закрыт.
4) ID клана
- и здесь у меня ошибки нету. Как ты вообще запускаешь файл, что у тебя столько ошибок?
5) Магическое.
- Опусти голову и посмотри на свою клавиатуру, и что ты видишь? Клавиша английская “M” – это русская “Ь”. Просто на всего простая опечатка.
Да и не понимаю твой скрипт если сравнивать по строчно то содержит на (приблизительно) 22 / 23 строки больше чем оригинал.

Всё что могу сказать мало того что после твоих правок нужно подпралять баги (которых в оригинале нету) так и нужно выравнивать код чтоб интерпритатор не выкидывал ошибки.... ты только усложнил весь процесс для Vugl....
У скрипта Vugl не было всех данных которые вносились в таблицу. У него в таблицу «item_prototype» вносились 30 полей, а у стандартной БД ЛоД в таблице «item_prototype» 35 полей. Он просто изменил таблицу, кое-что добавил, а кое-что удалил. А у меня скрипт к стандартной БД, потому и больше строк (и не на 22-23, а только на 17 больше).
Это у тебя багги, а у меня все работает на УРА. Ошибок у меня нету. Не усложнил а сделал то что он просил, ведь мой скрипт вносит данные в БД? – Вносит. Тогда я сделал рабочий скрипт. А если ошибки и есть (странно почему у меня нет?) тогда доделай скрипт чтоб не было ошибок.
 
Скрипт не запускал, скопировал твой пост кторый ты скинул!
смотри сам свой пост кусок кода
где точка с запетой ?
Код:
<? 

$rs=mysql_query('select id, name from item_group order by id');              while($r=mysql_fetch_array($rs)) echo '<option 

value="'.$r['id'].'">'.$r['name']              ?>

Если уж писать через short_open_tag то уж изволь написать <?=$varname;?>
Код:
<form name="f1" 

action="<?$siteHttp?>admin.php?section=prototype" method="post">
- Опусти голову и посмотри на свою клавиатуру, и что ты видишь? Клавиша английская “M” – это русская “Ь”. Просто на всего простая опечатка.

Так это твоя опечятка.. и если уж выкладываеш что - то то проверь...
 
Если уж писать через short_open_tag то уж изволь написать <?=$varname;?>
Еще раз говорю посмотри на первый пост.
Так это твоя опечятка.. и если уж выкладываеш что - то то проверь...
Да это моя опечатка. Главное что скрипт рабочий, и добавляет вещи в БД. А если ошибки и есть тогда доделай скрипт чтоб не было ошибок.
 
Да это моя опечатка. Главное что скрипт рабочий, и добавляет вещи в БД. А если ошибки и есть тогда доделай скрипт чтоб не было ошибок.

Ну а теперь по теме.

Вот я тот что флужу 90% выкладываю рабочий пример скрипта к оригинальной БД ЛоД. - твои слова.

Вердикт таков: Твой скрипт не рабочий, и не нужно сваливать на скрипт Vugl. Кроме того что были добавлены поля и больше ошибок - то не появилась возможность взять и скопировать твой "рабочий" пример, чтоб воспользоваться без редактирования.

З.С.
по поводу: "А если ошибки и есть тогда доделай скрипт чтоб не было ошибок."
зачем мне править ?? мне легче написать с 0 .+)

Пиши по делу, и прекращай писать безрезультатные посты.
 
еще один оффтоп и тему закрою!
to x8Hive,police: решайте свой вопрос в аське или через лс:)
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху