首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$_POST['SUBMIT']

$_POST['SUBMIT']
EN

Stack Overflow用户
提问于 2016-03-26 13:33:41
回答 3查看 113关注 0票数 0

我不知道问题出在哪里,你能帮我吗?我不能调试这个。我试着在任何地方放一个回声,看看问题出在哪里,它停在了if(isset($_POST['SUBMIT'])) {

下面是整个php:

代码语言:javascript
复制
<?php
$conn = mysqli_connect($IP, "pavip", "", "c9") or die("Kapcsolatot nem sikerult letrehozni!");

$error = "Here's the problem: ";
$err = false;
$name = $_POST['name'];
$password = $_POST['pass'];
$email = $_POST['email'];

if(isset($_POST['SUBMIT'])) {
    echo $name;
    if(isset($_POST['email'])){
        if($_POST['name'] != "") {
            if($_POST['pass'] == $_POST['pass2'] AND strlen($_POST['pass']) < 6) {
                if($_POST['email'] != "") {

                    $name = $_POST['name'];
                    $password = $_POST['pass'];
                    $email = $_POST['email'];

                    $sql = "INSERT INTO user (username, password, email)
                    VALUES ('$name, '$password','$email)";
                }else {
                    $error .= "No email";
                    $err = true;
                }
            }else {
                $error .= "Password too short or wrong ujrairas ";
                $err = true;
            }
        }else {
            $error .= "No name ";
            $err = true;
        }
    }else {

    }
}
if($err == true){ echo '<script type="text/javascript">alert("' . $error . '"); </script>';}
?>

这是我做的表格:

代码语言:javascript
复制
<form action="index.php" method="Post" class="register">
                <input type="text" name="name" placeholder="Name(Can be nick!)">
                <input type="pasword" name="pass" placeholder="Password">
                <input type="password" name="pass2" placeholder="Password again">
                <input type="text" name="email" placeholder="Email address">
                <input type="submit" value="Register">
            </form>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-03-26 13:56:50

首先,找不到$_POST['SUBMIT'],因为您的表单没有name属性。

您需要指定它:

代码语言:javascript
复制
<input name="SUBMIT" type="submit" value="Register"/>

第二,你会在'$email错过一个单引号

代码语言:javascript
复制
$sql = "INSERT INTO user (username, password, email)
                VALUES ('$name, '$password','$email')";

第三,要防止使用MySQL注入mysqli_real_escape_string

代码语言:javascript
复制
$name = mysqli_real_escape_string($conn, $_POST['name']);
$password = mysqli_real_escape_string($conn, $_POST['pass']);
$email = mysqli_real_escape_string($conn, $_POST['email']);

第四,可以考虑使用empty()检查空字段,例如:

代码语言:javascript
复制
if(!empty($_POST['name'])) {
票数 0
EN

Stack Overflow用户

发布于 2016-03-26 13:48:18

请看一下,你没有输入name=“提交”在你的任何地方在你的HTML。

改变你的:

代码语言:javascript
复制
<input type="submit" value="Register">

代码语言:javascript
复制
<input type="submit" value="Register" name="SUBMIT" />

希望这能有所帮助!

票数 0
EN

Stack Overflow用户

发布于 2016-03-26 13:41:38

如果要以这种方式使用,则没有名为" submit“的提交按钮,至少需要添加

代码语言:javascript
复制
<input type="submit" name="SUBMIT">

最好直接将提交路由到不同的控制器函数,以注意您也可以使用if($_POST) afaik。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36235899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档