表单步骤的链接不会保存

时间:2012-08-07 12:00:25

标签: php html forms hyperlink

我有一个这样的表格:

    <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步,不会,它会去到指数没有到步骤,有什么解决方案吗?你能帮忙解决一下吗?

2 个答案:

答案 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