1
私は他のファイルから配列にアクセスすることはできませんが、私のデータがすでに配列に格納されているかどうかにかかわらず、まだそれを把握しません。関数に$ _SESSIONを入れるべきですか?別のファイルからセッション配列を取得
Lat3_3a.php
<form id="form1" name="form1" method="post" action="Lat3_3b.php">
Insert number: <input type="number" name="num" id="num" />
<input type="submit" name="button" id="button" value="OK" />
</form>
Lat3_3b.php
が<?php
session_start();
$_SESSION["num"] = $_POST["num"];
if (empty($_SESSION["num"]))
echo "Please, insert number";
else {
$val=$_POST['num'];
echo " Factorial " .$val. " ! = " .factorial($val)."<br/>";
echo "<a href='Lat3_3c.php'>Link</a>";
}
function factorial($val){
if($val<=1){
$result=1;
return $result;
}elseif($val>1){
for($i=1; $i<=$val; $i++){
$result=$val * factorial($val-1);
}
return $result;
}
$data=array($val,$result,"12345", "Travis");
$_SESSION["var"]=$_POST["data"];
}
?>
Lat3_3c.php
<?php
session_start();
if(empty($_SESSION["var"]))
echo "Variable not found";
else
echo "Data : ". $_SESSION["var"];
?>
まあ、Lat3_3b.phpファイルには '}'があります。これは物事を混乱させるかもしれませんが、私はうんざりです。しかし、論理的には、コードは正常に動作するはずです。しかし、$ _SESSION ['var']を設定した後に戻るなど、一連のイベントを書き直す必要があるかもしれません。 – junkfoodjunkie
私はあなたの間違いを見つけたと思うし、それは投稿に関連していると思う$ _SESSION ["var"] = $ _ POST ["data"];ブラウザのコンソールで投稿部分をチェックしてみてください。使用しているPOST要求のHTTP Content-Typeとしてapplication/x-www-form-urlencodedまたはmultipart/form-dataを使用するときに、HTTP POSTメソッドを介して現在のスクリプトに渡される変数の連想配列。 –