首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有php和mysql的注册页面不起作用

问带有php和mysql的注册页面不起作用
EN

Stack Overflow用户
提问于 2015-04-21 13:34:37
回答 2查看 51关注 0票数 1

试图创建一个注册页面,将新用户添加到带有php的数据库中,但我似乎无法获得要添加到数据库中的信息,这很可能是我做错了或在代码中遗漏了一些愚蠢的事情。

这是我的密码

代码语言:javascript
复制
<?php
    session_start();
?>

<!DOCTYPE html>
<html class="no-js">
<head>
        <meta charset="utf-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />


    <title></title>
    <meta name="author" content="" />
    <meta name="description" content="" />

        <meta name="viewport" content="width=device-width, initial-scale=1" />


        <script src="boilerplate/js/vendor/modernizr-2.7.1.min.js"></script>


    <link rel="stylesheet" type="text/css" href="../css/party.css" media="screen" />

    <script type="text/javascript" src="javascript/jquery_min.js"></script>

    <script type="text/javascript" src="javascript/cookies.js"></script>


</head>

<body>




<?php include 'header.php'; ?>

<div id="container_register">

<div id="content_register">

    <h2>Register</h2>

    <?php
include "connect.php";
if (isset($_POST['formsubmitted'])) {
    $error = array(); //Declare An Array to store any error message

    if (empty($_POST['up_username'])) { //if no name has been supplied
        $error[] = 'Please Enter a name '; //add to array "error"
    } else {
        $name = $_POST['up_username']; //else assign it a variable

    }

    if (empty($_POST['up_email'])) {

        $error[] = 'Please Enter your Email ';

    } else {

if (preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/",

            $_POST['up_email'])) {

            //regular expression for email validation

            $Email = $_POST['up_email'];

        } else {

            $error[] = 'Your EMail Address is invalid  ';

        }

 }


    if (empty($_POST['up_password'])) {

        $error[] = 'Please Enter Your Password ';

    } else {

        $Password = $_POST['up_password'];

    }

if (empty($error)) //send to Database if there's no error '



{ // If everything's OK...



        // Make sure the email address is available:

        $query_verify_email = "SELECT * FROM users  WHERE Email ='$Email'";

        $result_verify_email = mysqli_query($dbc, $query_verify_email);

        if (!$result_verify_email) { //if the Query Failed ,similar to if($result_verify_email==false)

            echo ' Database Error Occured ';

        }
if (mysqli_num_rows($result_verify_email) == 0) { // IF no previous user is using this email .



            // Create a unique  activation code:


            $query_insert_user =

                "INSERT INTO `users` ( `Username`, `Email`, `Password`) VALUES ( '$name', '$Email', '$Password')";


$result_insert_user = mysqli_query($dbc, $query_insert_user);

            if (!$result_insert_user) {

                echo 'Query Failed ';

            }

 echo '<div class="success">Thank you for

registering! </div>';

             } else { // If it did not run OK.
                echo '<div class="errormsgbox">You could not be registered due to a systemdiv>';

            }


        } else { // The email address is not available.

            echo '<div class="errormsgbox" >That email address has already been registered.</div>';

        }



    } else { //If the "error" array contains error msg , display them



        echo '<div class="errormsgbox"> <ol>';

        foreach ($error as $key => $values) {



            echo '  <li>' . $values . '</li>';



        }

        echo '</ol></div>';



    }



    mysqli_close($dbc); //Close the DB Connection

// End of the main Submit conditional.
    ?>

        <form name="signup" id="signup" action="register.php" method="post">

            <label for="up_username"><span class="required">*</span> Name</label>
            <input type="text" name="up_username" id="up_username" placeholder="First Surname" />

<br>
            <label for="up_email"><span class="required">*</span> Email</label>
            <input type="email" name="up_email" id="up_email" placeholder="username@email.com" />

<br>
            <label for="up_password"><span class="required">*</span> Password</label>
            <input type="password" name="up_password" id="up_password" />

<br>
            <label for="up_password_c"><span class="required">*</span> Confirm Password</label>
            <input type="password" name="up_password_c" id="up_password_c" />


            <div class="div_submit">

                <input id="register_submit" type="submit" value="Sign up" />
            </div>

        </form><!--#sign up end-->

    <p class="required">* Indicates a required field</p>

</div><!--content div end-->

</div><!--container div end-->
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-21 13:45:21

您所编写的If条件始终是retrun false。

要解决这个问题,请将submit按钮的名称属性设置为formsubmitted,如下所示

代码语言:javascript
复制
<input id="register_submit" name= "formsubmitted" type="submit" value="Sign up" />

由于表单中不存在formsubmitted,所以不会为$_POST['formsubmitted']设置值,因此不会执行if语句的If part。

票数 1
EN

Stack Overflow用户

发布于 2015-04-21 13:45:51

这是一个类似的脚本,我经常使用,请随意修改它在您的酌处。

代码语言:javascript
复制
<? 
  if ($_POST['submit']){
    $username = $_POST['username'];
    $password = md5($_POST['password']);
    $confirm = $_POST['confirm'];
    $email = $_POST['email'];

if (!$username || !$password || !$confirm || !$email){
    $response = "Please fill in all the boxes";
}else{

    $check = mysql_num_rows(mysql_query("SELECT * FROM users WHERE username='$username'"));
    if ($check != 0){
        $response = "Username taken, Please choose an alternative";
    }else{

    $check = mysql_num_rows(mysql_query("SELECT * FROM users WHERE email='$email'"));
    if ($check != 0){
        $response = "This Email has already been registered";
    }else{


            mysql_query("INSERT INTO `users` (`id`, `username`, `password`, `email`) VALUES ('', '$username', '$password', '$email');");
$response = "Account Created";

}
}
}
}

echo "$response"; ?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29773762

复制
相关文章

相似问题

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