Php 提交表单后未设置isset($#U POST[';提交';])
我是php新手,正在尝试使用表单将用户注册到数据库 这是表单的代码(使用引导框架): 非常感谢您的帮助 编辑:谢谢大家!这是psword之后的第二个版本。而且我知道代码不安全。我刚开始使用php,所以这不是我现在的首要任务Php 提交表单后未设置isset($#U POST[';提交';]),php,html,mysql,Php,Html,Mysql,我是php新手,正在尝试使用表单将用户注册到数据库 这是表单的代码(使用引导框架): 非常感谢您的帮助 编辑:谢谢大家!这是psword之后的第二个版本。而且我知道代码不安全。我刚开始使用php,所以这不是我现在的首要任务 $q = "INSERT INTO users (user_id, cname, psword ) VALUES (' ', '$Customername', '$pwd')"; 从psword中删除逗号。在我的本地数据库中测试了您的代码,运行正常。您的查询中有一
$q = "INSERT INTO users (user_id, cname, psword ) VALUES (' ', '$Customername', '$pwd')";
从
psword
中删除逗号。在我的本地数据库中测试了您的代码,运行正常。您的查询中有一个错误:
以下声明:
$q = "INSERT INTO users (user_id, cname, psword, ) VALUES (' ', '$Customername', '$pwd')";
应该是:
$q = "INSERT INTO users (user_id, cname, psword) VALUES (' ', '$Customername', '$pwd')";
还有一个逗号将导致查询失败并导致错误
其次,您应该检查
Customername
和pwd
if(isset($_POST['Customername']) && isset($_POST['pwd'])) {
替换
Reserve
借
psword后加逗号
INSERT INTO users (cname, psword, ) VALUES ('{$Customername}', '{$pwd}')
你应该删除UsRyID,因为它已经是自动的i/p>你的代码看起来不错。考虑添加“ECHO”测试;“在ISStand条件之后。return?。另外,请注意,sql注入攻击正在进行中。请使用准备好的语句。也不要将密码保存在纯文本中。是否可以删除if()语句的所有内容,然后只回显一些内容?只是为了确保您没有在查询中真正输入if语句错误
$q=“INSERT INTO users”(user_id,cname,psword,)值(“'$Customername','$pwd')”;“
psword`问题在这里(psword,)
你是怎么测试代码的?而且这很容易受到sql注入攻击。另外,OP说的是if isset条件从未执行过。我将它与我的本地数据库连接。post工作正常。我刚刚删除了逗号,数据按应该的方式插入了我的测试数据库。他为什么要更改按钮?按钮似乎很好。更改的原因是什么?。此外,您可能希望添加此代码是vulnerable@Akintunde,因为“isset($\u POST['submit'])”-按钮没有值,因此不会被“设置”当然,这并不是表单的全部问题——不像根本不检查是否有实际的名称或密码值,或者在将它们输入数据库之前对它们进行清理……你怎么知道它是自动递增的,因为你把它留空并更新你的Php版本,然后使用mysqlih这个@
$q = "INSERT INTO users (user_id, cname, psword, ) VALUES (' ', '$Customername', '$pwd')";
$q = "INSERT INTO users (user_id, cname, psword) VALUES (' ', '$Customername', '$pwd')";
if(isset($_POST['Customername']) && isset($_POST['pwd'])) {
<input type="submit" name ="submit" class="btn btn-primary" value="Reserve">
$q = "INSERT INTO users (user_id, cname, psword, ) VALUES (' ', '$Customername', '$pwd')";
INSERT INTO users (cname, psword, ) VALUES ('{$Customername}', '{$pwd}')