2017-10-19 12 views
1

私はAjaxのfancybox [2ページ]経由で呼び出されるフォームにPHPセッション[FIRST PAGE]を経由して、変数を渡すようにしようとしているが、私は私の配列の最後の値を取得を通じて形成するために、PHPのセッションを介して変数を送信選択時に必要な現在の値ではありません。ここでfancybox 3アヤックス

コード:

[FIRST PAGE]

<?php 
session_start(); 
$africa = array('algeria.png','angola.png', ...); 
$africa_length = count($africa); 

for($i = 0; $i < $africa_length; $i++){ 
$replace = str_replace(array(".png", "-"), " ", $africa[$i]); 
$return = '<a data-fancybox="ajax" data-src="test.php" data-type="ajax" href="javascript:;"> 
<div class="international-item"> 
<div class="flag" style="background:url(img/flags/africa/'.$africa[$i].') no-repeat"></div> 
<div class="txt_bold_2 nation">'.$replace.'</div> 
</div> 
</a>'; 

echo $return; 
$_SESSION['varname'] = $africa[$i]; 
} 
?> 

[2ページ目]私はに渡される[FIRST PAGE]で選択した国を持っている必要があり

<?php session_start();?> 
<form> 
... 
</form> 

<?php 
$var_value = $_SESSION['varname']; 
echo ($var_value); 
?> 

フォーム[SECOND PAGE]を入力すると、送信時にDBに挿入することができます。任意の助けを事前に

Thxを。あなたはループがセッション変数が更新毎回

を取得したり、私が理解していれば、あなたが直接セッション変数

$_SESSION['varname'] = $africa; 

答えて

2

に配列を割り当てることができますされ実行されるため、この

for($i = 0; $i < $africa_length; $i++){ 

$_SESSION['varname'][] = $africa[$i]; 

} 

ようにしなければならない

+0

をgeetingているものを参照してください。 URLのパス値が私にとって最適な解決策です。 @Arun Kumareshは「ループはセッション変数が毎回更新され実行されますので、」言ったように$ _SESSIONを経由して、それを渡すには、あまりにも精巧だった、私は現在の変数が、配列の最後のものだけをキャッチすることができませんでした。 – pitinca

0

正しく、$ _GETを使用して次のページにこの値を渡すだけです。

data-src="test.php?varname='.$africa[$i].'" 
+0

このようなリンクを作成するだけです。ループでは、配列にセッション変数を直接代入すると致命的なエラーが返され、Arrayから文字列への変換通知が返されます。第2のページますprint_r($ _ SESSION)でセッション変数に配列を割り当てた後 – pitinca

+0

、あなたはそれが正しい –