所以我环顾四周,试图找到有类似问题但找不到我想要的东西的人。我正在创建一个注册页面来学习一些基本的 PHP,起初我收到错误“通知:未定义的索引”,但我通过使用“isset();”解决了这个问题。但这给了我另一个问题,
注意:不让我发布图片抱歉。
http://img571.imageshack.us/img571/9176/h0nx.png
注意:我有它,以便在您单击提交并收到错误后,它会重新发布值,这样您就不必重新输入所有内容。
isset 使得提交后框的值等于 1(真)。
问题更深了:
if ($submit) {
if ($fullname && $username && $password && $repeatedpassword && $email) {
//encrypt passwords
$password = md5($password);
$repeatedpassword = md5($repeatedpassword);
if($password!=$repeatedpassword) {
echo "Your passwords didn't match.";
if(strlen($password)<6){
echo "Your password must be atleast six characters long.";
}else{
//FINISH UP
}
}else{
echo "Please fill in all fields.";
}
}
}
如果您查看图片,您会看到上面写着“请填写所有字段”。即使所有内容都已填写,所以我的 if 语句有问题。
由于 isset(); 我需要找到一种更好的方法来摆脱未定义索引错误。在输入字段中返回值 1 并且我需要您的帮助来找出我的 if 语句失败的原因。
第一次在这里发帖,描述性不够,谢谢。
编辑:
$submit = isset($_POST['submit']);
$fullname = strip_tags(isset($_POST['fullname']));
$username = strip_tags(isset($_POST['username']));
$password = strip_tags(isset($_POST['password']));
$repeatedpassword = strip_tags(isset($_POST['repeatedpassword']));
$email = strip_tags(isset($_POST['email']));
$date = date("Y-m-d");
<table>
<tr>
<td>
Your full name:
</td>
<td>
<input maxlength='100' type='text' name='fullname' value='<?php echo $fullname?>'>
</td>
</tr>
<tr>
<td>
Desired username:
</td>
<td>
<input maxlength='100' type='text' name='username' value='<?php echo $username?>'>
</td>
</tr>
<tr>
<td>
Desired password:
</td>
<td>
<input maxlength='100' type='password' name='password' value='<?php echo $password?>'>
</td>
</tr>
<tr>
<td>
Repeat password:
</td>
<td>
<input maxlength='100' type='password' name='repeatedpassword' value='<?php echo $repeatedpassword?>'>
</td>
</tr>
<tr>
<td>
Your email adress:
</td>
<td>
<input maxlength='100' type='text' name='email' value='<?php echo $email?>'>
</td>
</tr>
</table>