我有一个这样的表格:
<form id="candida-form" action="index.php?gender=<? echo $sex; ?>?step=<? echo $step; ?>" method="get">
<? if ( $step == -1 ): ?>
<div style="padding-left: 95px;padding-top: 40px;">
<div class="radio-option"><input type="radio" id="male" name="form_sex" value="0" checked /> <label for="male" style="cursor:pointer;"><img src="images/icon_man.png" /> Male</label></div>
<div class="radio-option"><input type="radio" id="female" name="form_sex" value="1" /> <label for="female" style="cursor:pointer;"><img src="images/icon_woman.png" /> Female</label></div>
<div class="radio-option" style="padding-top:9px;"><input type="radio" id="child" name="form_sex" value="2" /> <label for="child" style="cursor:pointer;"><img src="images/icon_child.png" /> Child</label></div></div>
<div class="clear"></div>
<div class="submit-wrapper"><input type="submit" id="nextstep" value="Next Step" /></div>
<? elseif ( $step == 0 ): ?>
<div class="form-inner">
<? if ( $sex == 0 ): ?>
<h2>MALE</h2>
<div class="yesno">
<div class="section-description">
<p>text</p>
</div>
<? elseif ( $sex == 1 ): ?>
<h2>FEMALE</h2>
<div class="yesno">
<div class="section-description">
<p>text</p>
</div>
<? else: ?>
<h2>CHILDREN</h2>
<div class="yesno">
<div class="section-description">
<p>text</p>
</div>
<? endif; ?>
,变量是那些:
$step = intval( $_POST[ 'form_post' ] ); // Gather completed step
$sex = intval( $_POST[ 'form_sex' ] ); // Gather gender
我的想法是,当我点击该输入到“下一步”时,浏览器中的网址会改变为:http://xyz.com/survey/index.php?gender=0?step=1
但如果我想在新浏览器中输入确切的链接http://xyz.com/survey/index.php?gender=0?step=1
,那么我可以转到男性的第1步,不会,它会去到指数没有到步骤,有什么解决方案吗?你能帮忙解决一下吗?
答案 0 :(得分:1)
您的参数URL错误。正确的语法是:
http://xyz.com/survey/index.php?gender=0&step=1
而不是
http://xyz.com/survey/index.php?gender=0?step=1
ues &
将更多变量串在一起。 ?
仅用于第一个表示URL的其余部分是变量。
在PHP代码中更改此行:
<form id="candida-form" action="index.php?gender=<? echo $sex; ?>?step=<? echo $step; ?>" method="get">
到
<form id="candida-form" action="index.php?gender=<? echo $sex; ?>&step=<? echo $step; ?>" method="get">
修改:此外,将$step = intval( $_POST[ 'form_post' ] );
更改为:
$step = intval( $_POST[ 'step' ] );
你没有正确地恢复你的变量。
答案 1 :(得分:0)
您的网址不正确。您需要使用&符号来分隔参数。不是另一个问号:
http://xyz.com/survey/index.php?gender=0?step=1
应该是
http://xyz.com/survey/index.php?gender=0&step=1