我在这里是新手,在PHP中,我试图对自己的技能进行“简单”测试,但目前我无能为力:
<?php
error_reporting(0);
//zweiter Formular test
//$anzahl = $_POST['anzahl'];
function step1($anzahl){
if($anzahl > 0){
echo '<h3>Schritt 2</h3>';
echo '<p>Alles klar, bitte gib den<b> ' . $anzahl . '</b> Feldern namen </p>';
echo '<form action="formular1.php" method="post">';
for($i=1; $i<=$anzahl; $i++){
echo $i . '. Feld <input name="' . $i . '_feld"/> <br/>';
}
echo '<p> <input name="anzahl" type="hidden" value=' . $anzahl . ' />
<input name="submit1" type="submit" /><input type="reset" /></p></form>';
if(isset($_POST['submit1']))
step2($_POST['anzahl']);
}else
echo '';
}
function step2($anzahl){
echo '<h3>Schritt 3</h3>';
echo '<p>Alles klar, hier dein Formular:</p>';
$feld_namen = array();
//Trägt post-werte in array ein
for($j=1; $j <= $anzahl; $j++){
$feld_namen[$j] = $_POST[$j . '_feld'];
}
//print_r($feld_namen);
echo '<form action="formular1.php" method="post">';
for($i=1; $i<=$anzahl; $i++){
//array hier lesen
//echo $i . '. <input name="' . $i . '_feld_value" /> <b>' . $_POST[$i . '_feld'] . '</b> <br/>';
echo $i . '. <input name="' . $i . '_faled_value" /> <b>' . $feld_namen[$i] . ' </b> <br/>';
}
echo '<p><input name="submit2" type="submit" /><input type="reset" /></p></form>';
if(isset($_POST['submit2']))
step3();
}
function step3(){
echo '<h3>Schritt 3</h3>';
}
?>
问题从功能step2开始,也许我只是盲目的,但是它说当设置了名为commit2的按钮时,页面应该刷新并实际上转到step3。但事实并非如此,页面只是从头开始。
我在考虑Java还是Something?
我知道这不是一个很好的脚本,但我正在逐步尝试
这是脚本应开始的地方:
<h3>Schritt 1</h3>
<form action="formular1.php" method="post">
<p>Wieviele eingabe Felder brauchst du ?</p>
<p>Ich brauche <input name="anzahl" size="2px" /> Felder</p>
<p><input type="submit" /><input type="reset" /></p>
</form>
<?php step1($_POST['anzahl']) ?>
假设您正在显示第二步。现在,用户单击提交按钮,$_POST['submit2']
将被设置。但是,$_POST['submit1']
将不再设置(因为用户没有单击它)。
因此,您的代码将永远不会激活step2()
需要step3()
调用的代码。您可以使用隐藏的输入字段来轻松解决此问题。
<input type="hidden" name="submit1">
在您的步骤2中。但是更干净的解决方案是用另一种方式调用这些方法。例如这样
if (isSet($_POST['submit1'])) {
step2();
} elseif (isSet($_POST['submit2'])) {
step3();
} else {
step1();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句