Je crée un simple site Web qui fonctionne sur mon rpi 3 et j'ai eu quelques problèmes à ma page d'inscription. Tout d'abord de tout cela est ma base de données actuelle (id est défini à incrémentation automatique et le nom est utilisateurs):PHP MySQL Page d'enregistrement ne fonctionne pas
+----+----------+----------+
| id | username | password |
+----+----------+----------+
| 1 | Owner | idk |
+----+----------+----------+
J'ai essayé de taper Nom d'utilisateur: Mot de passe propriétaire: Test et alors qu'il doit générer « Ce nom est déjà utilisé. " il a fait "Quelque chose s'est mal passé!", et quand je fais un test pour le nom d'utilisateur et le mot de passe, il donne la même sortie au lieu de créer un compte.
register.php (page principale):
<?php
include("connection.php");
session_start();
if(isset($_SESSION['login_user'])){
header("Location: welcome.php", true);
}
if($_SERVER["REQUEST_METHOD"] == "POST") {
$rusername = mysqli_real_escape_string($conn,$_POST['un']);
$rypassword = mysqli_real_escape_string($conn,$_POST['pw']);
$sql1 = "SELECT id FROM users WHERE username = '$rusername'";
$sql2 = "INSERT INTO users(username, password) values($rusername, $rpassword)";
$result = mysqli_query($conn,$sql1);
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
$count = mysqli_num_rows($result);
if ($count == 0){
if (mysqli_query($conn,$sql2)) {
echo "Account created successfully!";
} else {
echo "Something went wrong!";
}
} else {
$error = "This username is already in use.";
}
}
?>
<html>
<head>
<title>Register</title>
<link rel="stylesheet" href="topbar.css">
</head>
<body>
//Top Bar
<div class="topbar">
<a href="index.php">Home</a>
<a href="login.php">Login</a>
<a href="register.php">Register</a>
<a href="about.php">About</a>
</div>
//Register Form
<div align="center">
<h1>Register</h1>
<form method="post">
<h4>Username</h4>
<input type="text" name="run" required>
<h4>Password</h4>
<input type="text" name="rpw" required>
<br><input type="submit">
</form>
<div style="color:#ff0000;"><?php echo $error; ?></div>
</div>
</body>
</html>
connection.php:
<?php
$servername = "localhost";
$dbusername = "root";
$dbpassword = "kellan22";
$databasename = "accounts";
// Create connection
$conn = mysqli_connect($servername, $dbusername, $dbpassword, $databasename);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
Vérifiez '$ rypassword'; devrait être '$ rpassword' pour correspondre à votre requête d'insertion SQL – Juned