これはやや単純です。私はまだ良い、決定的な質問を作成するためのいくつかの問題がありますが、私はベストを尽くします。PHP:「ケース」を進行させるストーリーを作成するには?デバッグ
が進行中の一部のラジオボタンで情報を送信している間にPHPコードを作成したいとします。これまでに書いたスクリプトの例があります。
ユーザーがラジオボタンをクリックし、コードが進行し、$ countが+1になるコンテンツを送信するたびに、私は2段階の進行を作成しました。ユーザーが1つのラジオボタンを選択して送信ボタンをクリックするたびに、プログラムは選択されたラジオボタンのすべてを1ステップでエコーしています。 (私が持っていないもの)
私はそれがなぜそうであるかわかりません。 はをに詰めてください。コードを停止して再起動しますか?
私はこのためにCASEを使用しましたが、それは動作しないためにすべての方法であれば、それが最良の方法ではないことは確信しています。私は、ユーザーが送信ボタンをクリックするたびにプログレッションが保存される代わりにコード全体がリセットされると思います。
私は何をしなければなりませんか?クリックした情報を保存するには、アレイを使用する必要がありますか?LOOPSを使用する必要がありますか?私は両方を試しましたが、私はまだ私の問題の解決策はありません。
私が心配しているコードの最も簡単な解決策は何ですか?もう一つのステップは、私はPHPで簡単なテキストの冒険を作成したい。私はテストのためにPHPを習得しなければなりません、そして、私はコードを少し遊んで、それがどのように動作するかを理解する助けになると思います。
ここに私が書いたコードがありますが、私はそれを再配置し、他のものを使用して、それを動作させるためにケースのisteadを使用しなければならないと思います。
<html>
<head>
<title>Abfrage</title>
</head>
<body>
<h4> Typentest</h4>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>"method="post">
<p>What would you chose?</p><br />
<input type="radio" id="a1" name="weapon" value="1" checked> <label for="a1"> Dagger</label><br>
<input type="radio" id="a2" name="weapon" value="2"> <label for="a2"> Sword</label><br>
<input type="radio" id="a3" name="weapon" value="3"> <label for="a3"> Saber</label><br>
<input type="submit" name="gesendet" value="ok"></button> <br />
</form>
<?php
if(isset($_POST['gesendet'])){
// Variablen deklararien und Werte zuweisen.
$weapon = $_POST['weapon'];
$count = 0;
//First chosing
if (!empty($weapon) && $count == 0){
switch($weapon){
case "1":
echo "You chose a crude dagger ";
$count = $count + 1;
break;
case "2":
echo "You chose a crude sword";
$count = $count + 1;
break;
case "3":
echo "you chose a crude saber";
$count = $count + 1;
break;
}
}
//second chosing after second time "submit"
if (!empty($alter) && $count == 1){
switch($alter){
case "1":
echo "you chose a fine dagger";
$count = $count + 1;
break;
case "2":
echo "you chose a fine sword";
$count = $count + 1;
break;
case "3":
echo "you chose a fine saber";
$count = $count + 1;
break;
}
}
else {
echo "Ihre Eingabe ist fehlerhaft ";
}
}
?>
</body>
$ count == 0の場合、2つのスイッチブロックが読み取られます。それはあなたが望むものですか? – iguypouf
最初に最初のスイッチブロックを使用する必要があります。私は新しいスイッチブロックを書く場合、それはそうする必要があります。 – flightofthepenguin
* break; *は最初のスイッチインスタンスを閉じます。デフォルトの場合を除いて* $ count *が1に等しく、2番目のスイッチインスタンスが実行されることを意味します。各submitは、* $ count *を再び0に設定します。 – iguypouf