За последние 24 часа нас посетили 18500 программистов и 1606 роботов. Сейчас ищут 910 программистов ...

.htaccess или как передать параметр

Тема в разделе "Прочие вопросы по PHP", создана пользователем KFan, 22 июл 2011.

  1. KFan

    KFan Активный пользователь

    С нами с:
    22 июл 2011
    Сообщения:
    11
    Симпатии:
    0
    есть файл выбора противника для боя, случайно выбирается с помощью запроса, после выбора нажав на кнопку атаки должен совершиться переход на скрипт боя, где он будет проведен, но, я не знаю как передать параметр, можно передать через гет но тогда такая конструкция

    RewriteRule ^search/level$ ./fight.phtml [L]

    летит к чертям...

    можно ли передать параметр, не теряя выше указанной возможности, не заводя кук, и не запуская start_session();

    то есть чтобы была реальная строка допустим site.ru/index.phtml?attack=attackcharname

    но чтобы она преобразовалась в строку site.ru/fight/
     
  2. KFan

    KFan Активный пользователь

    С нами с:
    22 июл 2011
    Сообщения:
    11
    Симпатии:
    0
    З.Ы. Делаю браузерку
     
  3. Easy

    Easy Активный пользователь

    С нами с:
    15 июл 2011
    Сообщения:
    286
    Симпатии:
    0
    а почему бы просто не исправить правило что бы оно пропускало query_string
     
  4. KFan

    KFan Активный пользователь

    С нами с:
    22 июл 2011
    Сообщения:
    11
    Симпатии:
    0
    а как тогда передать? мне нужно чтобы как то передалось имя персонажа на которого нападаешь, а иначе будет бой с какой то невидимкой...
    или я не так понял?
     
  5. Easy

    Easy Активный пользователь

    С нами с:
    15 июл 2011
    Сообщения:
    286
    Симпатии:
    0
    не знаю всей логики вашей браузерки, но думаю параметром точно не стоит передавать имя.
    Лучше всего в БД сразу помечать кто с кем.
    Ну на крайний случай в сессии.
     
  6. KFan

    KFan Активный пользователь

    С нами с:
    22 июл 2011
    Сообщения:
    11
    Симпатии:
    0
    насчет бд не думал стоит ли, если браузерка раскрутиться и за день будет по 20к+ боев, то бд может просто лопнуть :)

    хотя как вариант можно чистить бд от боев раз в 3 часа... надо думать...[/js]
     
  7. Easy

    Easy Активный пользователь

    С нами с:
    15 июл 2011
    Сообщения:
    286
    Симпатии:
    0
    Можно зранить у юзера только одного противника ID текущего. Это гарантирует что один юзер не получит 2х разных противников одновременно. А представьте гет запрос да ещё и без сессий.
    любой человек перейдя по адресу в браузере с вписанным ниокм получит любого противника, даже того кто уже в бою.
    а поверьте, желающих поломать игру найдётся :) из первых же 10 челове - 5 попытаются найти дыры :)
     
  8. KFan

    KFan Активный пользователь

    С нами с:
    22 июл 2011
    Сообщения:
    11
    Симпатии:
    0
    передавать через гет не проблема, ведь в самом бою не запрещено вставлять кучу проверок

    if ($warstatus != 0)
    {
    echo "А ведь его уже атакуют...";
    exit;
    }
    if ($warhp < тут по формуле вычисляется определнное хп)
    {
    echo "Он уже получил свое, подожди немного";
    exit;
    }


    таким проверок может быть с десятки, это все планируется уже когда сделал сам бой)
     
  9. Easy

    Easy Активный пользователь

    С нами с:
    15 июл 2011
    Сообщения:
    286
    Симпатии:
    0
    ну дело твоё :) потом не говори что тебя не предупреждали :)

    ну а если ты гетом хочешь передать имя, то передавай следующим словом после слеша например
    site.ru/fight/nickname/