Lorsque j'ai le message d'erreur j'ai soit l'url "http://localhost/connexion.php" si a la base je souhaite me connecter, sinon j'ai "http://localhost/inscription_traitement.php" si je souhaite m'inscrire
Voici mon code de la page inscription_traitement
<?php
require_once 'config.php';
if(isset($_POST['pseudo']) && isset($_POST['email']) && isset($_POST['password']) && isset($_POST['password_retype']))
{
$pesudo = htmlspecialchars($_POST['pseudo']);
$email = htmlspecialchars($_POST['email']);
$password = htmlspecialchars($_POST['password']);
$password_retype = htmlspecialchars($_POST['password_retype']);
$check = bdd->prepare('SELECT pseudo, email, password FROM utilisateur WHERE email=?');
$check->execute(array($email));
$data = $check->fetch();
$row = $check->rowCount();
if($row == 0)
{
if(strlen($pseudo) <= 100)
{
if (strlen($email) <= 100)
{
if(filter_var($email, FILTER_VALIDATE_EMAIL))
{
if($password == password_retype)
{
$password = hash('sah256', $password);
$ip = $_SERVER['REMOTE_ADDR'];
$insert = $bdd->prepare('INSERT INTO utilisateur(pseudo, email, password, ip)VALUES(:pseudo, :email, :password, :ip)')
$insert->execute(array(
'pseudo' => $pseudo,
'email' => $email,
'password' => $password,
'ip' => $ip
));
header('Location:http://localhost/inscription.php?reg_err=success');
}else header('Location: inscription.php?reg_err=password');
}else header('Location: inscription.php?reg_err=email')
}else header('Location: inscription.php?reg_err=email_lenght');
}else header('Location: inscription.php?reg_err=pseudo_lenght');
}else header('Location: inscription.php?reg_err=already');
}
?>
Voici ma page index.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="NoS1gnal"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/magnific-popup.min.css" rel="stylesheet" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<title>Connexion</title>
</head>
<body>
<div class="login-form">
<?php
if(isset($_GET['login_err']))
{
$err = htmlspecialchars($_GET['login_err']);
switch ($err)
{
case 'password':
?>
<div class="alert alert -danger">
<strong>Erreur</strong> mot de passe incorrect
</div>
<?php
break;
case 'email':
?>
<div class="alert alert -danger">
<strong>Erreur</strong> email de passe incorrect
</div>
<?php
break;
case 'already':
?>
<div class="alert alert -danger">
<strong>Erreur</strong> compte inexistant
</div>
<?php
break;
}
}
?>
<form action="connexion.php" method="post">
<h2 class="text-center">Connexion</h2>
<div class="form-group">
<input type="email" name="email" class="form-control" placeholder="Email" required="required" autocomplete="off">
</div>
<div class="form-group">
<input type="password" name="password" class="form-control" placeholder="Mot de passe" required="required" autocomplete="off">
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary btn-block">Connexion</button>
</div>
</form>
<p class="text-center"><a href="inscription.php">Inscription</a></p>
</div>
<style>
.login-form {
width: 340px;
margin: 50px auto;
}
.login-form form {
margin-bottom: 15px;
background: #f7f7f7;
box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
padding: 30px;
}
.login-form h2 {
margin: 0 0 15px;
}
.form-control, .btn {
min-height: 38px;
border-radius: 2px;
}
.btn {
font-size: 15px;
font-weight: bold;
}
</style>
</body>
</html>
Ma page connexion.php j'ai seulement ce que vous m'aviez mis tout à l'heure du coup
<?php
//Démarrage des sessions
session_start();
//Affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
require_once 'config.php';
echo " OK";
?>
Et voici ma page inscription.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="NoS1gnal"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/magnific-popup.min.css" rel="stylesheet" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<title>Connexion</title>
</head>
<body>
<div class="login-form">
<?php
if(isset($_GET['reg_err']))
{
$err = htmlspecialchars($_GET['reg_err']);
switch($err)
{
case 'success' :
?>
<div class="alert alert -success">
<strong>Succès</strong>inscription réussie!
</div>
<?php
break;
case 'password' :
?>
<div class="alert alert -danger">
<strong>Erreur</strong>mot de passe différent
</div>
<?php
break;
case 'email' :
?>
<div class="alert alert -danger">
<strong>Erreur</strong>email non valide
</div>
<?php
break;
case 'email_lenght' :
?>
<div class="alert alert -danger">
<strong>Erreur</strong>email trop long
</div>
<?php
break;
case 'pseudo_lenght' :
?>
<div class="alert alert -danger">
<strong>Erreur</strong> pseudo trop long
</div>
<?php
break;
case 'already' :
?>
<div class="alert alert -danger">
<strong>Erreur</strong>compte déjà existant
</div>
<?php
}
}
?>
<form action="inscription_traitement.php" method="post">
<h2 class="text-center">Inscription</h2>
<div class="form-group">
<input type="text" name="pseudo" class="form-control" placeholder="Pseudo" required="required" autocomplete="off">
</div>
<div class="form-group">
<input type="email" name="email" class="form-control" placeholder="Email" required="required" autocomplete="off">
</div>
<div class="form-group">
<input type="password" name="password" class="form-control" placeholder="Mot de passe" required="required" autocomplete="off">
</div>
<div class="form-group">
<input type="password" name="password_retype" class="form-control" placeholder="Re-tapez le mot de passe" required="required" autocomplete="off">
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary btn-block">Inscription</button>
</div>
</form>
</div>
<style>
.login-form {
width: 340px;
margin: 50px auto;
}
.login-form form {
margin-bottom: 15px;
background: #f7f7f7;
box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
padding: 30px;
}
.login-form h2 {
margin: 0 0 15px;
}
.form-control, .btn {
min-height: 38px;
border-radius: 2px;
}
.btn {
font-size: 15px;
font-weight: bold;
}
</style>
</body>
</html>