За последние 24 часа нас посетили 20897 программистов и 1111 роботов. Сейчас ищут 386 программистов ...

Не срабатывает код

Тема в разделе "PHP для новичков", создана пользователем shtorm45, 28 сен 2020.

  1. shtorm45

    shtorm45 Новичок

    С нами с:
    28 сен 2020
    Сообщения:
    6
    Симпатии:
    0
    Здравствуйте. Есть такая проблема: На нажатии на определенную заданную кнопку ,выводит на ошибку. В чем проблема. Вот код:

    Код (Text):
    1.  echo "<center><img src = '/images/jewel/$post[id].png' width='16px' height='16px' class='bord'> <font color='$color'> $post[name]</font> + $post[stat] <center>
    2.          <a href = '/j/$item[id]/$post[id]/?insert' class='btn'>
    Не срабатывает именно: <a href = '/j/$item[id]/$post[id]/?insert'


    ------------------
    Вот сама:

    Код (Text):
    1. if (isset($_GET['insert'])) {
    2.  
    3.             if ($item['jewel'] > '0' and $item['jewel'] < 350) {
    4.                 header("Location: ?");
    5.                 exit();
    6.             }
    7.  
    8.  
    9.             $item = mysql_fetch_assoc(mysql_query("SELECT * FROM `inv` WHERE `id` = '" . $id . "' AND `id_user` = '$myID' and `odeta` = 'da'"));
    10.  
    11.             if ($item['jewel'] > 0) {
    12.                 $_SESSION['msg'] = "Удалите старый камень , чтобы установить новый ";
    13.                 header("Location: ?");
    14.                 exit();
    15.             }
    16.  
    17.             if ($sale == true) {
    18.                 $value = floor($jewel['price'] / 100 * 2);
    19.                 $jewel['price'] = $jewel['price'] - $value;
    20.             }
    21. и т.д.

    ========
    В .htaccess
    Код (Text):
    1. RewriteRule ^j/([0-9]*)/?$ j.php?insert&id=$1 [L,QSA]
    2. RewriteRule ^j/([0-9]*)/([0-9]*)/?$ j.php?&id=$1&ids=$2?insert [L,QSA]
     
  2. Grigoriy Kozheletov

    Grigoriy Kozheletov Новичок

    С нами с:
    2 сен 2020
    Сообщения:
    13
    Симпатии:
    5
    Адрес:
    г. Раменское, Московская область
    Вы хотя бы написали текст ошибки. Первый блок кода не до конца выложен или забыли закрыть кавычки?
     
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.734
    Симпатии:
    1.315
    Адрес:
    Лень
    Какую ?

    не срабатывает КАК ?
     
  4. shtorm45

    shtorm45 Новичок

    С нами с:
    28 сен 2020
    Сообщения:
    6
    Симпатии:
    0
    Вот блок кода:

    Код (Text):
    1. echo "<center><img src = '/images/jewel/$post[id].png' width='16px' height='16px' class='bord'> <font color='$color'> $post[name]</font> + $post[stat] <center>
    2.          <a href = '/j/$item[id]/$post[id]/?insert' class='btn'>
    3.         <font color='gold'>Установить  <img src='/icons/rubin.png'>  $post[price]</a>";
    4.         echo "<img src='/images/center.png'><br>";

    А на счет ошибки, там не совсем ошибка, ссылается просто на мою страницу ошибок 404, хотя вроде должно работать. Я просто не профи, я адаптирую код с другого ядра под своё...
    --- Добавлено ---

    ===============================
    Вот полный блок кода, суть в том , что при нажатии на кнопку должна происходить вставка, чего не происходит, а меня скидывает на несуществующую страницу 404.
    [​IMG]
    [​IMG]

    Код (Text):
    1. if (isset($_GET['insert'])) {
    2.  
    3.             if ($item['jewel'] > '0' and $item['jewel'] < 350) {
    4.                 header("Location: ?");
    5.                 exit();
    6.             }
    7.  
    8.  
    9.             $item = mysql_fetch_assoc(mysql_query("SELECT * FROM `inv` WHERE `id` = '" . $id . "' AND `id_user` = '$myID' and `odeta` = 'da'"));
    10.  
    11.             if ($item['jewel'] > 0) {
    12.                 $_SESSION['msg'] = "Удалите старый камень , чтобы установить новый ";
    13.                 header("Location: ?");
    14.                 exit();
    15.             }
    16.  
    17.             if ($sale == true) {
    18.                 $value = floor($jewel['price'] / 100 * 2);
    19.                 $jewel['price'] = $jewel['price'] - $value;
    20.             }
    21.  
    22.             if ($user['rubin'] < $jewel['price']) {
    23.  
    24.                 $_SESSION['msg'] = "Не хватает " . ico('icons', 'rubin.png') . " " . ($jewel['price'] - $user['rubin']) . " рубинов ";
    25.                 header("Location: ?");
    26.                 exit();
    27.             }
    28.  
    29.             mysql_query("UPDATE `inv` SET `jewel` = '".$jewel['stat']."' , `str` = '" . ($item['str'] + $jewel['stat']) . "' , `def` = '" . ($item['def'] + $jewel['stat']) . "', `health` = '" . ($item['health'] + $jewel['stat']) . "' where (`id` = '" . $item['id'] . "')");
    30.  
    31.  
    32.             mysql_query("UPDATE `users` SET `str` = '" . ($user['str'] + $jewel['stat']) . "', `def` = '" . ($user['def'] + $jewel['stat']) . "', `max_health` = '" . ($user['max_health'] + $jewel['stat']) . "', `rubin` = '" . ($user['rubin'] - $jewel['price']) . "' WHERE (`id` = '" . $myID . "')");
    33.             $_SESSION['msg'] = 'Вы установили ' . $jewel['name'] . ' за ' . ico('icons', 'rubin.png') . '' . $jewel['price'] . '  ';
    34.             header("Location: ?");
    35.             exit();
    36.         }


    Вот сама кнопка:
    [​IMG]
    Код (Text):
    1. echo "<center><img src = '/images/jewel/$post[id].png' width='16px' height='16px' class='bord'> <font color='$color'> $post[name]</font> + $post[stat] <center>
    2.          <a href = '/j/$item[id]/$post[id]/?insert' class='btn'>
    3.         <font color='gold'>Установить  <img src='/icons/rubin.png'>  $post[price]</a></a>";
     
    #4 shtorm45, 15 окт 2020
    Последнее редактирование: 15 окт 2020
  5. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.199
    Симпатии:
    184
    Почему mysql?
     
  6. shtorm45

    shtorm45 Новичок

    С нами с:
    28 сен 2020
    Сообщения:
    6
    Симпатии:
    0
    А что не так?


    Нужно через mysqli ? типа $db->query(' ....... ?
     
  7. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.789
    Симпатии:
    646
    Вставка по GET (там обычная ссылка), ну-ну.
    --- Добавлено ---
    «Перекрещивание» парных тегов. Или font вообще не закрыт.
    --- Добавлено ---
    :)

    Жесть.
     
  8. shtorm45

    shtorm45 Новичок

    С нами с:
    28 сен 2020
    Сообщения:
    6
    Симпатии:
    0
    Подскажите, что нужно сделать? как поправить?

    if ($sale == true) { это всё я сейчас убрал, font закрыл....


    Проблема остается...
     
  9. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.789
    Симпатии:
    646
    Два вопроса – это сильно. См. пред. правило. А вообще есть спец. флаг для наследования параметров из исходного адреса – QSA.
    --- Добавлено ---
    Он у вас установлен, кстати ;)
     
  10. shtorm45

    shtorm45 Новичок

    С нами с:
    28 сен 2020
    Сообщения:
    6
    Симпатии:
    0

    Подскажите как правильно, я в .htaccess не силён.
     
  11. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.789
    Симпатии:
    646
    Я тоже не шипко силен, т.к. у меня нет нужды такие ужасы в нем писать. По сути я уже подсказал: если в правиле есть QSA, в нем insert вообще писать не нужно.
     
    #11 miketomlin, 16 окт 2020
    Последнее редактирование: 16 окт 2020
    shtorm45 нравится это.
  12. shtorm45

    shtorm45 Новичок

    С нами с:
    28 сен 2020
    Сообщения:
    6
    Симпатии:
    0
    Аааа....я тебя люблю, чел....:D , спасибо, убрал ?insert и всё заработало..... делов то было оказывается)) РЕСПЕКТ....




    ===================
    ТЕМА ЗАКРЫТА....))