从html表单输入数据创建会话变量

时间:2017-03-26 17:45:42

标签: php html

我在页面a.php上有一个带有php代码的表单,该表单应将表单中的数据设置为php个会话变量,但是我无法使其正常工作。我在每个页面的开头都有 session_start(); 我想要这样做,但它位于html的顶部,这就是为什么它不在这篇文章中。

以下是代码:

<form class="form1" method="post" action="" id="form1">
    <div class="form-group add_to_cart_prompt">
        <span class="">Add something to cart</span>
    </div>
    <div class="form-group">
        <input type="text" name="sticker" class="form_sticker_name" value="something">
        <label class="quantity_desc" for="quantity" title="how much?">Quantity</label>
        <input class="btn btn-default quantity_input" type="number" id="quantity" name="quantity" placeholder="how much ?" min="0" required>
    </div>
    <div class="form-group bottom_buttons">
        <button type="submit" name="submit" class="btn btn-default add_yes">Add to cart</button>
        <button type="reset" class="btn btn-default">Clear</button>
        <button type="button" class="btn btn-default add_no">Close</button>
    </div>
</form>
正在执行表单的

PHP与表单在同一页面上:

<?php
    if (isset($_POST['submit'])) {
       if (isset($_POST['sticker'])) {
            $sticker_name = $_POST['sticker'];
            $_SESSION['sess_sticker'] = $sticker_name;
        }
    }
?> 

我可以将会话变量设置为某些string,这样就行了,但是当我尝试从表单中放入数据时,它会给我这个错误:

  

注意:未定义的索引:贴纸   第99行的B:\ Programs \ xampp \ htdocs \ D2S \ shopping_cart.php

我已经查找了如何修复错误,并且已经尝试了很多并且无法修复它。感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

在PHP中,从未设置过的变量或数组元素与值为null的变量或数组元素不同。尝试访问此类未设置值是运行时错误。

你正在遇到的是:数组$ _POST在索引处没有任何元素&#34;贴纸&#34;,所以解释器在你的程序进入之前就中止你的程序无效性测试。

您可以测试变量或数组元素的存在,而无需实际尝试访问它;这是特殊运营商所做的事情:

if (isset($_POST['sticker'])) {
   //do something
}

此外,我已经在我的机器上测试了您的表单代码,它似乎工作正常,并且使用表单数据设置了会话变量。