Erreur de stocage MySQL
Nicolas
-
Nicolas -
Nicolas -
Bonjour,
Je suis en cours de dev d'un forum et voici le code :
index.php :
Le "inscription.php"
Le la fonction function.php
inscription class
le deconnexion :
Je n'arrive pas à stoquer mes donées dans le mysql.
Je vous remercie.
Je suis en cours de dev d'un forum et voici le code :
index.php :
<?php session_start();
include_once 'function.php';
$bdd = bdd();
if(!isset($_SESSION['id'])) {
header('Location: inscription.php');
} else {
?>
<!DOCTYPE html>
<html>
<head>
<title>Forum</title>
<link rel="stylesheet" href="style.css" />
<meta charset="utf-8" />
<meta name="author" content="" />
</head>
<body>
<div class="forum">
<h1>Bienvenu dans mon forum.</h1>
<?php
echo '<h3>Bienvenue' . echo $_SESSION['pseudo'] . '</h3><a href="deconnexion.php">Deconnexion</a>';
?>
</div>
</body>
</html>
<?php
}
?>
Le "inscription.php"
<?php session_start();
include_once 'function.php';
include_once 'inscription.class.php';
$bdd = bdd();
if(isset($_POST['pseudo']) AND isset($_POST['email']) AND isset($_POST['mdp']) AND isset($_POST['mdp2'])) {
$inscription = new inscription($_POST['pseudo'], $_POST['email'], $_POST['mdp'], $_POST['mdp2']);
$verif = $inscription->verif();
if($verif == "Ok") { /* Tout est bon */
if($inscription->enregistrement()) {
if($inscription->session()) { /* Tout est mis en session */
header('Location:index.php');
}
} else { /* Erreur lors de l'enregistrement */
echo "Une erreur est survenue";
}
} else {
$erreur = $verif;
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Inscription</title>
<link rel="stylesheet" href="style.css" />
<meta charset="utf-8" />
<meta name="author" content="FERRAYE Nicolas" />
</head>
<body>
<div class="conteneur">
<h1>Inscription :</h1><br />
<form action="inscription.php" method="post">
<input name="pseudo" type="text" placeholder="Pseudo" required /><br />
<input name="email" type="text" placeholder="E-Mail" required /><br />
<input name="mdp" type="password" placeholder="Mot de passe" required /><br />
<input name="mdp2" type="password" placeholder="Confirmation" required /><br /><br />
<input type="submit" value="Inscription" /><br /><br />
<?php
if(isset($erreur)) {
echo $erreur;
}
?>
</form>
</div>
</body>
</html>
Le la fonction function.php
<?php
function bdd() {
try {
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dmname=forum', 'root', '', $pdo_options);
}
catch(Exception $e) {
die('Erreur : ' . $e->getMessage());
}
return $bdd;
}
?>
inscription class
<?php session_start();
include_once 'function.php';
class inscription {
private $pseudo;
private $email;
private $mdp;
private $mdp2;
private $bdd;
public function __construct($pseudo,$email,$mdp,$mdp2) {
$pseudo = htmlspecialchars($pseudo);
$email = htmlspecialchars($email);
$this->pseudo = $pseudo;
$this->email = $email;
$this->mdp = $mdp;
$this->mdp2 = $mdp2;
$this->bdd = bdd();
}
public function verif() {
if(strlen($this->pseudo) > 2 AND strlen($this->pseudo) < 15) { /* Si le pseudo bon */
$syntaxe = '#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#';
if(preg_match($syntaxe,$this->email)) { /* email bon */
if(strlen($this->mdp) > 5 AND strlen($this->mdp) < 20) { /* Si le format du mot de passe est BON */
if($this->mdp == $this->mdp2) { /* Mot de passe et confirmation identiques */
return 'ok';
} else { /* Mot de passe et confirmations !! */
$erreur = "Le mot de passe et sa confirmatons ne sont pas identiques";
return $erreur;
}
} else { /* Mauvais format du mot de passe */
$erreur = "Le mot de passe doit contenir entre 6 et 20 carractères";
return $erreur;
}
} else { /* email incorrect donc ERREUR */
$erreur = "Syntaxe de l'E-Mail incorrect";
return $erreur;
}
} else { /* Sinon */
$erreur = "Le pseudo doit contenir entre 2 et 15 carractères";
return $erreur;
}
}
public function enregistrement() {
$requete = $this->bdd->prepare('INSERT INTO membres(pseudo,email,mdp) VALUES(:pseudo,:email,:mdp)');
$requete->execute(array(
'pseudo' => $this->pseudo,
'email' => $this->email,
'mdp' => $this->mdp
));
return 1;
}
public function session() {
$requete = $this->bdd->prepare('SELECT id FROM membres WHERE pseudo = :pseudo');
$requete->execute(array('pseudo'=> $this->pseudo));
$requete = $requete->fetch();
$_SESSION['id'] = $requete['id'];
$_SESSION['pseudo'] = $this->pseudo;
return 1;
}
}
?>
le deconnexion :
<?php
session_start();
session_unset();
session_destroy();
header('Location: connexion.php');
?>
Je n'arrive pas à stoquer mes donées dans le mysql.
Je vous remercie.
A voir également:
- Erreur de stocage MySQL
- Mysql community server - Télécharger - Bases de données
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- Erreur de lecture reconnecté en 3s - Forum TV & Vidéo
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo