需要注册表单的PHP HTML帮助吗

需要注册表单的PHP HTML帮助吗,php,html,forms,registration,Php,Html,Forms,Registration,下面是我计划在我的网站注册表单中使用的一些代码 <?php session_start(); include ("includes/config.php"); if ($Authenticated == False) { ?> <div id="register"> <form action="index.php?page=register" method="post"> <lable id="re

下面是我计划在我的网站注册表单中使用的一些代码

<?php
session_start();
include ("includes/config.php");
if ($Authenticated == False) {
    ?>
    <div id="register">
        <form action="index.php?page=register" method="post">
            <lable id="registerStuff"> Name: </>
                <input id="registerIn" type='text' name='name' maxlength="20" />
                <br/>
                <lable id="registerStuff"> Surname: </>
                    <input id="registerIn" type='text' name='surname' maxlength="20" />
                    <br/>
                    <lable id="registerStuff"> Username: </>
                        <input id="registerIn" type='text' name='username' maxlength="20" />
                        <br/>
                        <lable id="registerStuff"> Password: </>
                            <input id="registerIn" type='password' name='password' maxlength="20" />
                            <br/>
                            <lable id="registerStuff"> Retype Password: </>
                                <input id="registerIn" type='password' name='passwordcheck' maxlength="20" />
                                <br/>
                                <input type='submit' value='Register'>
                                <br/>
                                </form>
                                </div>
                                <?php
                                $name = mysql_real_escape_string($_POST['name']);
                                $surname = mysql_real_escape_string($_POST['surname']);
                                $username = mysql_real_escape_string($_POST['username']);
                                $password = mysql_real_escape_string(md5($_POST['password']));
                                $passwordcheck = mysql_real_escape_string(md5($_POST['passwordcheck']));
                                if ($username OR $password OR $passwordcheck != null) {
                                    if ($password == $passwordcheck) {
                                        $query = "INSERT INTO users (name, surname, username, password) VALUES ('" . $name . "', '" . $surname . "', '" . $username . "', '" . $password . "')";
                                        $result = mysql_query($query);
                                        if (!$result) {
                                            echo "Username wrong";
                                        }
                                    } else {
                                        echo "passwords didnt match";
                                    }
                                }
                            }
                            if ($Authenticated == True) {
                                header("Location: index.php");
                            }
                            ?>

姓名:

姓:
用户名:
密码:
重新键入密码:


我想你犯了一个很常见的错误。大多数初学者似乎希望编写尽可能少的代码。但是,在这种情况下,这不起作用。您必须检查每个变量是否为空

当您更改if构造时,您的代码将是正确的:

if ($username != "" AND $password != "" AND $passwordcheck != "") {

}
但是,为了使代码看起来更简洁,最好只使用函数
empty()
,该函数在变量为空时返回TRUE

if (!empty($username) AND !empty($password) AND !empty($passwordcheck)) {

}

我想你犯了一个很常见的错误。大多数初学者似乎希望编写尽可能少的代码。但是,在这种情况下,这不起作用。您必须检查每个变量是否为空

当您更改if构造时,您的代码将是正确的:

if ($username != "" AND $password != "" AND $passwordcheck != "") {

}
但是,为了使代码看起来更简洁,最好只使用函数
empty()
,该函数在变量为空时返回TRUE

if (!empty($username) AND !empty($password) AND !empty($passwordcheck)) {

}

这里有非常有趣的代码。我建议,在要求这里的人编写你一半以上的脚本之前,谷歌“PHP登录脚本”是第一个结果,也是你问题的答案

$sql="SELECT * FROM $tbl_name 
     WHERE username='$myusername' AND password='$mypassword'";
$result=mysql_query($sql);

话虽如此,这是不正确的做法,你应该仔细研究准备好的陈述。既然您刚开始,您可能应该从安全思维开始。

这里有非常有趣的代码。我建议,在要求这里的人编写你一半以上的脚本之前,谷歌“PHP登录脚本”是第一个结果,也是你问题的答案

$sql="SELECT * FROM $tbl_name 
     WHERE username='$myusername' AND password='$mypassword'";
$result=mysql_query($sql);

话虽如此,这是不正确的做法,你应该仔细研究准备好的陈述。既然你刚开始,你可能应该从安全的心态开始。

谢谢,我会继续阅读和研究,但只是出于兴趣,为什么这是不正确的方式?不安全吗?根本不安全。让您的站点为SQL注入打开。如果我在中添加了这个$myusername=stripslashes($myusername)$mypassword=stripslashes($mypassword)$myusername=mysql\u real\u escape\u字符串($myusername)$mypassword=mysql\u real\u escape\u字符串($mypassword)$name=stripslashes(mysql_real_escape_string($_POST['name']);这样更安全吗?这里有一个很好的问题可以回答你的问题:谢谢,我会继续阅读和研究,但只是出于兴趣,为什么这样做不正确?不安全吗?根本不安全。让您的站点为SQL注入打开。如果我在中添加了这个$myusername=stripslashes($myusername)$mypassword=stripslashes($mypassword)$myusername=mysql\u real\u escape\u字符串($myusername)$mypassword=mysql\u real\u escape\u字符串($mypassword)$name=stripslashes(mysql_real_escape_string($_POST['name']);这样更安全吗?这里有一个很好的问题可以回答你的问题:谢谢,这是可行的,但是我的整个系统是坏的/不安全的吗?谢谢,这是可行的,但是我的整个系统是坏的/不安全的吗?