PHP会话变量未存储

时间:2019-12-19 13:39:48

标签: php session

我的会话变量未存储。

我尝试了诸如var_dumpprint_r之类的许多事情,并且我的变量打印得很好,但没有存储。

这是我的代码:

<?php
session_start();
require "header.php";
?>

    <form action="../Views/index.php?page=createSecteur" method="post">
        <div class="form-group">
            <label for="libelle">Libelle : </label>
            <input type="text" name="libelle" class="form-control" id="libelle" required value="<?php echo isset($_SESSION['libelle']) ? $_SESSION['libelle'] : "" ?>">
        </div>
        <button type="submit" class="btn btn-default" name="insert_secteur" id="insert_secteur">Insert secteur</button>
    </form>

<?php
if (isset($_POST['insert_secteur'])) {
    $_SESSION['libelle'] = $_POST['libelle'];
}
require "footer.php";
?>

更新: 我的$ _POST ['libelle']给了我一个错误“未定义的索引”

3 个答案:

答案 0 :(得分:0)

如果您删除操作网址(如果您发布到同一页面),它将起作用:

<?php
    session_start();
    require "header.php";
    ?>

        <form action="" method="post">
            <div class="form-group">
                <label for="libelle">Libelle : </label>
                <input type="text" name="libelle" class="form-control" id="libelle" required value="<?php echo isset($_SESSION['libelle']) ? $_SESSION['libelle'] : "" ?>">
            </div>
            <button type="submit" class="btn btn-default" name="insert_secteur" id="insert_secteur">Insert secteur</button>
        </form>

    <?php
    if (isset($_POST['libelle'])) {
        $_SESSION['libelle'] = $_POST['libelle'];
    }


    echo $_SESSION['libelle'];
    require "footer.php";
?>

如果您发布到其他页面,则必须在其他页面上执行发布。

但是,如果您需要知道发送了特定的表格,则可以执行以下操作: 通过使用键名保存隐藏的输入

<?php
    session_start();
    require "header.php";
    ?>

        <form action="" method="post">
            <div class="form-group">
                <label for="libelle">Libelle : </label>
                <input type="text" name="libelle" class="form-control" id="libelle" required value="<?php echo isset($_SESSION['libelle']) ? $_SESSION['libelle'] : "" ?>">
                <input type="hidden" name="source" value="createSecteur"/>
            </div>
            <button type="submit" class="btn btn-default" name="insert_secteur" id="insert_secteur">Insert secteur</button>
        </form>

    <?php
    if($_SERVER["REQUEST_METHOD"] == "POST"){
        if (empty($_POST["source"])){$source = null;}else{$source = htmlentities($_POST['source'], ENT_QUOTES, "UTF-8");}

        if($source=='createSecteur'){
            if (isset($_POST['libelle'])) {

                $_SESSION['libelle'] = $_POST['libelle'];
            }
        }
    }


    echo $_SESSION['libelle'];
    require "footer.php";
?>

答案 1 :(得分:0)

尝试检查>>> geodict = { "type": "Feature", "geometry": { "type": "Point" } } >>> update_geodict(geodict, 'jeff') {'geometry': {'coordinates': ['25.0', '19.3'], 'type': 'Point'}, 'properties': {'place_name': 'Florida'}, 'type': 'Feature'}, 是否也存在。
另外,尝试通过清空表单的$_POST['libelle']来发布到同一页面。
空白时,该页面将自动为同一页面。

action

答案 2 :(得分:-1)

尝试为会话变量和发布变量使用其他名称。