【问题标题】:Undefined index: when variables declared [closed]未定义的索引:当变量声明时[关闭]
【发布时间】:2012-04-09 05:45:26
【问题描述】:

我查看了其他具有相同错误的帖子,但是对于我所做的每个表单,我都会收到此错误,其中变量是用户输入。我必须创建一个 2 页的流程注册表单,任何人都可以看到我出错了谢谢:

 // Connection to server
 $db_host = "localhost";
 $db_username = "root";
 $db_pass = "password";
 $db_name = "members";
@mysql_connect ("$db_host","$db_username","$db_pass") or die ("Could not            connect to mysql");
@mysql_select_db("$db_name") or die ("No Database");

 //Variables
 $Username = $_POST['Username'];
 $password = md5 ($_POST['password']);
 $insert = 'INSERT into Members(Username, password,) VALUES ("'.$Username.'", "'        .$password.'")';

mysql_query($insert);

 ?>

And the form:
<body>
<form method= "post" action="reg.php">
 <table width="200" border="1">
  <tr>
 <td>Username</td>
<td><input type="text" name="Username" /></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name"password" /></td>
</tr>
 <tr>
<td>&nbsp;</td>
<td><input type="submit" name"submit" value="Submit" /></td>
</tr>

</table>

有人告诉我使用 isset 函数,我这样做确实说变量确实存在。

【问题讨论】:

  • 可怕的问题,因为: 1. 您使用@ 来消除错误。 2.您没有添加确切的错误。 3. 您的脚本易受 SQLi 攻击。 4. 你说你有isset(),但你没有。 5.你用的md5()已经坏了很久了。
  • 有人说它很糟糕,但实际上它只是 PHP 本身。我想知道我是否看到任何其他代码。
  • @YourCommonSense 好 php 是一个可怕的标签,你知道 ;-)
  • 抱歉,上周四开始使用 php,所以要掌握,我所知道的只是通过教程和指南。错误在于 $password。
  • 错误信息是什么意思?

标签: php forms undefined-index


【解决方案1】:

您在这里缺少一个“=”:

<td><input type="password" name"password" /></td>

应该是:

<td><input type="password" name="password" /></td>

【讨论】:

  • 好的,刚刚排序,但仍然收到错误
  • 确切的错误信息是什么?它会告诉你问题出在哪一行。那条线上是什么?
【解决方案2】:

中运行您的 PHP 部分
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
... 
}

【讨论】:

    猜你喜欢
    • 2015-01-14
    • 2020-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 2019-12-04
    • 1970-01-01
    • 2013-03-24
    相关资源
    最近更新 更多