0

あるページ (parent.php) にメインの大きなアプリケーション フォームがあり、別のページ (child2.php) に小さなフォームがあり、ユーザーが詳細の一部を入力すると、サイトにアプリケーション フォームを設定しようとしています。その小さなフォームを送信すると、大きなフォームに移動し、入力した詳細が大きなフォームの対応するテキストボックスに表示され、記入するための追加のボックスが表示されます (それが理にかなっていれば!)

2ページ目のテキストボックスが最初のページの一致するテキストボックスの値を表示するという点で機能させることができますが、値が設定されている場合のみです。ユーザーは小さなフォームから、または直接アクセスしてメインのアプリケーション フォームにアクセスできるため、値が設定されている場合、設定された値が表示され、データベースに入力された値になるようにする必要があります。値は小さなフォームから事前設定されていないため、ユーザーは自分の情報をメイン フォームに入力でき、これが DB に送信されます。ifisset を使用する必要があるかもしれないと思いますが、そうしようとしましたが、どこにも行きません。

乱雑なコードとテキストボックスの設定については、これをテストするためだけのものであることをお詫びします。私はまだこれらすべてに取り組んでおり、誰かが私を助けてくれたり、私が正しい方向に進んでいるかどうかを知らせてくれたりするとありがたいです. /完全にオフ。前もって感謝します!

ページ 1 (parent.php)

<form action="child2.php" method="post" class="validate">
  <div>
  <input class="tb" type="text" name="fName" placeholder="first name" id="fName"      value="<?php $fName ?>" required/><br/>
  <br/>
  <input class="tb" type="text" name="sName" placeholder="surname" id="sName" value="<?php $sName ?>" required/><br/>
  <br/>
  <input class="tb" type="email" name="email" required placeholder="email address" id="email" value="<?php $email ?>" required/>
  <br/>
  <input class="tb" type="address" name="address" placeholder="address" value="<?php $address ?>" id="address" />
  <br/>


  <input id="submit" name="submit" type="submit" value="Submit">
  </div>
  </form> 

ページ 2 (child2.php)

<?php
  function renderForm($fName, $sName, $email, $address){ 
  ?>


<form action="" method="post" class="validate">

<label class="label">first name</label><input class="tb" type="text" id="fName"     name="fName" value="<?php if (isset($fName)) { echo $fName = $_REQUEST['fName'];} else {    echo "first name"; }?>"/> 
</br>
<label class="label">surname</label><input class="tb" type="text" id="sName"  name="sName" value="<?php if (isset($sName)) { echo $sName = $_REQUEST['sName'];} else {    echo "surname"; }?>"/>
</br>
<label class="label">email</label><input class="tb" type="email" id="email"  name="email" value="<?php if (isset($email)) { echo $email = $_REQUEST['email'];} else { echo "email"; }?>"/>
</br>
<label class="label">address</label><input class="tb" type="text" id="address"  name="address" value="<?php if (isset($address)) { echo $address = $_REQUEST['address'];} else { echo "address"; }?>"/>
</br>

4

2 に答える 2

0

あなたが探しているのは$_SESSION、ユーザーがブラウザを閉じるまで、またはセッションが期限切れになるまでアクティブなままになる変数です (デフォルトの PHP 構成時間は 24 分だと思います..?)。これは、一時的な目的でデータベースに保存するよりもはるかに効率的です。

したがって、変数を$_SESSION['fName'] = $_POST['fName'];etc で設定し、後でecho $_SESSION['fName'];etcで呼び出すことができます。

セッション変数を利用する<?php session_start(); ?>には、ページの最初 (HTML が使用される前) で必要になります。

于 2012-08-25T20:57:33.580 に答える
0

khanahk が示唆するように、SESSION 変数を使用すると、あなたの仕事ができます。あなたが考えている解決策の問題は、あるページから別のページに値を渡している限り、それも非常に混乱した後で問題ないということです。

したがって、代わりに、このようなものを使用する必要があります

session_start();

$email = $_SESSION['email'];

<label class="label">email</label><input class="tb" type="email" id="email"  name="email" value="<?php  echo $email; ?>"/>
于 2012-08-26T15:40:00.213 に答える