0

フォームで作業していますが、フォームが送信された後、ラジオ ボタンと選択オプションをフォームに再入力できるかどうか疑問に思っています。これは私のコードが今どのように見えるかですが、これの実装はありません...

<form method="post" action="forms-part3.php">
<table>
    <tr>
        <th colspan="2">FSOSS Registration</th>
    </tr>
    <tr>
        <td><br /></td>
    </tr>
    <tr>
        <td class="right text">Title:</td>
        <td><input type="radio" name="sex" value="male">Mr.</td></tr>
    <tr><td></td><td><input type="radio" name="sex" value="female">Mrs.</td></tr>
    <tr><td></td><td><input type="radio" name="sex" value="female">Ms.</td>
    </tr>                
    <tr>

そして、これはドロップダウン選択部分です...

<tr>
        <td class="right text">T-shirt Size:</td>
        <td>
            <select name="selection"><?php  
            $menu = array("-Enter T-Shirt Size-", "Small", "Medium", "Large", "X-Large", "Do not want a t-shirt");
            $count = count($menu);
            for($i = 0; $i < $count; $i++)
            {
             ?><option><?php if (isset($menu[$i])){ echo $menu[$i]; }?></option><?php
            }
            ?></select></td>
    </tr>

申し訳ありませんが、ユーザーが入力したすべてのフィールドが再入力された状態でフォームを再表示することを忘れていました..だから、テキストフィールドの方法はわかりましたが、ラジオの方法とオプションの選択方法がわかりません. . したがって、ユーザーが自分の選択内容を入力すると、フォームはフィールドを再入力し、選択したラジオとオプションを再選択します..

4

4 に答える 4

1

ラジオボタンを再設定する方法は次のとおりです。

<td class="right text">Title:</td>
        <td><input type="radio" name="sex" value="Mr." <?php if (isset($_POST['sex']) && $_POST['sex'] == "Mr.") echo "checked"; ?>>Mr.</td></tr>
    <tr><td></td><td><input type="radio" name="sex" value="Mrs." <?php if (isset($_POST['sex']) && $_POST['sex'] == "Mrs.") echo "checked"; ?>>Mrs.</td></tr>
    <tr><td></td><td><input type="radio" name="sex" value="Ms." <?php if (isset($_POST['sex']) && $_POST['sex'] == "Ms.") echo "checked"; ?>>Ms.</td>
    </tr>

選択メニューを再設定する方法は次のとおりです。

<select name="selection">
            <option value="" <?php echo(isset($_POST['selection'])&&($_POST['selection']=='')?' selected="selected"':'');?>>-Enter T-Shirt Size-</option>
            <option value="Small" <?php echo(isset($_POST['selection'])&&($_POST['selection']=='Small')?' selected="selected"':'');?>>Small</option>
            <option value="Medium" <?php echo(isset($_POST['selection'])&&($_POST['selection']=='Medium')?' selected="selected"':'');?>>Medium</option>
            <option value="Large" <?php echo(isset($_POST['selection'])&&($_POST['selection']=='Large')?' selected="selected"':'');?>>Large</option>
            <option value="X-Large" <?php echo(isset($_POST['selection'])&&($_POST['selection']=='X-Large')?' selected="selected"':'');?>>X-Large</option>
            <option value="Do not want a t-shirt" <?php echo(isset($_POST['selection'])&&($_POST['selection']=='Do not want a t-shirt')?' selected="selected"':'');?>>Do not want a t-shirt</option>
            </select>
于 2013-10-12T02:06:20.953 に答える
1

PHP でフォームを送信していますよね?のようなものがあります$_POST['input']。フォームでは、単純に再入力できます。

<?php
if($_POST['input'] === TRUE){
    $input_checked = 'checked';
}
?>
<input type="checkbox" name="input" value="value" <?php echo $input_checked; ?>/>

個人的には、ajax を使用してフォームを送信すると、フォームの検証が失敗した場合にフォームがリロードされず、すべての入力値が同じままになるため、はるかに簡単になります。

于 2013-10-11T17:23:29.027 に答える
0

選択したオプションを yuor MySQL データベースから取得したいと思います。
データベースには、ユーザーが選択したオプションが保存されます。
PC に MySQL をインストールし、php.ini 内で mysqli を有効にする必要があります。
別の方法として、データをセッションまたは POST に保存することもできますが、ユーザーがブラウザーを閉じた瞬間にユーザーの情報が失われます。
まず、phpMyADmin または SQL コマンド プロンプトを使用して、ユーザー用のテーブルを作成します。
次に、T シャツ サイズのシャツ テーブルを作成します。

現在選択されているユーザーに対して、セッションを使用できます。以下は、ドロップボックス用のサンプル PHP コードです: - ただし、完全ではありません。

 $CNN = "John";  
 $DBConnect = mysqli_connect("localhost", "root", "myUltraPasswrd#", "myDBname");  
 <select name="Tdropdown" onload="this.size=70;" onchange='this.form.submit()'>  

 $queryS = "select size from shirts where UserNo = $CNN";  

 if ($result = mysqli_query($DBConnect, $queryS)) {  
   while ($row = mysqli_fetch_assoc($result2)) {  

 $item1b = $row["Size"];  

 echo "<option  value='";  
 echo $item1b."'>";  
 echo $item2b;  

  echo "____".$CNN; //selected customer of current session
  print "_".$item1b;
 print "_".$item3b;

 print " </option>"; 
 }
 $result2->free();
  }
 }

しかし、コードは何を達成したいかによって大きく異なります。
正しいデータベース設計は非常に重要です。楽しみ!
使用する可能性のあるセッションの PS:

session_start();  
$CNN = @$_SESSION['UserNo'];  
于 2013-10-11T19:16:28.193 に答える