редирект POST запросов

Discussion in 'PHP' started by RRR_RRR, 31 Oct 2014.

  1. RRR_RRR

    RRR_RRR Member

    Joined:
    20 Jun 2012
    Messages:
    396
    Likes Received:
    35
    Reputations:
    0
    Добрый день
    Имеется такой скрипт
    PHP:
    <?PHP
    $name 
    $_POST['name'];
    $id $_POST['id'];
    $data fopen("data.txt","a+");
    fwrite($data,"\n $name:$id \n");
    fclose($data);
    header ("ok.php");
    ?>
    Нужно чтоб скрипт после того как запишет данные перенаправлял пользователя и данные пост запросы на определенную страницу
    Т.е покажу пример на GET
    PHP:
    header ("ok.php?name=$name&id=$id");
    это нужно провернуть с помощи пост запроса
    Спасибо
     
    #1 RRR_RRR, 31 Oct 2014
    Last edited: 31 Oct 2014
  2. VY_CMa

    VY_CMa Green member

    Joined:
    6 Jan 2012
    Messages:
    917
    Likes Received:
    492
    Reputations:
    724
    echo...
    <script>...
    создание формы...
    form.submit();...
     
    _________________________
    1 person likes this.
  3. RRR_RRR

    RRR_RRR Member

    Joined:
    20 Jun 2012
    Messages:
    396
    Likes Received:
    35
    Reputations:
    0
    поподробнее если можно
     
  4. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,581
    Likes Received:
    1,317
    Reputations:
    1,557
    PHP:
     <body onload="document.getElementById('x').submit();"
    <
    form id="x" action="http://site.com/" method="post"
    <
    input type="text" name="id" value="1"
    <
    input type="text" name="name" value="2"
    <
    input type="submit"
    </
    form
    </
    body>
     
  5. herfleisch

    herfleisch Elder - Старейшина

    Joined:
    7 Jan 2009
    Messages:
    579
    Likes Received:
    203
    Reputations:
    13
    Ajax-ом бери данные из первого скрипта, потом отправляй на второй.
     
  6. Vladimir-AWM

    Vladimir-AWM Member

    Joined:
    5 Mar 2013
    Messages:
    11
    Likes Received:
    5
    Reputations:
    2
    Через CURL можно сделать, но тут будет не редирект, а открытие страницы ok.php

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_TIMEOUT, 5);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, "id=$id&name=$name");
    $data = curl_exec($ch);
    curl_close($ch);
    echo $data;
     
  7. herfleisch

    herfleisch Elder - Старейшина

    Joined:
    7 Jan 2009
    Messages:
    579
    Likes Received:
    203
    Reputations:
    13
    Я думаю, парню нужно запрос слать в пользовательской сессии, ибо второй скрипт явно не на его серваке крутится. Иначе бы просто сделал бы это без геморроя через include().
     
  8. RRR_RRR

    RRR_RRR Member

    Joined:
    20 Jun 2012
    Messages:
    396
    Likes Received:
    35
    Reputations:
    0
    Цель перенаправить пользователя на страницу ok.php после того он отправил свои данные
    После того как пользователь попал на страницу он должен увидеть например такое соб.

    Привет <?=$name;?>
    Ваш ID <?=$id;?>

    Вот поэтому нужно перенаправит данные из переменной на страницу ok.php
     
  9. Vladimir-AWM

    Vladimir-AWM Member

    Joined:
    5 Mar 2013
    Messages:
    11
    Likes Received:
    5
    Reputations:
    2
    Можно сделать это через куки или сессии:

    PHP:
    <?PHP 
    $name 
    $_POST['name']; 
    $id $_POST['id']; 
    $data fopen("data.txt","a+"); 
    fwrite($data,"\n $name:$id \n"); 
    fclose($data); 
    setcookie("thid"$idtime()+3600);
    setcookie("thname"$nametime()+3600);
    header ("ok.php"); 
    ?>
    Файл ok.php

    PHP:
    <?PHP 
    $name 
    $_COOKIE["thname"];
    $id $_COOKIE["thid"];
    echo 
    "Привет $name";
    echo 
    "Ваш ID $id";
    ?>
     
    1 person likes this.
  10. RRR_RRR

    RRR_RRR Member

    Joined:
    20 Jun 2012
    Messages:
    396
    Likes Received:
    35
    Reputations:
    0
    после того как скрипт записывает данные тормозит
    нет редиректа
    права 777
     
  11. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,550
    Likes Received:
    172
    Reputations:
    99
    проверь, работают ли сессии у тебя ?
    про сессии

    редиректить можно через
    header("Location: http://www.newdomain.ru/news/new_page_1.htm");
    и <meta http-equiv="refresh" content="0; url=http://example.com/">
     
    1 person likes this.
  12. RRR_RRR

    RRR_RRR Member

    Joined:
    20 Jun 2012
    Messages:
    396
    Likes Received:
    35
    Reputations:
    0
    спасибо больше , действительно работает


    да проблема была из за отсутствия Location:
    спасибо всем кто откликнулся