여기에 질문이 있습니다. 학생에 대한 데이터를 입력 한 후 페이지 상단에 양식을 인쇄해야합니다. 한 학생의 데이터를 인쇄 할 수 있었지만 $ studenti 배열에 데이터를 저장할 수 없으므로 모든 학생의 데이터가 인쇄됩니다.PHP가 배열에 데이터를 추가 할 수 없습니다.
<?php
session_start();
$_SESSION['aindex'] = $_POST['index'];
$_SESSION['aime']= $_POST['ime'];
$_SESSION['aprosek'] = $_POST['prosek'];
//if ($index != "" && $ime != "" && $prosek !="")
//{
// = $index;
//= $ime;
//=$prosek;
//}
//print ($_SESSION['aindex']);
function inicijalizacija()
{
$studenti = array();
$ind = $_SESSION['aindex'];
$im = $_SESSION['aime'];
$pr = $_SESSION['aprosek'];
$studenti[$ind]["ime"] = $im;
$studenti[$ind]["prosek"] = $pr;
return $studenti;
}
function dodaj($studenti)
{
$studenti[$_SESSION['aindex']]["ime"] = $_SESSION['aime'];
$studenti[$_SESSION['aindex']]["prosek"] = $_SESSION['aprosek'];
return $studenti;
}
function prikazi($studenti) //ovde u argumentu treba $studenti
{
print ("<h2> Lista Studenata: </h2>");
foreach ($studenti as $ind => $student)
{
if (empty($ind))
continue;
$n = $student["ime"];
$p = $student["prosek"];
print ("Index: " . $ind . " " . "Ime: " . $n . " " . "Prosek: " . $p);
}
print("<hr size ='1'>");
//Forma dodavanja
print (" <form action = 'index.php' method = 'post' >");
print (" Indeks:  <input type = 'text' name = 'index' />");
print(" </br>");
print (" Ime:       <input type = 'text' name = 'ime' >");
print(" </br>");
print (" Prosek : <input type = 'text' name = 'prosek' />");
print(" </br>");
print (" <input type = 'submit' value = 'Dodaj' name = 'Dodaj' />");
}
$studenti = inicijalizacija();
?>
<html>
<head> <title> pokusaj </title> </head>
<body>
<?php
prikazi($studenti);
dodaj($studenti);
?>
</body>
</html>
나머지 학생들의 데이터는 어디에 있습니까? 한 학생의 데이터 만 세션에 저장합니다. –
dodaj ($ studenti) 줄에서 세션의 데이터를 배열에 추가하면 안됩니까? –