0

だから、ここにpage1.phpがあります:

<form action="action_form.php" method="post">
<select name="font_syle">
<option value="tahoma">Tahoma</option>
<option value="arial">Arial</option>
</select>
<input type="submit" value="Done" />
</form>

ここで action_form.php:

<?php
session_start();
$font_style = $_POST["font_syle"];
$_SESSION["font_syle"] = $font_style;
if($_SESSION["font_syle"] == 'tahoma') $font_style = 10;
else if($_SESSION["font_syle"] == 'arial') $font_style = 20;

$total = $font_style;

echo $total;
?>

ここで page.php

<?php 
ob_start();
include 'action_form.php';
ob_end_clean();

echo $total;
?>

"$total" の値が page.php に出力されない理由がわかりません

4

3 に答える 3

4

page.php にはaction_form.php. の値を次のように設定します$font_style

$font_style = $_POST["font_syle"];

page.php はフォームから投稿されただけではない$font_styleため、空の文字列に設定されています。だから、あなたがそれをエコーアウトするようになると、エコーするものは何もありません.

于 2012-09-28T19:51:14.707 に答える
0

その理由は、フォームがaction_form.phpvariable 内にデータを保存しようとしているからです$_SESSION

ページ間を移動しないため、データを開くpage.phpと、データはもう存在しません。$total

ここでの解決策は変更することです:

<form action="action_form.php" method="post">

為に

<form action="page.php" method="post">

また

代わりにセッション変数を出力してください。

于 2012-09-28T19:52:59.207 に答える
0

あなたはecho $_SESSION["font_syle"];それを印刷するためにpage.phpで行うことができます

于 2012-09-28T19:51:00.750 に答える