Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MSQL插入引导表单_Php_Mysql_Twitter Bootstrap - Fatal编程技术网

Php MSQL插入引导表单

Php MSQL插入引导表单,php,mysql,twitter-bootstrap,Php,Mysql,Twitter Bootstrap,我一直在寻找搜索的答案,但没有找到。以下是事实 我可以连接到数据库 我的数据库已正确设置为可接收 我的表格如下所示,似乎一切正常 我的所有位置都是正确的,例如注册后将用户发送到哪里等 $link是另一个文件上的连接 问题1:我无法将数据插入数据库 问题2:如果可能的话,我想知道如何设置密码 而且数据的插入更加安全,因为我被告知这是不安全的 这样做的正确方法。问题出在哪里?我不知道从哪里开始 为了学习正确的安全技术,如果可能的话,我愿意 支付服务费用只是为了确保连接安全 我希望我没有违反规则,如果

我一直在寻找搜索的答案,但没有找到。以下是事实

  • 我可以连接到数据库
  • 我的数据库已正确设置为可接收
  • 我的表格如下所示,似乎一切正常
  • 我的所有位置都是正确的,例如注册后将用户发送到哪里等
  • $link
    是另一个文件上的连接
  • 问题1:我无法将数据插入数据库

    问题2:如果可能的话,我想知道如何设置密码 而且数据的
    插入
    更加安全,因为我被告知这是不安全的 这样做的正确方法。问题出在哪里?我不知道从哪里开始 为了学习正确的安全技术,如果可能的话,我愿意 支付服务费用只是为了确保连接安全

    我希望我没有违反规则,如果我违反了规则,我只要求你给我指出正确的方向。我已经试着编写代码一段时间了,但在夏威夷很难,因为只有非常有限的编码人员来指导我,这是一种轻描淡写的说法。我目前在Treehouse和Udemy上,但到目前为止没有运气。下面的代码来自Udemy,我只是通过尝试和错误添加了验证。多谢各位

    引导形式,仅因长度而开始和结束:

    <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
    
    <button type="submit" class="btn btn-primary" value="register">Register</button>
    
    
    
    <?php
    
        session_start();     
            if(isset($_GET['logout'], $_SESSION['id']) && $_GET['logout'] == 1) {
            // if both get logout and session id does exists and logout is equal to 1
            session_destroy();
            header('Location: ../logout.php');
    }
    
        include 'core/connection.php';
        $error = "";
        if (isset($_POST['submit']) && ($_POST['submit']==="register")) {   
            if (!$_POST['first_name']) $error.="<br />Please enter your first name";
                else {          
                    if (!preg_match("/^[- '\p{L}]+$/u", $_POST['first_name'])) $error.="<br />First name may only contain letters";         
                }
            if (!$_POST['last_name']) $error.="<br />Please enter your last name";
                else {          
                    if (!preg_match("/^[- '\p{L}]+$/u", $_POST['last_name'])) $error.="<br />Last name may only contain letters";           
                }
            if (!$_POST['email']) $error.="<br />Please enter your email";
                else if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) $error.="<br />Please enter a valid email address";   
    
            if ($_POST['email'] !== $_POST['confirm_email']) $error.="<br />Your email addresses do not match.";
    
            if (!$_POST['password']) $error.="<br />Please enter your password";
                else {          
                    if (strlen($_POST['password'])<8) $error.="<br />Please enter a password with at least 8 characters";
                    if (!preg_match('`[A-Z]`', $_POST['password'])) $error.="<br />Please enter at least 1 capital letter";         
                }
            if ($_POST['password'] !== $_POST['confirmPassword']) $error.="<br />Your passwords do not match.";
    
            if (!$_POST['dob_month']) $error.="<br />Invalid date of birth (month)";
            if (!$_POST['dob_day']) $error.="<br />Invalid date of birth (day)";
            if (!$_POST['dob_year']) $error.="<br />Invalid date of birth (year)";
            if (!$_POST['gender']) $error.="<br />Please select your gender";
            if (!$_POST['state']) $error.="<br />Please select your country and state"; 
    
                if ($error) $error = "<strong>There were error(s) in your registration:</strong><br />".$error;
    
    
                else {
    
    
                    $query = "SELECT * FROM `registered_users` WHERE email='".mysqli_real_escape_string($link, $_POST['email'])."'";
                    $result = mysqli_query($link, $query);
                    $results = mysqli_num_rows($result);
                    if ($results) $error = "That email address is already registered";
    
    
                    else {
    
    
                        $query = "INSERT INTO `registered_users` (`first_name`, `last_name`,`email`, `password`, `dob_month`, `dob_day`, `dob_year`, `gender`, `country`, `state`)"
               . " VALUES('".mysqli_real_escape_string($link, $_POST['first_name'])."','".mysqli_real_escape_string($link, $_POST['last_name'])."','".mysqli_real_escape_string($link, $_POST['email'])."', '".md5(md5($_POST['email']).$_POST['password'])."','".mysqli_real_escape_string($link, $_POST['dob_month'])."','".mysqli_real_escape_string($link, $_POST['dob_day'])."','".mysqli_real_escape_string($link, $_POST['dob_year'])."', '".mysqli_real_escape_string($link, $_POST['gender'])."', '".mysqli_real_escape_string($link, $_POST['country'])."','".mysqli_real_escape_string($link, $_POST['state'])."')";
                        mysqli_query($link, $query);
                        $_SESSION['id'] = mysqli_insert_id($link); 
                        header("Location: user_dashboard.php");
                    }
                }
            }
    
        $loginerror = "";
        if (isset($_POST['submit']) && ($_POST['submit']==="Sign In")) {    
            $query="SELECT * FROM `registered_users` WHERE email='".mysqli_real_escape_string($link, $_POST['loginemail'])."' AND password='".md5(md5($_POST['loginemail']).$_POST['loginpassword'])."' LIMIT 1";
            $result = mysqli_query($link, $query);
            $row = mysqli_fetch_array($result);
            if ($row) {
                $_SESSION['id']=$row['id'];            
                    header("Location:user_dashboard.php");
                } else {
                    $loginerror = "We could not find a user with that email and password. Please try again.";            
                }
            }   
    
    ?>
    

    注册表中添加
    name='submit'

    应该是这样的

    <button type="submit" name='submit' class="btn btn-primary" value="register">Register</button>
    
    寄存器
    
    Add
    name=“submit”
    Register
    中使用准备好的语句以及PASSWORD\u HASH()函数加密密码。如果你愿意,我可以为你重写一个示例代码,请做。请同时查看下面的评论,注册按钮是相同的,但单击后它会重新加载。我可以给你发一些文件。让我知道你想要什么作为回报。我做到了。我第一次试着把它贴出来,但没有成功。当我按下注册按钮时,页面就会刷新。