表单完成后设置会话

时间:2014-07-21 14:30:53

标签: php session perch

我正在使用Perch CMS添加一个只有2个单选按钮的表单,并尝试通过查找成功代码<!--@@^^res@@^^-->来阻止它在会话期间提交一次后重新提交表单的选项

我的会话开始高于所有其他代码,也高于我,但无法使其正常工作。

我的代码如下所示,在我的脑海中说如果会话等于提交,那么成功代码就在那里,因此不会显示内容,但是如果没有会话集,则成功代码不存在,因此需要要显示的内容。提交表单并输出成功代码后,将创建提交的会话......

<?php if (isset($_SESSION['survey']) == 'submitted')
echo (strpos($content,'<!--@@^^res@@^^-->')!=false);
 else {
        $content = perch_content('Survey',true);
    echo str_replace('<!--@@^^res@@^^-->','',$content);

    if (strpos($content,'<!--@@^^res@@^^-->')!=true) {
        $_SESSION['survey'] = 'submitted'; 
    };
 };
    ?>

我注意到这在加载时起作用,因为我在那里得到了表单但是当我更改页面时它会在填写表单后消失。

尝试使用谷歌搜索,但无法在我出错的地方找到我的头,任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:0)

感谢CBroe的帮助,告诉我strpos永远无法返回true我已经做了一些麻烦并阅读strpos并发现以下代码有效......

<?php if (isset($_SESSION['survey']) == 'submitted')
echo (strpos($content,'<!--@@^^res@@^^-->')!=true);
 else {
        $content = perch_content('Survey',true);
    echo str_replace('<!--@@^^res@@^^-->','',$content);

    if (strpos($content,'<!--@@^^res@@^^-->')!==false) {
        $_SESSION['survey'] = 'submitted'; 
    };
 };
    ?>

现在要做的就是在会话激活时停止在区域中显示1