PHPフォームでは、ドロップダウンリストに.txtファイルの間違ったデータが表示されます

クリスティン

私はこれに関連する投稿を見て、今ではこれを間違って行ったと思っている投稿を見ました。私はPHPに非常に慣れていませんが、学びたいと思っています。

学生名の入力ボックス、学生番号の入力ボックス、およびコースのドロップダウンリストを含むindex.phpフォームが必要です。

私のPHPスクリプトにデータを含めることは許可されていません-データはオプションではない.txtファイルから取得する必要があります。

私は4つのコース名を持つcourses.txtを持っており、それぞれに独自のコースコードと登録できる最大人数が含まれています。courses.txtの内容:アニメーションフィルムデザイン:AFD-250:6デジタル彫刻:DS-410:4アニメーションの歴史:HA-240:6視覚効果:VE-298:4

カンマ区切りファイルに変換されたcoursesfinal.txtがあります。コースの内容final.txt:アニメーションフィルムデザイン、AFD-250,6デジタル彫刻、DS-410,4アニメーションの歴史、HA-240,6視覚効果、VE-298,4

現在、2つの入力ボックスは正常に機能します。私の問題はドロップダウンリストにあります。コース名、スペース、コースコードの順に表示したいのですが。現時点では、コースコードのみが表示されます。また、なぜ2番目のデータフィールドが表示されているのかもわかりません。

ありがとうございました。

index.phpコード...

<?php
// Convert courses.txt file to comma delimited file coursesfinal.txt
 $in = "courses.txt";
 $out = "coursesfinal.txt";

 $IN = fopen ($in, 'r') or die ("$in cannot be opened for reading.");
 $OUT = fopen ($out, 'w') or die ("$out cannot be opened for writing.");

 if (flock($OUT, LOCK_EX)) {
    while ($inline = fgets ($IN) ) {
       $splitarray = explode (":", $inline);
       $outline = implode(",", $splitarray);
       fputs ($OUT, $outline);
    }
    flock($OUT, LOCK_UN);
 }

 fclose ($IN);
 fclose ($OUT);
 
// Search coursesfinal.txt file for course to match user input
 $datafile = "coursesfinal.txt";

 // If selection has been made, find a match
 if (isset ($_POST['courses'])) {
    $courses = strip_tags ($_POST['']);
    $DB = fopen ($datafile, 'r') or die ("$datafile cannot be opened for reading.");

    $found = FALSE;
    while ($record = fgets ($DB) and ! $found) {
       $field = explode (",", htmlentities (trim ($record)));
       $found = $courses === $field[0];
    }

    fclose ($DB);

    if ($found) {
       echo "<p>You have selected: $field[0] $field[1]</p>\n";
    }
 }






?>


