2015-11-23 125 views
-1

我在尋找一種方法來從表單創建陣列,並將其轉移到另外一個頁面: 這是我的實際代碼:創建和transfert陣列PHP

<?php 
$nba = $_GET["nbadultes"]; // recup number of passangers 
$adu = array(); 

for ($i=1;$i<=$nba;$i++) 
{ 
    echo '<h3>Passager '.$i.'</h3> 
     <label>CIVILITÉ</label> 
      <select class="full-width" name="Civilite"> 
       <option value="Mr" selected >Mr.</option> 
       <option value="Mrs" >Mrs.</option> 
      </select> 
     <label>FIRSTNAME *</label> 
     <input type="text" name="FIRSTNAME"/> 
     <label>LASTNAME *</label> 
     <input type="text" name="LASTNAME"/> '; 

    $adu[$i][civilite] = $_POST['civilite']; 
    $adu[$i][FIRSTNAME] = $_POST['FIRSTNAME']; 
    $adu[$i][LASTNAME] = $_POST['LASTNAME']; 
} 

$_SESSION['liste_adultes'] =$adu; 
?> 

而這種代碼在接下來的頁面閱讀數組:

 <?php 
     if (isset($_SESSION['liste_adultes'])) 
     print_r ($liste_adultes); 
     ?> 

但我不知道爲什麼數組爲空:

Array 
(
[1] => Array 
    (
     [Civilite] => 
     [FIRSTNAME ] => 
     [LASTNAME] => 
    ) 

[2] => Array 
    (
     [Civilite] => 
     [FIRSTNAME ] => 
     [LASTNAME] => 
    ) 

) 
+1

'的print_r($ _ POST);'請。 –

+1

反問:會話是否開始使用會話的所有頁面?如果沒有,那麼你去。 –

+0

'print_r($ liste_adultes);'你的意思是'print_r($ _SESSION ['liste_adultes']);'?那是什麼'$ liste_adultes'? – Federkun

回答

0
  1. 您需要照顧的形式輸入您發送
  2. 正如我所看到的,現在的形式沒有提交,所以你並不需要一個會議,但一個將操作設置爲處理髮送數據的頁面的表單。喜歡的東西:

    <form method="post" action="my-action-file.php"> 
    <?php 
    $nba = $_GET["nbadultes"]; 
    for ($i = 1; $i <= $nba; $i++) { 
        echo '<h3>Passager '.$i.'</h3> 
         <label>CIVILITÉ</label> 
          <select class="full-width" name="Civilite[]"> 
           <option value="Mr" selected >Mr.</option> 
           <option value="Mrs" >Mrs.</option> 
          </select> 
         <label>FIRSTNAME *</label> 
         <input type="text" name="FIRSTNAME[]"/> 
         <label>LASTNAME *</label> 
         <input type="text" name="LASTNAME[]"/> '; 
    } 
    ?> 
        <input type="submit" value="Submit" /> 
    </form> 
    

my-action-file.php文件,你可以得到$_POST變量:

<?php 
    foreach ($_POST['Civilite'] as $key => $civilite) { 
     $firstName = $_POST['FIRSTNAME'][$key]; 
     $lastName = $_POST['LASTNAME'][$key]; 

     // now you have the sent data.. just use it like you need.. 
    } 

    // of course you can add these data to an array if you like so 
+0

這看起來很有希望。 –

+1

它工作!謝謝 ! – Senneville

0

在你需要讀取會話數據的第二頁,然後讀取保存在session到你所使用的變量的具體值:

<?php 
    if(!isset($_SESSION)){ session_start();} 
    if(isset($_SESSION['liste_adultes'])){ 
     $liste_adultes = $_SESSION['liste_adultes']; 
     print_r($liste_adultes); 
    } 
?> 

此外,在第一頁,請確保您發佈的數據和閱讀與$ _POST;或通過查詢字符串$ _GET

+1

你也錯過了一些東西。 –

+0

謝謝弗雷德。你是對的。 –

+0

我不得不坐下來,只是指着她,代碼中的錯誤。 –