当error_reporting(E_ALL);
开启时,我有以下通知示例
Notice: Undefined index: name in /home/user/public_html/directory/subdirectory/test.php on line 111
Notice: Undefined index: identity in /home/user/public_html/directory/subdirectory/test.php on line 116
如果我想在用户提交表单后使用session
在文本字段中保存用户输入的数据,请在每个表单字段中。
我当前代码的示例如下:
GetSQLValueString($_POST['name'], "text"),
GetSQLValueString($_POST['identity'], "text")
<?php $_SESSION['form'] = $_POST; ?>
<form action="<?php echo $editFormAction; ?>" method="post" name="userform" id="userform">
<input name="name" type="text" id="name" value="<?= $_SESSION['form']['name']; ?>" size="25" />
<input name="identity" type="text" id="identity" value="<?= $_SESSION['form']['identity']; ?>" size="25" />
and so on.............
有什么想法吗?
答案 0 :(得分:1)
$_SESSION['form']['name'];
和$_SESSION['form']['identity'];
未定义
设置它们以修复警告:
$_SESSION['form']['name'] = '';
$_SESSION['form']['identity'] = '';
答案 1 :(得分:0)
首先身份未定义 如果您要将 indentity 更改为 identity1 (或其他内容),那么它将完美运行 要显示,您必须使用 echo
<form action="<?php echo $editFormAction; ?>" method="post" name="userform" id="userform">
<input name="name" type="text" id="name" value="<?php echo $_SESSION['form']['name']; ?>" size="25" />
<input name="identity1" type="text" id="name" value="<?php echo $_SESSION['form']['identity1']; ?>" size="25" />
除此之外,每件事情都很好
答案 2 :(得分:0)
附注:您为输入提供了相同的名称。
<input name="name">
<input name="name">
如果您的用户提交了这个,那么您将无法获得&#34;身份&#34; $ _POST数组中的字段。
然而,注意 -s并不重要。他们会通知你有关可能问题的内容,但是如果你想避免这种通知,你必须在引用之前检查每个数组元素 - 这是很多额外的无所事事。所以这次你可以忘记你的通知,他们只是警告你:
GetSQLValueString($_POST['name'], "text"),
GetSQLValueString($_POST['identity'], "text")
...因为POST第一次没有任何字段。这很自然。您应该依靠空值,但空值不是问题。在很多情况下,您将访问不存在的数组元素并且它很精细。
通知就像你母亲警告你那里感冒一样。