За последние 24 часа нас посетили 22479 программистов и 1055 роботов. Сейчас ищут 585 программистов ...

Имя пользователя как ссылка на его профиль.

Тема в разделе "PHP для новичков", создана пользователем Shdbd529, 25 мар 2021.

Метки:
  1. Shdbd529

    Shdbd529 Новичок

    С нами с:
    5 мар 2021
    Сообщения:
    24
    Симпатии:
    1
    Обычный сценарий. Лента с постами, над каждым постом ник автора. Мне нужно понять, как сделать, чтобы при нажатии на ник, сайт переносился на его страницу. Код для отображения данных пользователя уже готов. В нем я нахожу пользователя по id в mysql и вставляю его данные в html разметку, где нужно. А вот как сделать, чтобы этот код узнал код узнал id пользователя , я не понимаю. Может это глупый вопрос и решение простое, но я совсем зеленый и делаю это впервые, пожалуйста подскажите. Если вопрос не до конца ясен, я готов ответить на ваши уточняющие. В хабр qa обращаться уже страшно. Надеюсь тут не такие монстры хд. Спасибо за ответ.
     
  2. Drunkenmunky

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

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    А как вы определяете ник автора поста?
     
  3. Shdbd529

    Shdbd529 Новичок

    С нами с:
    5 мар 2021
    Сообщения:
    24
    Симпатии:
    1
    У меня специальный столбец в mysql для каждого поста, который хранит id того, кто создал пост. По этому id с помощью sql-запроса и определяю
     
  4. Drunkenmunky

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

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Ну так и вставляйте этот id в ссылку на страницу автора.
     
  5. Shdbd529

    Shdbd529 Новичок

    С нами с:
    5 мар 2021
    Сообщения:
    24
    Симпатии:
    1
    У меня ник как тег <input type="submit"/> прописан
    --- Добавлено ---
    И я его как форму обрабатываю. Это не правильно?
    --- Добавлено ---
    PHP:
    1. <input type="submit" value="' . $owname . ' ' . $owsurname . '" class="author__nick">
    --- Добавлено ---
    $owname и $owsurname я достаю из mysql с помощью id, прикрепленному к посту
     
  6. Drunkenmunky

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

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    По-всякому можно.
    Можно и в форму.
    Проще в ссылку.
    Далее получаете ключ=значение из глобального массива.
    Значение приводите к типу int, запрашиваете из базы данные по id, если такой есть выводите инфо по пользователю, если нет, то перенаправляете на 404
     
  7. Shdbd529

    Shdbd529 Новичок

    С нами с:
    5 мар 2021
    Сообщения:
    24
    Симпатии:
    1
    $owname и $owsurname я достаю из БД
    Спасибо большое. Завтра попробую. Сейчас на работу собираюсь. Если вдруг возникнут вопросы, обращусь к вам если вы не против
     
  8. Вероломство

    Вероломство Активный пользователь

    С нами с:
    19 июн 2017
    Сообщения:
    615
    Симпатии:
    24
    Правильно так

    HTML:
    1. <button name="id" value="<?= $id ?>"><?= $owname . ' ' . $owsurname ?></button>
     
    Shdbd529 нравится это.
  9. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.790
    Симпатии:
    649
  10. Shdbd529

    Shdbd529 Новичок

    С нами с:
    5 мар 2021
    Сообщения:
    24
    Симпатии:
    1
    А зачем добавлять id в value?
     
  11. Shdbd529

    Shdbd529 Новичок

    С нами с:
    5 мар 2021
    Сообщения:
    24
    Симпатии:
    1
    Аа, все понял. Спасибо большое
     
  12. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.790
    Симпатии:
    649
    А что вам значение id не нужно? :)

    Если вы думаете, что программирование – это магия, то вы ошиблись с выбором ;)
    --- Добавлено ---
    P.S. И выше вроде бы писали, что здесь форма даром не нужна.
     
  13. Shdbd529

    Shdbd529 Новичок

    С нами с:
    5 мар 2021
    Сообщения:
    24
    Симпатии:
    1
    А можно как-то скрыть id в разметке?
     
  14. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.790
    Симпатии:
    649
    Зачем?
    --- Добавлено ---
    Если вам не нравятся именно числовые id (/user/1), используйте слаги (/author/mike). Но это не всегда уместно, например для тех же комментов (/comment/125).
    --- Добавлено ---
    Еще один пример: /articles/my-first-article
     
  15. Shdbd529

    Shdbd529 Новичок

    С нами с:
    5 мар 2021
    Сообщения:
    24
    Симпатии:
    1
    Можете мне в лс объяснить подробней, как без формы сделать?
    --- Добавлено ---
    Вообще не понимаю о чем вы
     
  16. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.790
    Симпатии:
    649
    Почему в ЛС? Я вам тут в первом посте все объяснил. А таблицы для последнего примера (/articles/my-first-article) можно найти в конце статьи Как сделать вывод списка статей? Если что-то не понятно, уточняйте прямо в теме.

    Серьезно? И что вы тогда поняли насчет того, «зачем добавлять id в value»?
    --- Добавлено ---
    «Без формы» – это ссылками. Я вам накидал примеры таких ссылок и даже рассказал, как это делается.
     
  17. Shdbd529

    Shdbd529 Новичок

    С нами с:
    5 мар 2021
    Сообщения:
    24
    Симпатии:
    1
    id я добавляю в value тега input="submit", который находится в форме
     
  18. Drunkenmunky

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

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Давайте пошагово? Нужно определить на каком именно этапе у вас имеет место недопонимание.

    Вот есть страница, на которой открываются анкетные данные некоего пользователя.
    Так?
    Чтобы их открыть, скрипту нужно передать какой-то уникальный идентификатор этого пользователя.
    Согласны?
    Это может быть например никнейм или числовой ID?
    Если здесь всё еще понятно, то выберите что именно нужно передать скрипту.
    Далее будем уточнять способ.
     
    Shdbd529 нравится это.
  19. Вероломство

    Вероломство Активный пользователь

    С нами с:
    19 июн 2017
    Сообщения:
    615
    Симпатии:
    24
    перестаньте рисовать кнопки тегом input, для кнопок есть тег buttun БЕЗ ВСЯКИХ type="submit"
     
  20. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.790
    Симпатии:
    649
    Зачем? Какова конечная цель использования id?

    Кстати, у таких кнопок в value указывается надпись на кнопке. Вы хотите, чтобы на кнопке отображался идентификатор? Это ваша «конечная цель»? :)

    И кстати, ничего не смущает?

    Нет. Хочу магию. :)
     
  21. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.199
    Симпатии:
    184
    Может всё таки лучше начать с чего-нибудь простого, а не с соцсети?

    Например, вывести одну статью и под ней ссылку на автора.

    А вообще по читайте, про SQL, что такое: "один к одному, ''один ко многим", "многие ко многим".
     
  22. Shdbd529

    Shdbd529 Новичок

    С нами с:
    5 мар 2021
    Сообщения:
    24
    Симпатии:
    1
    id пользователя, которого нужно отобразить на странице
     
  23. Drunkenmunky

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

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Хорошо. Идём дальше.
    Данные нашему скрипту(далее обработчику) можно передать двумя способами.
    С помощью html-формы (методами post или get, параметры передаются обработчику в виде пар ключ=> значение после обработки формы браузером)
    И с помощью адресной строки (тот же get, но параметры вводятся сразу ключом и значением в виде ссылки)
    Выберите способ.
     
    Shdbd529 нравится это.
  24. Shdbd529

    Shdbd529 Новичок

    С нами с:
    5 мар 2021
    Сообщения:
    24
    Симпатии:
    1
    Про второй способ я не знаю. Уже сделал через первый. Смотрите как я сделал. Я добавил еще один input типа text и туда вставил id пользователя, которого надо отобразить. А через css скрывал этот input. Теперь у меня есть id и он нигде не мозолит глаза. Это плохое решение?
     
  25. Drunkenmunky

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

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Оно лучше этого?
    Код (Text):
    1. <a href="userinfo.php?uid=12345">информация о пользователе</a>