这很简单:我仍然有一些问题来创建好的,确凿的问题,但我尽我所能。PHP:如何创建一个故事进展“案例”?和调试
我想创建一个php代码,进步而用户提交的信息与一些单选按钮。有一个我写到目前为止的脚本示例。
每当用户点击一个单选按钮并提交代码应该进展的内容,$ count就会得到+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时,读取两个开关块。这是你想要的吗? – iguypouf
首先应该使用第一个开关块,而不是同时提交第二个开关块。如果我写新的开关块,它应该继续下去。 – flightofthepenguin
不是。 * break; *将关闭第一个开关实例;这意味着除了默认情况外,* $ count *等于1,第二个交换机实例将被执行。每次提交将再次将* $ count *设置为0。 – iguypouf