简体   繁体   English

注册表格PHP SQL

[英]Register form PHP SQL

I'm trying to make a registration form. 我正在尝试制作注册表。 This form needs to add data to the database when the submit is clicked. 单击提交时,此表单需要将数据添加到数据库。 it's not giving any errors or messages. 它没有给出任何错误或消息。 this is my code, I hope someone can help me. 这是我的代码,希望有人能帮助我。

<body>
 <form action="" method"post" class="form">
    <div class="form-group1">
    <label for="" >Username :</label>
    <input type="text" class="form-control" name="username" id="tb-username" placeholder="Username">
    </div>
    <div class="form-group2">
    <label for="" >Password :</label>
    <input type="password" class="form-control" name="password" id="tb-password" placeholder="Password">
    </div>
    <button type="submit" class="btn btn-primary" id="btn-submit" name="register">Submit</button>
    </form>

    <?php

    if(isset($_POST['register']))
    {
    if(isset($_POST['username'], $_POST['password']))
    {
        $username = $_POST['username'];
        $password = $_POST['password'];

        $link = mysqli_connect("localhost", "root", " ", "vbproject");

        if(mysqli_connect_errno())
        {
            printf("Connect failed: %s\n", mysqli_connect_errno());
            exit();
        }

        $sql = "INSERT INTO users (username, password)
                VALUES('$username', '$password')";

        mysqli_close($link);
    }
    }
     ?>

</body> 

You have an error here 你这里有错误

<form action="" method"post" class="form">

replace this with 替换为

<form action="" method="post" class="form">

you missed the = sign causing your request as GET request and you are accessing as POST method 您错过了=符号,导致您的请求成为GET请求,并且您正在以POST方法访问

在关闭连接之前添加此行,它将执行您未在执行的查询

mysqli_query($link,$sql);

you Need too: 您也需要:

 $sql = "INSERT INTO users (username, password)
        VALUES('$username', '$password')";
 $result = $link->query($sql);
 if($result === true){
  echo "Insert Success";
 }else{
  echo "Insert failed";
  }

Please change method"post" to method="post" in form tag. 请在表单标签中将method"post"更改为method="post"

 <body>

    <form action="" method="post" class="form">
    <div class="form-group1">
    <label for="" >Username :</label>
    <input type="text" class="form-control" name="username" id="tb-username" placeholder="Username">
    </div>
    <div class="form-group2">
    <label for="" >Password :</label>
    <input type="password" class="form-control" name="password" id="tb-password" placeholder="Password">
    </div>
    <button type="submit" class="btn btn-primary" id="btn-submit" name="register">Submit</button>
    </form>

    <?php

    if(isset($_POST['register']))
    {
    if(isset($_POST['username'], $_POST['password']))
    {
        $username = $_POST['username'];
        $password = $_POST['password'];

        $link = mysqli_connect("localhost", "root", " ", "vbproject");

        if(mysqli_connect_errno())
        {
            printf("Connect failed: %s\n", mysqli_connect_errno());
            exit();
        }

        $sql = "INSERT INTO users (username, password)
                VALUES('$username', '$password')";
        if(mysqli_query($link, $sql)){
         echo 'Inserted';
        }else{
          echo 'Not Inserted';
        }
        mysqli_close($link);
    }
    }
     ?>

    </body> 

Add these line in your code : 在代码中添加以下行:

if(mysqli_query($link, $sql)){
         echo 'Inserted';
        }else{
          echo 'Not Inserted';
        }

You did not run the mysql query. 您没有运行mysql查询。 Please Find Below solution: 请在下面找到解决方案:

$sql = "INSERT INTO users (username, password)
            VALUES('$username', '$password')";

mysqli_query($con, $sql); // this Line Missing

mysqli_close($link);

Just an observation your code 只是观察您的代码

<?php
if(isset($_POST['register']))
{

But $_POST['register'} has not been assigned any value and the if statement will fail suggest you add value="submit" here 但是$ _POST ['register'}尚未分配任何值,并且if语句将失败,建议您在此处添加value =“ submit”

<button type="submit" class="btn btn-primary" id="btn-submit" name="register">Submit</button>

This is how the flow will go 这就是流程的方向

<?php
$con=mysqli_connect("localhost", "root", " ", "vbproject");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

// Perform queries 
 $sql = "INSERT INTO users (username, password)
            VALUES('$username', '$password')";
mysqli_query($con, $sql);

mysqli_close($con);
?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM