来自输入表单的foreach值

问题描述:

请帮助我。我的代码有问题。来自输入表单的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

@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; 
?> 

请检查下面的例子中,我没有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更新了答案 –