<html>
<head>
<title>Registration Form</title>
<style>
body{background-color: #ffffe6; width:610px;}
h1 {color: #29a3a3;}
.inputbox {padding: 7px; border:  #F0F0F0 2px solid; border-radius: 4px;}
.btn {padding: 10px;background-color: #29a3a3; border: solid thin #000000; color: #FFF; font-weight: bolder; cursor: pointer;}
</style>
</head>

<body>
    <h1>Course Registration</h1>
    <form method="post" action="index.php">

        <fieldset><legend><strong>Student Information</strong></legend>
            <dl>
            <dt>Student Name:</dt>
            <dd><input class="inputbox" name="studentname" type="text" id="studentname" required autofocus placeholder="Please enter your first and last name" tabindex="10" size="50"></dd>
            <br>
            <br>
            <dt for="number">Student Number:</dt>
            <dd><input class="inputbox" name="studentnumber" type="text" required id="studentnumber" placeholder="Please enter using the following format: PX-03-046" tabindex="20" size="50"></dd>
            </dl>
            <br>
        </fieldset> 
        <br>
        
        <fieldset><legend><strong>Available Courses</strong></legend>  
        <br>  
        

Select a Course: <select name="course"> 
    <option value="-1" selected>Select From...</option> 
<?php
// Generate the form 
$DB = fopen ($datafile, 'r') or die ("$datafile cannot be opened for reading."); 
while ($record = fgets ($DB) ) { 
$field = explode (",", htmlentities (trim ($record))); 
echo " <option value=\"$field[0]\">$field[1]</option>\n"; 
} 
fclose ($DB); 

echo " </select>\n"; 


?>

    <br>
    <br>
    <br>
    <br>
    <br>
    <br>                               
    </fieldset>

    <div>
        <p>
            <input name="reset" type="reset" tabindex="40" value="Clear Form" class="btn">
            <input name="submit" type="submit" tabindex="50" value="Submit Form" class="btn">
        </p>
    </div>

</form>

</body>
</html>

ザムロニーP.ジュハラ

次のコードを参照してください。

while ($record = fgets ($DB) ) { 
   $field = explode (",", htmlentities (trim ($record))); 
   echo " <option value=\"$field[0]\">$field[1]</option>\n"; 
}

その場合fgets()、1つのパラメーターを使用して呼び出すと、改行文字またはEOF(どちらか早い方)が見つかるまで読み取りを続けます。次のようなcoursesfinal.txtをフォーマットしてください。

Animation Film Design,AFD-250
6 Digital Sculpture,DS-410
4 History of Animation,HA-240,
6 Visual Effects,VE-298

そして、あなたはすることができます

while ($record = fgets ($DB) ) { 
   $field = explode (",", htmlentities (trim ($record))); 
   echo " <option value=\"$field[1]\">$field[0] $field[1]</option>\n"; 
}

explode()コマ区切り文字を使用すると、文字列「Animation Film Design、AFD-250」が配列に分割されることに注意しください

$field[0] == "Animation Film Design"
$field[1] == "AFD-250"

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PHPStorm 2018.5.3-ウィンドウが再度フォーカスされるまで、デプロイメントはファイルウォッチャーによって変更されたファイルを自動アップロードしません

分類Dev

ドロップダウンフォームから別のphpスクリプトに値を表示する方法

分類Dev

OSがインストールされたフォントは、ストーリーボードのドロップダウンでは使用できません

分類Dev

MVCドロップダウンリストを使用して、フォームを編集し、ドロップダウンにデータを表示し、ドロップダウンに以前に選択したアイテムを表示する方法は?

分類Dev

ファイルが間違った名前でダウンロードされています。PHPの修正を手伝ってください

分類Dev

動的ドロップダウンはアイテムを正しくリストします。フォームに送信されたドロップダウンフィールドがnullになる場合。

分類Dev

別のファイル(php、mysql、javascript)のドロップダウンリストにデータを表示する

分類Dev

Webアプリをモバイルサファリで表示したときに、iTunesでアプリストアをダウンロードするためのデフォルトのポップアップはありますか?

分類Dev

フォームから送信された値とドロップダウンリストに表示される値が異なる場合は、[選択]ドロップダウンリストの値を取得します

分類Dev

Ubuntu 18.04 でランダムにフリーズし、「ウォッチドッグ: バグ: ソフト ロックアップ - CPU#11 が 22 秒間スタックしました」の後に「NMI ウォッチドッグ ハード ロックアップ」が表示される

分類Dev

C#コードでダウンロードすると間違ったファイルが表示されます

分類Dev

ドロップダウンリストで選択した値に従ってフォームフィールドを表示するAngularTypeScript

分類Dev

nodeJsからfontawesomeファイルをリクエストすると、間違ったデータ/ファイルが返送されます

分類Dev

フィルタリングされたRecyclerViewアイテムがクリックされたときに間違ったデータを表示する

分類Dev

ブートストラップフォーム:カスタムファイルボタンは機能しますが、アップロードされたファイルの名前が表示されません

分類Dev

インポートされた間違ったクロムプロファイルをスナップ - タブ、拡張機能が失われました

分類Dev

PHP-ファイルのアップロードでストリームを開くことができませんでした-間違ったフォルダー

分類Dev

Androidのフルスクリーンダイアログが透明で間違った位置に表示される

分類Dev

両方の依存ドロップダウンリストからphpへのフォームデータの取得

分類Dev

WebAPI 2:デフォルトのGETALLが間違ったパラメーターで呼び出されます

分類Dev

rpy2がPythonでRデータフレームをロードすると間違ったタイムスタンプが生成されます

分類Dev

ドロップダウン検索リストには、送信ボタン付きのhtmlフォームが必要です

分類Dev

PHPを使用してフォームのドロップダウンリストにMySQLのデータを表示するにはどうすればよいですか?

分類Dev

ページ付けによってドロップダウンリストフィルターがリセットされるのはなぜですか?

分類Dev

パッケージリストファイルには、MySQLの間違ったバージョンがリストされています

分類Dev

Windows 10では、デスクトップに保存されたファイルがセカンダリモニターに表示されます

分類Dev

Windows10タブレットのWindowsフォームアプリで間違ったコントロールに送信された垂直スワイプシミュレーションマウスイベント

分類Dev

aspドロップダウンリストのすべてのアイテムのフォントファミリーを変更するには?

分類Dev

フォームが読み込まれた後、サービスからドロップダウンリストにデータを入力します

Related 関連記事

  1. 1

    PHPStorm 2018.5.3-ウィンドウが再度フォーカスされるまで、デプロイメントはファイルウォッチャーによって変更されたファイルを自動アップロードしません

  2. 2

    ドロップダウンフォームから別のphpスクリプトに値を表示する方法

  3. 3

    OSがインストールされたフォントは、ストーリーボードのドロップダウンでは使用できません

  4. 4

    MVCドロップダウンリストを使用して、フォームを編集し、ドロップダウンにデータを表示し、ドロップダウンに以前に選択したアイテムを表示する方法は?

  5. 5

    ファイルが間違った名前でダウンロードされています。PHPの修正を手伝ってください

  6. 6

    動的ドロップダウンはアイテムを正しくリストします。フォームに送信されたドロップダウンフィールドがnullになる場合。

  7. 7

    別のファイル(php、mysql、javascript)のドロップダウンリストにデータを表示する

  8. 8

    Webアプリをモバイルサファリで表示したときに、iTunesでアプリストアをダウンロードするためのデフォルトのポップアップはありますか?

  9. 9

    フォームから送信された値とドロップダウンリストに表示される値が異なる場合は、[選択]ドロップダウンリストの値を取得します

  10. 10

    Ubuntu 18.04 でランダムにフリーズし、「ウォッチドッグ: バグ: ソフト ロックアップ - CPU#11 が 22 秒間スタックしました」の後に「NMI ウォッチドッグ ハード ロックアップ」が表示される

  11. 11

    C#コードでダウンロードすると間違ったファイルが表示されます

  12. 12

    ドロップダウンリストで選択した値に従ってフォームフィールドを表示するAngularTypeScript

  13. 13

    nodeJsからfontawesomeファイルをリクエストすると、間違ったデータ/ファイルが返送されます

  14. 14

    フィルタリングされたRecyclerViewアイテムがクリックされたときに間違ったデータを表示する

  15. 15

    ブートストラップフォーム:カスタムファイルボタンは機能しますが、アップロードされたファイルの名前が表示されません

  16. 16

    インポートされた間違ったクロムプロファイルをスナップ - タブ、拡張機能が失われました

  17. 17

    PHP-ファイルのアップロードでストリームを開くことができませんでした-間違ったフォルダー

  18. 18

    Androidのフルスクリーンダイアログが透明で間違った位置に表示される

  19. 19

    両方の依存ドロップダウンリストからphpへのフォームデータの取得

  20. 20

    WebAPI 2:デフォルトのGETALLが間違ったパラメーターで呼び出されます

  21. 21

    rpy2がPythonでRデータフレームをロードすると間違ったタイムスタンプが生成されます

  22. 22

    ドロップダウン検索リストには、送信ボタン付きのhtmlフォームが必要です

  23. 23

    PHPを使用してフォームのドロップダウンリストにMySQLのデータを表示するにはどうすればよいですか?

  24. 24

    ページ付けによってドロップダウンリストフィルターがリセットされるのはなぜですか?

  25. 25

    パッケージリストファイルには、MySQLの間違ったバージョンがリストされています

  26. 26

    Windows 10では、デスクトップに保存されたファイルがセカンダリモニターに表示されます

  27. 27

    Windows10タブレットのWindowsフォームアプリで間違ったコントロールに送信された垂直スワイプシミュレーションマウスイベント

  28. 28

    aspドロップダウンリストのすべてのアイテムのフォントファミリーを変更するには?

  29. 29

    フォームが読み込まれた後、サービスからドロップダウンリストにデータを入力します

ホットタグ

アーカイブ