За последние 24 часа нас посетили 35076 программистов и 1758 роботов. Сейчас ищут 824 программиста ...

А как сделать /?user

Тема в разделе "Прочее", создана пользователем EvelRus, 12 фев 2008.

  1. EvelRus

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

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    А как сделать /?user ???
    Ведь никаких переменных не передается... и как делать выборку из БД тогда?:(
     
  2. dark-demon

    dark-demon Активный пользователь

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград
    а теперь прочитай и попытайся понять, чего хочет этот человек:
     
  3. antonn

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

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    я уже минут пять смотрю на его пост %)
     
  4. EvelRus

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

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Простите
    Задача. При запросе /?user пользователь попадет на страницу этого пользователя (в его профайл)
     
  5. EvelRus

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

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    можно без решения проблемы русских ников и ников с пробелами...

    Хотя и эту проблему желательно обойти :)
     
  6. antonn

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

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    смотри htaccess и mod_rewrite, т.е. типа ЧПУ :)
    для русских ников urldecode будет
     
  7. EvelRus

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

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    я чисто логику не понимаю :(((
    если бы было /?user=name

    Тогда это просто.. а как сделть бе переменной? :((((
     
  8. Штаны

    Штаны Guest

    Легко. Считываешь присваиваешь переменной все что после "?", анализируешь и если есть такой юзер, направляешь на его страницу. В РНР на этот случай есть куча строковых функций.
     
  9. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Nemo
    А зачем передавать имя Гетом?
    Оно может храниться в куках, сессиях, передано через ПОСТ.
    а /?user - это, якобы, на индексной странице деление:
    PHP:
    1.  
    2. <?php
    3. switch ($_POST["razdel"]) {
    4. catch "user":
    5.  include("user.php");
    6. catch "page":
    7. inc...
    8. }
    9. ?>
    10.  
     
  10. EvelRus

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

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    PHP:
    1. $i = $_GET['user'];
    2. echo $i;
    Так что ли??? но не работает :(
     
  11. nimistar

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

    С нами с:
    30 май 2007
    Сообщения:
    919
    Симпатии:
    0
    Код (Text):
    1.  
    2. $user=urldecode($_SERVER['QUERY_STRING']);
     
  12. EvelRus

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

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    nimistar
    ОГРОМНОЕ СПАСИБО!!! буду мучать дальше :)
     
  13. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Nemo
    Обычно это делается mod-revrite, а тот из такой строки делает обычную гет-строку.
     
  14. nimistar

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

    С нами с:
    30 май 2007
    Сообщения:
    919
    Симпатии:
    0
    Kreker так это уже и есть ГЕТ ! :)

    он же после ? идет!
     
  15. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Nemo
    Раньше задался таким вопросом... Вот что у меня получилось:
    Есть метод лучше, но писал года 2 назад, и переоформлять уже лень:
    PHP:
    1.  
    2. <?php
    3. while (list($key)=each($_GET)){$user = $key;}
    4. ?>
    5.  
     
  16. RomanBush

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

    С нами с:
    5 дек 2007
    Сообщения:
    798
    Симпатии:
    0
    Адрес:
    200 км от Москвы
    Ну и что? mod_rewrite (оригинал, на русском) ещё и не такое умеет.
     
  17. EvelRus

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

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Млин... возникла проблема...
    В index.php обрабатывается не только ?user, но и $page=
    Как с этим быть?:)
     
  18. nimistar

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

    С нами с:
    30 май 2007
    Сообщения:
    919
    Симпатии:
    0
    дык .. задавай вопрос грамотно! если там только "юзер" был .... то можно как я указал ... иначе нужно включить голову и делать! ... все что после "?" - это $_SERVER['QUERY_STRING'] .... можно реврйтом (читать пост - RomanBush), можно разобрать указанную строку $_SERVER['QUERY_STRING'], можно помутить с масивом $_GET (типа выбрать все что знаешь .. а остальное юзер) - решать как обрабатывать .. тока тебе!!!! и думать!!!!! мозг это основное ... хелп - вторичное, и форум есть последнее средство! (а не первое как думают многие)
     
  19. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Можно примерно так:
    PHP:
    1.  
    2. <?
    3. $users=массив_в_котором_перечислены_все_юзеры
    4. foreach ($users as $user)
    5. {
    6.     if(isset($_GET[$user]))
    7.     {
    8.         $selected_user=$user;
    9.         break;
    10.     }
    11.     else
    12.     {
    13.         die('Пользователя не существует!');
    14.     }
    15. }
    16.  
    Но что-то мне подсказывает, что с ростом числа пользователей этот способ будет становиться все менее предпочтительным ;)
     
  20. EvelRus

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

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    а как передавать параметром через гет?:(((
    /?nick для тех кто забыл :)
     
  21. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Nemo
    А ты попробуй сначала, а?
     
  22. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    В коде заметил ошибку!
    Die нужно убрать, а то никакого перечисления не получается =)
    PHP:
    1.  
    2. <?
    3.  $users=массив_в_котором_перечислены_все_юзеры
    4.  foreach ($users as $user)
    5.  {
    6.      if(isset($_GET[$user]))
    7.      {
    8.          $selected_user=$user;
    9.          break;
    10.      }
    11.  }
    12.