我是PHP的新手,在尝试创建注册页面时出现此错误。
注意:未定义的索引:第7行的C:\ xampp \ htdocs \ phptest \ index.php中的备注
这是index.php的代码
<form name="reg" action="code_exec.php" onsubmit="return validateForm()" method="post">
<table width="274" border="0" align="center" cellpadding="2" cellspacing="0">
<tr>
<td colspan="2">
<div align="center">
<?php
$remarks=$_GET['remarks'];
if ($remarks==null and $remarks=="")
{
echo 'Register Here';
}
if ($remarks=='success')
{
echo 'Registration Success';
}
?>
</div></td>
</tr>
<tr>
<td width="95"><div align="right">First Name:</div></td>
<td width="171"><input type="text" name="fname" /></td>
</tr>
<tr>
<td><div align="right">Last Name:</div></td>
<td><input type="text" name="lname" /></td>
</tr>
<tr>
<td><div align="right">Gender:</div></td>
<td><input type="text" name="mname" /></td>
</tr>
<tr>
<td><div align="right">Address:</div></td>
<td><input type="text" name="address" /></td>
</tr>
<tr>
<td><div align="right">Contact No.:</div></td>
<td><input type="text" name="contact" /></td>
</tr>
<tr>
<td><div align="right">Picture:</div></td>
<td><input type="text" name="pic" /></td>
</tr>
<tr>
<td><div align="right">Username:</div></td>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<td><div align="right">Password:</div></td>
<td><input type="text" name="password" /></td>
</tr>
<tr>
<td><div align="right"></div></td>
<td><input name="submit" type="submit" value="Submit" /></td>
</tr>
</table>
</form>
我可以知道哪一部分错了吗?一切都运行良好,但错误消息在注册页面界面中弹出。如何删除它或我的代码有问题?
答案 0 :(得分:0)
这是因为您的$_GET
数组与备注键没有任何关系。
我看到你的表单了,我看不到有这个名字的任何输入。我想你传递的是一个查询字符串变量(yourfile.php?remarks = value)
要避免出现警告,您应该先测试备注是否在$_GET
$remarks=isset($_GET['remarks'])?$_GET['remarks']:"";
答案 1 :(得分:0)
在从请求中获取任何数据之前,您应该使用isset()
。
所以你的代码应该是
$remarks=(isset($_GET['remarks']))?$_GET['remarks']:"";
一切都将保持不变。
答案 2 :(得分:0)
尝试这样的事情
<form name="reg" action="code_exec.php" onsubmit="return validateForm()" method="post">
<table width="274" border="0" align="center" cellpadding="2" cellspacing="0">
<tr>
<td colspan="2">
<div align="center">
<?php
if (!isset($_GET['remarks']))
{
echo 'Register Here';
}
if ($remarks=='success')
{
echo 'Registration Success';
}
?>
</div></td>
</tr>
<tr>
<td width="95"><div align="right">First Name:</div></td>
<td width="171"><input type="text" name="fname" /></td>
</tr>
<tr>
<td><div align="right">Last Name:</div></td>
<td><input type="text" name="lname" /></td>
</tr>
<tr>
<td><div align="right">Gender:</div></td>
<td><input type="text" name="mname" /></td>
</tr>
<tr>
<td><div align="right">Address:</div></td>
<td><input type="text" name="address" /></td>
</tr>
<tr>
<td><div align="right">Contact No.:</div></td>
<td><input type="text" name="contact" /></td>
</tr>
<tr>
<td><div align="right">Picture:</div></td>
<td><input type="text" name="pic" /></td>
</tr>
<tr>
<td><div align="right">Username:</div></td>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<td><div align="right">Password:</div></td>
<td><input type="text" name="password" /></td>
</tr>
<tr>
<td><div align="right"></div></td>
<td><input name="submit" type="submit" value="Submit" /></td>
</tr>
</table>
</form>
答案 3 :(得分:0)
当您的网页加载时,它没有任何Get参数,而未定义索引意味着,GET ['remarks']未声明
你可以尝试这样的事情
<?php
if (!isset($_GET['remarks']) && $remarks=="")
{
echo 'Register Here';
}
else if($_GET['remarks']=='success')
{
echo 'Registration Success';
}
?>
答案 4 :(得分:0)
试试这段代码。
<?php
$remarks=isset($_GET['remarks'])?$_GET['remarks']:"";
if ($remarks==null and $remarks=="")
{
echo 'Register Here';
}
if ($remarks=='success')
{
echo 'Registration Success';
}
?>