注册页面错误


Signup page error

我是PHP新手,在尝试创建注册页面时遇到了这个错误。

注意:未定义的索引:C:''examplep''htdocs''phptest''index.php中第7行的注释

这是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>

我可以知道哪一部分错了吗?一切都运行得很好,但注册页面界面会弹出错误消息。我该如何删除它,还是我的代码有问题?

这是因为您的$_GET数组没有任何带有备注键的值。

我看到了你的表格,没有看到任何使用这个名字的输入。我想您正在向它传递一个querystring变量(yourfile.php?comments=value)

为了避免警告,您应该在之前测试备注是否在$_GET

$remarks=isset($_GET['remarks'])?$_GET['remarks']:"";

在从请求中获取任何数据之前,您应该使用isset()

所以你的代码应该是

$remarks=(isset($_GET['remarks']))?$_GET['remarks']:"";

一切都将保持原样。

尝试类似的东西

<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>

当您的页面加载时,它没有任何Get参数,这就是未定义索引的意思,Get['remarks']没有声明为

你可以试试这样的

<?php
    if (!isset($_GET['remarks']) && $remarks=="")
    {
    echo 'Register Here';
    }
    else if($_GET['remarks']=='success')
    {
    echo 'Registration Success';
    }
?>  

试试这个代码。

 <?php 
        $remarks=isset($_GET['remarks'])?$_GET['remarks']:"";
        if ($remarks==null and $remarks=="")
        {
        echo 'Register Here';
        }
        if ($remarks=='success')
        {
        echo 'Registration Success';
        }
        ?>