1

ユーザーが情報を入力するためのフォームがあります。フォームには 4 ページあります。最初のページはユーザーが入力する顧客の詳細で、POST を使用して次のページに送信され、2 番目のページでは「顧客」テーブルの mysql データベースに送信されます。

ただし、次の 2 つのページは両方とも「雇う」テーブルにリンクされています。ページ 2 のデータは POST を使用してページ 3 に移動され、ページ 3 のデータは POST を使用してページ 4 に移動されます。

セッション変数を使用して、ページ 2 から取得し、ページ 3 に送信したすべてのデータをページ 4 に移動することにしました。ここで、すべての雇用データをデータベースに入れることを計画しましたが、SESSION を使用して移動されるデータは移動しません。次のページに移動したくないようです。

POST メソッドが機能しており、データベースへのデータの入力が機能していることは確かですが、正しいデータではありません (たとえば、時間はちょうど 00:00:00 です)。変数がページ間を移動していないことを意味します。私は周りを検索しましたが、苦労しています.PHPは初めてなので、セッション変数について知ったばかりです!

どんな助けでも大歓迎です。

3 番目のフォーム コード:

<?php
session_start();
$_SESSION['time'] = $time;
$_SESSION['date'] = $date;
$_SESSION['length'] = $length;
$_SESSION['numberofpeople'] = $numberofpeople;
$_SESSION['pickuplocation'] = $pickuplocation;
$_SESSION['destination'] = $destination;
$_SESSION['useofbus'] = $useofbus;
$_SESSION['day'] = $day;
$_SESSION['month'] = $month;
$_SESSION['year'] = $year;
$_SESSION['cost'] = $cost;
$_SESSION['customerid'] = $customerid;
$_SESSION['driverid'] = $driverid;
$_SESSION['endtime'] = $endtime;
session_write_close();
?>

4 番目と最後のページ コード:

<?php
session_start();
$time = $_SESSION['time'];
$date = $_SESSION['date'];
$length = $_SESSION['length'];
$numberofpeople = $_SESSION['numberofpeople'];
$pickuplocation = $_SESSION['pickuplocation'];
$destination = $_SESSION['destination'];
$useofbus = $_SESSION['useofbus'];
$day = $_SESSION['day'];
$month = $_SESSION['month'];
$year = $_SESSION['year'];
$cost = $_SESSION['cost'];
$customerid = $_SESSION['customerid'];
$driverid = $_SESSION['driverid'];
$endtime = $_SESSION['endtime'];
session_write_close();
?>

<?php

$payment = $_POST['payment'];
$information = $_POST['information'];

$con = mysql_connect("localhost","busassociation","fishie123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("busassociation", $con);


//INSERT INTO DATABASE


$sql = "INSERT INTO hire (customerid, driverid, time, endtime, date, length,     pickuplocation, destination, useofbus, numberofpeople, cost, day, month, year, payment, information) VALUES ('$customerid', '$driverid', '$time', '$endtime', '$date', '$length', '$pickuplocation', '$destination', '$useofbus', '$numberofpeople', '$cost', '$day', '$month', '$year', '$payment', '$information')";

if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "";

mysql_close($con);
?>
4

2 に答える 2

1

あなたのホストは何ですか?ホストがセッションを非アクティブ化することがあります。これは非常にまれですが、発生する可能性があります。「無料」のホストでセッションを使用できないことは確かです(無料は、低レベルのホストを提供するフランスの FAI です)。

ホストに関する情報を入手してください。

セッションが PHP で本当に問題なく動作することを確認したい場合は、2 つのテスト ページを実行してください。

page1.php

<?php session_start(); $_SESSION['test']='Earth is our mother'; ?>

page2.php

<?php session_start();
      if(isset($_SESSION['test'])) echo $_SESSION['test'];
      else echo 'session problem';
?>
于 2013-01-24T21:11:50.483 に答える
0

3ページではなく2ページでセッション変数を定義する必要があると思います

于 2013-01-24T21:26:56.587 に答える