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 4101 france tv - Forum Lecteurs et supports vidéo
- J'aime par erreur facebook notification - Forum Facebook
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux