[英]Register form PHP SQL
我正在嘗試制作注冊表。 單擊提交時,此表單需要將數據添加到數據庫。 它沒有給出任何錯誤或消息。 這是我的代碼,希望有人能幫助我。
<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>
你這里有錯誤
<form action="" method"post" class="form">
替換為
<form action="" method="post" class="form">
您錯過了=
符號,導致您的請求成為GET
請求,並且您正在以POST
方法訪問
在關閉連接之前添加此行,它將執行您未在執行的查詢
mysqli_query($link,$sql);
您也需要:
$sql = "INSERT INTO users (username, password)
VALUES('$username', '$password')";
$result = $link->query($sql);
if($result === true){
echo "Insert Success";
}else{
echo "Insert failed";
}
請在表單標簽中將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>
在代碼中添加以下行:
if(mysqli_query($link, $sql)){
echo 'Inserted';
}else{
echo 'Not Inserted';
}
您沒有運行mysql查詢。 請在下面找到解決方案:
$sql = "INSERT INTO users (username, password)
VALUES('$username', '$password')";
mysqli_query($con, $sql); // this Line Missing
mysqli_close($link);
只是觀察您的代碼
<?php
if(isset($_POST['register']))
{
但是$ _POST ['register'}尚未分配任何值,並且if語句將失敗,建議您在此處添加value =“ submit”
<button type="submit" class="btn btn-primary" id="btn-submit" name="register">Submit</button>
這就是流程的方向
<?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.