2

フォームを作成し、変数を 2 つのページにまたがって結果ページに持ち込もうとしています。$GET と $POST を試してみましたが、page1.php から results.php まで正常に動作しますが、$SESSION に変更すると、results.php で変数が渡されたりエコーされたりしません。これは page1 の php コードです。これは結果に直接作用することさえありません! コードに問題があるのか​​、それともサーバーに問題があるのか​​ わかりませんか? ページ 1.php:

<?php session_start();?>
<?php
$name = $_SESSION['name']; 
?>
<FORM action="results.php" method="post" enctype="multipart/form-data" id="questionnaire">
<input type="text" name="name" id="name" />

Results.php:

<?php session_start();?>

<html>           
    <body>                   
        <?php 
        $name = $_SESSION['name'];
        echo $name; ?>                               
    </body>           
</html> 
4

6 に答える 6

2

次のコード スニペットを実行してみてください

<?php session_start();?>
<?php
   if($_SERVER['REQUEST_METHOD']=='POST')
   {
    $name = $_POST['name'];
    $_SESSION['name']=$name;
  }
 ?>
  <FORM action="results.php" method="post" enctype="multipart/form-data" id="questionnaire">
  <input type="text" name="name" id="name" />

実際には、コード スニペットで $_SESSION['name'] の値が設定されていませんでした。HTML フォームから投稿された値を使用して、セッション変数の値を定義しました。

于 2013-04-23T08:46:24.810 に答える
0

Results.php:

<?
session_start();
$name = isset($_POST['name'])?$_POST['name']:'';

if($name){
$_SESSION['name']=$name;

}
?>
<html>           
<body>                   
    <?php echo $name; ?>                               
</body>           
</html> 
于 2013-04-23T08:46:37.787 に答える
0
Try....
 Page 1.php : <?php session_start();
$_SESSION['name'] = isset($_POST['name']) ? $_POST['name'] : '';
 ?>
  <FORM action="results.php" method="post" enctype="multipart/form-data" id="questionnaire">
  <input type="text" name="name" id="name" />

Results.php:

<?php session_start();?>

<html>           
    <body>                   
        <?php 
        $name = $_SESSION['name'];
        echo $name; ?>                               
    </body>           
</html>
于 2014-05-06T09:28:27.527 に答える
0

この行で変数を反転したと思います:

<?php
 $name = $_SESSION['name']; 
?>

あなたはおそらくやりたいと思っていました:

<?php
$_SESSION['name'] = $name;
?>
于 2013-04-23T08:44:19.787 に答える
0

まず、名前変数をセッション変数に割り当てます

<?php session_start();?>
<?php
$_SESSION['name'] = $name;
?>
<FORM action="results.php" method="post" enctype="multipart/form-data" id="questionnaire">
<input type="text" name="name" id="name" />
于 2013-04-23T08:45:27.267 に答える