连接并插入php数据库

时间:2017-03-16 07:16:55

标签: php html database mysqli

我试图将数据从注册表单插入到数据库中,但是当我点击注册时,我在数据库中看不到任何内容。

我真的需要解决这个问题,以便我能够插入到我的数据库中。我无法确定问题的来源。非常感谢您的贡献。

这是我的代码帮助我。请帮帮我。

    <?php

    session_start();

    $server = 'localhost';
    $users = 'root';
    $pass = '';
    $dataBase = 'accounts';

    $_SESSION['message'] = '';

    $mysqli = new mysqli($server, $users, $pass, $dataBase) or die("Not connected");

    if($mysqli){

        echo 'Connected Successfully';
    }

    if ($_SERVER['REQUEST_METHOD'] == 'POST'){


        //The two passwords are equal to each other
        if($_POST['Password'] == $_POST['ConfirmPassword']){

            $username = $mysqli->real_escape_string($_POST["username"]);
            $email = $mysqli->real_escape_string($_POST['email']);
            $password = md5($_POST['Password']); //hash password security
            $phone = $mysqli->real_escape_string($_POST['Number']);


            $_SESSION['username'] = $username;

            $sql = "INSERT INTO user (username, email, password, phone) VALUES ('$username','$email','$password','$phone')";

            //if the query is correct, then redirect to a welcome.php page. done!
            if($mysqli->query($sql) === true){

               $_SESSION['message'] = "Registration successful! $username is now a member";
               header("location: login.php");

                echo 'Successfully Registered!';

            }
            else{
                $_SESSION['message'] == "Sorry you are not registered, check your field";

                }

            }

            else{
                $_SESSION['message'] == "Passwords do not match!";
            }
        }
 ?>




<body class="bg agileinfo">
   <h1 class="agile_head text-center" style="color:#000"> Welcome</h1>
   <div class="w3layouts_main wrap">
    <!--Horizontal Tab-->
        <div id="parentHorizontalTab_agile">
            <ul class="resp-tabs-list hor_1">
             <!--   <li>LogIn</li> -->
                <li>SignUp</li>
            </ul>


            <div class="agile_its_registration">
                    <form action="#" method="post" class="agile_form">
                        <div class="alert alert-error"><?=$_SESSION['message'] ?></div>
                      <p>Username</p>
                      <input type="text" name="username" required="required" />
                      <p>Email</p>
                      <input type="email" name="email" required="required" />
                        <p>Phone Number</p>
                      <input type="text" name="Number" required="required" />
                      <p>Password</p>
                      <input type="password" name="Password"  required="required" id="Password">
                      <p>Confirm Password</p>
                      <input type="password" name="ConfirmPassword" required="required" id="ConfirmPassword">
                        <div class="check w3_agileits">
                            <label class="checkbox w3"><input type="checkbox" name="checkbox" required="required" ><i> </i>I accept the terms and conditions</label>
                        </div>
                       <input type="submit" value="Signup"/>
                       <input type="reset" value="Reset" />
                    </form> 
                </div>
            </div>
        </div>

</body>

4 个答案:

答案 0 :(得分:0)

将名称提交给提交按钮 并使用

if (isset($_POST['submit'])){
}

insted of

if ($_SERVER['REQUEST_METHOD'] == 'POST'){
}

答案 1 :(得分:0)

可能是您的SQL查询出错,只需回显$sql并将输出运行到phpmyadmin

示例:

$sql = "INSERT INTO user (username, email, password, phone)     VALUES ('$username','$email','$password','$phone')";
echo $sql;
exit();

然后将输出运行到phpmyadmin

答案 2 :(得分:0)

您还可以在行动中加入php_self:

<?php echo $_SERVER['PHP_SELF']; ?>

并使您的SQL查询更改

$sql = "INSERT INTO user (username, email, password, phone) VALUES ('".$username."','".$email."','".$password."','".$phone."')";

希望这有帮助!!!

答案 3 :(得分:0)

你的变量被视为字符串,所以试试这个:

$sql = "INSERT INTO user (username, email, password, phone)     VALUES ('".$username."','".$email."','".$password."','".$phone."')";