За последние 24 часа нас посетили 5362 программиста и 443 робота. Сейчас ищут 138 программистов ...

Могу ли я сформировать запрос через гет

Тема в разделе "PHP для новичков", создана пользователем Bitrimmer, 11 июл 2018.

  1. Bitrimmer

    Bitrimmer Новичок

    С нами с:
    17 июн 2016
    Сообщения:
    23
    Симпатии:
    0
    мне нужно отправить на сайт site.ru/login/password/$number
    например у меня есть форма в которую пользователь вводит нормер она сохраняется в переменной $number методом POST и потом происходит запрос на URL с нужным номером в конце.

    Вот как реализовать подставку urla - нельзя ж переменной переменную присвоить типо

    Код (Text):
    1. www.site.ru/login/password/$number
    2.  
    3. $url = www.site.ru/login/password/$number; ?
    - это явно не так работает
     
  2. Bitrimmer

    Bitrimmer Новичок

    С нами с:
    17 июн 2016
    Сообщения:
    23
    Симпатии:
    0
    типо такого вот не пашет

    Код (Text):
    1. $number ="1223414"
    2. $url = "site.ru/"$number
     
  3. EndoCrinolog

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

    С нами с:
    4 фев 2012
    Сообщения:
    165
    Симпатии:
    1
    Адрес:
    Тольятти
    Еще раз. Юзер вводит в форме номер, он передается на сервер через $_POST[number], а Вам из этого скрипта требуется сделать запрос по ссылке site.ru/login/password/$number ?
     
  4. Bitrimmer

    Bitrimmer Новичок

    С нами с:
    17 июн 2016
    Сообщения:
    23
    Симпатии:
    0
    все верно просто подставить номер который он ввел в нужное место урла
     
  5. EndoCrinolog

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

    С нами с:
    4 фев 2012
    Сообщения:
    165
    Симпатии:
    1
    Адрес:
    Тольятти
    может быть, тогда прописать, как site.ru/login/password/$_POST['number']
     
  6. Taktreba

    Taktreba Новичок

    С нами с:
    11 янв 2017
    Сообщения:
    347
    Симпатии:
    84
  7. miketomlin

    miketomlin Новичок

    С нами с:
    9 авг 2016
    Сообщения:
    594
    Симпатии:
    97
    По-моему редиректа достаточно. ТС, видимо, хочет сделать трансляцию POST-запроса в GET-запрос.
    --- Добавлено ---
    Только что это за number? Надеюсь, не пароль. Иначе целевой сайт – УГ.
     
  8. Bitrimmer

    Bitrimmer Новичок

    С нами с:
    17 июн 2016
    Сообщения:
    23
    Симпатии:
    0
    Код (Text):
    1. echo "<form action=\"mail.php\">
    2. <input type=\"text\ name=\"number\"">
    3. <input type=\"submit\">
    4. </form>";
    5. //mail.php
    6. $url = site.ru/$_POST['number'] ;
    вопрос в том например на странице site.ru - человек через форму вводит номер
    и нажимает кнопку принять
    его перебрасывает на другую страницу например connect.php где подставляется $_POST['number'] в URL которая находится в переменной $url и выполняется функция - выводится контент
    --- Добавлено ---
    Как после ввода номера перекинуть пользователя на другую страницу а на ней подстваить данные из POST в нужную переменную - вот в чем весь вопрос
     
  9. miketomlin

    miketomlin Новичок

    С нами с:
    9 авг 2016
    Сообщения:
    594
    Симпатии:
    97
    Ну значит я прав. Это как при поисковом запросе. Пользователь отправляет запрос методом POST, потом он транслируется в GET и уже в ответ на GET выдается результат. Используй редирект.
     
  10. Bitrimmer

    Bitrimmer Новичок

    С нами с:
    17 июн 2016
    Сообщения:
    23
    Симпатии:
    0
    просто тупо подставить
    А можно поподробнее про редирект? как он реализуется?
     
  11. miketomlin

    miketomlin Новичок

    С нами с:
    9 авг 2016
    Сообщения:
    594
    Симпатии:
    97
    Почитайте. Это существенный момент в вебдеве. Делается не сложно.

    P.S. Достаточно 302-го. Все известные мне браузеры делают его методом GET вне зависимости от типа исходного запроса.
     
  12. Bitrimmer

    Bitrimmer Новичок

    С нами с:
    17 июн 2016
    Сообщения:
    23
    Симпатии:
    0
    сложность в том что у меня 2 переменные $url и $POST как их объеденить то? в 1 после того как пользователь написал цифру?
     
  13. miketomlin

    miketomlin Новичок

    С нами с:
    9 авг 2016
    Сообщения:
    594
    Симпатии:
    97
    Это вообще не проблема. Сформировали строку с адресом любым подходящим способом. Подставили ее в ф-цию, выдающую соотв. HTTP-заголовок.

    P.P.S. Практически на любой POST-запрос рекомендуется делать редирект методом GET, даже если адрес не меняется.
     
  14. Bitrimmer

    Bitrimmer Новичок

    С нами с:
    17 июн 2016
    Сообщения:
    23
    Симпатии:
    0
    Что за функция то?)
     
  15. miketomlin

    miketomlin Новичок

    С нами с:
    9 авг 2016
    Сообщения:
    594
    Симпатии:
    97
    Ты про объединение строк или про что? Вбиваешь в поисковик «php редирект» и изучаешь. Если не умеешь пользоваться поисковиком, поищи на оф. сайте пыха описание и примеры ф-ции header.

    P.S. Можешь еще тут примеры глянуть:
    http://gency.ru/single-entry-point
    http://gency.ru/authorization
    и т.п., где упоминается header, – сайт небольшой – поиск пока что не прикрутили :(
    --- Добавлено ---
    ...хотя редирект на /search как заглушка работает :)
     
  16. Bitrimmer

    Bitrimmer Новичок

    С нами с:
    17 июн 2016
    Сообщения:
    23
    Симпатии:
    0
    А нельзя объеденить $url с $POST в 3й переменной ? и сразу работать с ней - без редиректа?
    чтобы просто в конце url подставлялась значение переменной $number
    так прсто проще будет мне кажется
     
  17. miketomlin

    miketomlin Новичок

    С нами с:
    9 авг 2016
    Сообщения:
    594
    Симпатии:
    97
    Ну вперед. Мне почему-то показалось, что тебе пользователя нужно перенаправить по этому адресу, а не работать с адресом. К чему тогда слова «происходит запрос на...»?

    Короче успехов. Как разберешься с тем, чЁ тЕ надо, приходи.
     
  18. AlexandrS

    AlexandrS Новичок

    С нами с:
    30 сен 2017
    Сообщения:
    305
    Симпатии:
    61
    Адрес:
    Краснодар
    Тебе такую игрушку нужно было?
    index.php
    PHP:
    1. <?php
    2.  
    3. echo <<<END
    4. <!DOCTYPE html>
    5. <html>
    6. <head>
    7.   <meta charset="utf-8">
    8.   <title>введите число</title>
    9. </head>
    10. <body>
    11.   <form action="redirection.php" method="post">
    12.    <input placeholder="Введите цифру от 0 до 4!" name="number" size="30">
    13.    <input type="submit" value="Отправить">
    14.   </form>
    15. </body>
    16. </html>
    17. END;
    18.  
    19. ?>

    redirection.php

    PHP:
    1. <?php
    2.  
    3. $number = $_POST['number'];
    4.  
    5. $url = "result.php?post=".$number;
    6.  
    7. header("Location: $url");
    8.  
    9. ?>

    result.php

    PHP:
    1. <?php
    2.  
    3. $arrayPosts = ["This post #0", "This post #1", "This post #2", "This post #3", "This post #4", "This post #5"];
    4.  
    5. $key = $_GET['post'];
    6. $count = count($arrayPosts) - 1;
    7.  
    8.     if ($count < $key || $key < 0) {
    9.         echo "No post!";
    10.     }else{
    11.         echo $arrayPosts[$key];
    12.     }
    13.  
    14. ?>
     

    Вложения:

    • 48 - post2.zip
      Размер файла:
      1,1 КБ
      Просмотров:
      0