2016-09-30 9 views
-1

フォームからウェブサイトのページに変数を渡そうとしています。ここで私は、次の午前ガイドさ: https://www.jotform.com/help/213-Send-POST-Data-From-JotForm-Using-PHP-in-Custom-Thank-You-PagePHP間で変数を渡す

をここでは私のredirect.phpページ上のコードは次のとおりです。

<?php 
    $answers = $_POST; 
     $url1 = "http://www.example.com/results"; 

     $var1 = "?user_email =".urlencode($answers[user_email]); 
     $var2 = "&input_63 =".urlencode($answers[input_63]); 
     $var3 = "&input_64 =".urlencode($answers[input_64]); 
     $var4 = "&input_65 =".urlencode($answers[input_65]); 
     $var5 = "&input_66 =".urlencode($answers[input_66]); 
     $var6 = "&input_67 =".urlencode($answers[input_67]); 
     $var7 = "&input_68 =".urlencode($answers[input_68]); 
     $var8 = "&input_69 =".urlencode($answers[input_69]); 
     $var9 = "&input_70 =".urlencode($answers[input_71]); 
     $var10 = "&input_71 =".urlencode($answers[input_71]); 
     $var11 = "&input_55 =".urlencode($answers[input_55]); 
     $var12 = "&input_56 =".urlencode($answers[input_56]); 
     $var13 = "&input_57 =".urlencode($answers[input_57]); 
     $url2=$url1.$var1.$var2.$var3.$var4.$var5.$var6.$var7.$var8.$var9.$var10.$var11.$var12.$var13; 
     header("location:$url2"); 
    ?> 

変数は「」としてページ上に表示されます。

私は何をすべきかわかりませんし、助けていただければ幸いです。

+2

のような、その後のチュートリアルは、それから逃げる、がらくたです。 – AbraCadaver

+0

@AbraCadaver彼らは行き詰まっていて、他の関連する/再投稿しないようにしました。http://stackoverflow.com/q/39772219/ –

+0

[新しいWebページへのPHP変数のリダイレクト+使用](http: //stackoverflow.com/questions/39772219/redirecting-php-variables-to-new-webpage-use) –

答えて

1

入力名を配列に変更できる場合は、はるかに簡単です。そうでない場合は、データをいくつかの方法で渡すことができます。次のページに続いて

session_start(); 
$_SESSION['answers'] = $_POST; 
header("location: $url1"); 

:セッションを使用して

session_start(); 
$answers = $_SESSION['answers']; 
echo $answers['user_email']; 

私はそれをしないだろうが、あなたはURLメソッドを主張するならば、これははるかに簡単です:

$query = http_build_query($_POST); 
header("location: $url1?$query"); 

http_build_query()は、URLエンコードして文字列を作成します。 PHPでPHPページにフォームから変数を渡す

+0

あなたの答えが彼らがしようとしていることを解決することを期待しています。 OPは以下のように述べています:* "現在、変数は' '' '" *として表示されています。私はそれがまたその質問のためのケースではないと思うよ、彼らがどのようにそのファイルを使っているのか、私は他の質問の下でコメントで述べたように、[このコメントです](http://stackoverflow.com/questions/39772219 /リダイレクト - php-variables-to-new-webpage-use#comment66839030_39772219)。 –

0

かなり単純です

まずフォーム

<form method="POST" action="page_to_send_data_to.php"> 
    <input type="" name="something" value=""></input> 
    <input type="" name="somethingelse" value=""></input> 
    <input type="submit"></input> 
</form> 

次に、ページ上で、あなたはあなたのURLが

<?php 
if(!isset($_POST['something']) { 
    $var1 = $_POST['something']; 
    $var2 = $_POST['something']; 
} 
echo $var1.' '.$var2; 
?> 
+0

POSTとして何かを提出し、そこからカスタムのURL文字列を作成する必要があるとは思えないので、これを答えとして提供しました。POSTの代わりにGETを使い、リダイレクトを省略することもできます。また、セッションにデータを格納する目的も実際にはわかりません。また、データから配列を構築する際に、どのようなロジックも見られません。フォームを見ることなく、彼らが何をしているのか、推測ゲームのビットですが、基本的なフォームの場合は、このソリューションを強くお勧めします。 – Bruce

0

に提出空白のためにおそらく破損している場合は、空白で終了するため、input_63に何も設定しないでください。input_63_を設定します(アンダースコアでスペースをuに変換します)。 phpの構文解析ロジックのnderscore)、これはあなたが次のスクリプトで探しているものではありません。手動でクエリを作成することをやめてください。ほとんどの場合、代わりにhttp_build_queryを使用する必要があります。それはチュートリアルからのものである場合

$url2=$url1.'?'.http_build_query(array('input63'=>$answers[input_63],'input_64'=>$answers[input_64]))

関連する問題