Oui, nous avons un formulaire d'inscription qui fonctionne (la BDD est bel et bien acutalisée après la création d'un utilisateur), et également un formulaire de connexion mais c'est peut être ici qu'il y a un problème je ne sais pas.
code d'inscription :
<?php
session_start();
$servername = "localhost";
$username = "id22022299_mto";
$password = "MTOs123456!";
$dbname = "id22022299_bdd_tp3";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$pseudo = $_POST["signupUsername"];
$email = $_POST["signupEmail"];
$password = $_POST["signupPassword"];
$sql = "SELECT * FROM Comptes WHERE Pseudo='$pseudo' OR Adresse_mail='$email'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo json_encode(array("error" => true, "message" => "Le pseudo ou l'email est déjà pris."));
} elseif (strlen($pseudo) < 3) {
echo json_encode(array("error" => true, "message" => "Le pseudo fait moins de 3 caractères."));
} elseif (strlen($password) < 8) {
echo json_encode(array("error" => true, "message" => "Le mot de passe fait moins de 8 caractères."));
} elseif (!preg_match('/[A-Z]/', $password)) {
echo json_encode(array("error" => true, "message" => "Le mot de passe ne contient pas de majuscule."));
} elseif (!preg_match('/[a-z]/', $password)) {
echo json_encode(array("error" => true, "message" => "Le mot de passe ne contient pas de minuscule."));
} elseif (!preg_match('/[0-9]/', $password)) {
echo json_encode(array("error" => true, "message" => "Le mot de passe ne contient pas de chiffre."));
} elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo json_encode(array("error" => true, "message" => "L'email n'est pas valide."));
} else {
$sql = "INSERT INTO Comptes (Pseudo, Adresse_mail, Mot_de_passe, Credits) VALUES ('$pseudo', '$email', '$password', 5)";
if ($conn->query($sql) === TRUE) {
echo json_encode(array("error" => false, "message" => "Nouveau compte créé avec succès."));
} else {
echo json_encode(array("error" => true, "message" => "Erreur lors de la création du compte : " . $conn->error));
}
}
$conn->close();
code de connexion :
<?php
session_start();
$servername = "localhost";
$username = "id22022299_mto";
$password = "MTOs123456!";
$dbname = "id22022299_bdd_tp3";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
if(isset($_SESSION["loggedin"]) && $_SESSION["loggedin"] === true){
header("location: welcome.php");
exit;
}
$email = $_POST["loginEmail"];
$password = $_POST["loginPassword"];
$sql = "SELECT * FROM Comptes WHERE Adresse_mail='$email' AND Mot_de_passe='$password'";
$sql_p = "SELECT Pseudo FROM Comptes WHERE Adresse_mail='$email'";
$result = $conn->query($sql);
$pseudo = $conn->query($sql_p);
if ($result->num_rows > 0) {
$_SESSION["loggedin"] = true;
$_SESSION["Pseudo"] = $pseudo;
echo json_encode(array("success" => true));
} else {
echo json_encode(array("success"=> false));
}
code par rapport aux crédits dans le jeu :
<?php
session_start();
$servername = "localhost";
$username = "id22022299_mto";
$password = "MTOs123456!";
$dbname = "id22022299_bdd_tp3";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$pseudo = $_SESSION["Pseudo"];
$result = $conn->query("SELECT Credits FROM Comptes WHERE Pseudo='$pseudo'");
$row = $result->fetch_assoc();
$credits = $row["Credits"];
echo json_encode($credits);