[英]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.