2017-04-24 89 views
0

請幫助我。我的代碼有問題。來自輸入表單的foreach值

這是代碼input.php:

<form method="POST" action="simpan.php"> 
NIM : <input type="text" required placeholder="input NIM" name="nim"/><br/> 
Name : <input type="text" required placeholder="input name" name="nama"/><br/> 
score : <input type="number" required placeholder="input score between 0-100" name="score"/><br/><input type="submit" value="OK"/> 

這是代碼simpan.php:

<?php 
    session_start(); 
    $_SESSION['nim'][] = $_POST['nim']; 
    $_SESSION['nama'][] = $_POST['nama']; 
    $_SESSION['nilai'][] = $_POST['score']; 

    header("location:index.php") 
?> 

和這是代碼show.php:

<?php 
    session_start(); 
    foreach($_SESSION as $key) 
    { 
      foreach($key as $data => $value) 
      { 
      echo "NIM : ",$value." ", "Name : ",$value." ", "Score : ",$value." ";    
      } 
    } 
?> 

結果: enter image description here 而問題是我想用窗體顯示輸入在 稔: 名稱: 評分:
例如=淨息差:01名:約翰得分:90
我應該在show.php改變,以便按照上面的格式出現? 謝謝:)

+0

'回聲$ value,「」;'應該是'echo $ value。「」;' –

+0

你沒有收到echo $ value的錯誤,「」;線。試着改變上面提到的評論。 – webpic

+0

逗號工作連接也不是嗎?你能告訴我們你的輸出是什麼樣子嗎? – Jamin

回答

0

@Arif毛拉只是改變你的show.php喜歡下面希望這是你想要什麼:

<?php 
    session_start(); 
    $echoString = ""; 
    foreach($_SESSION as $key => $sessionArr){ 
      if($key == "nama"){ 
       $echoString .= "name : "; 
      } 
      else if($key == "nilai"){ 
       $echoString .= "score : "; 
      } 
      else{ 
       $echoString .= $key." : "; 
      } 

      foreach($sessionArr as $value) 
      { 
       $echoString .= $value." "; 
      } 
    } 
    echo $echoString; 
?> 
0

請檢查下面的例子中,我沒有https://3v4l.org/CcOOK

<?php 

$_POST['nim'] = 'Hrllo'; 
$_POST['nama'] = 'Data'; 
$_POST['score'] = '33'; 

$_SESSION['nim'][] = $_POST['nim']; 
$_SESSION['nama'][] = $_POST['nama']; 
$_SESSION['score'][] = $_POST['score']; 


$string = ''; 
foreach($_SESSION as $main_key => $key) 
    { 
      foreach($key as $data => $value) 
      { 
      $string .= $main_key . ":" . $value . ' ';     
      } 

    } 
    $string = rtrim($string, ' '); 
    echo $string; 
+0

如果輸出結果如下= HIM:Hrllo nama:數據得分:33 –

+0

@ArifMaulana更新了答案 –