Ce site utilise des cookies pour améliorer uniquement votre expérience utilisateur.
Vous pouvez lire à tout moment comment nous utilisons les cookies sur le site.
Bonjour je suis actuellement entrain de suivre la formation pour le formulaire d'inscription hors je rencontre un probleme j'ai suivi le tuto mais rien ne s'envoi dans la BDD j'ai beau lire et relires je ne trouve pas l'erreur si défoit quelqu'un pourrait m'aider : Merci ! :)
session_start();
include('config.php');
if(!empty($_POST)){
extract($_POST);
$valid = (boolean) true;
if(isset($_POST['inscription'])){
$pseudo = trim($pseudo);
$mail = trim($mail);
$confmail = trim($confmail);
$password = trim($password);
$confpassword = trim($confpassword);
if(empty($pseudo)){
$valid = false;
$err_pseudo = "ce champ ne peut etre vide";
}else{
$req = $DB->prepare("SELECT id
FROM utilisateur
WHERE pseudo = ?");
$req->execute(array($pseudo));
$req = $req->fetch();
if(isset($req['id'])){
$valid = false;
$err_pseudo = "Ce pseudo est déjà pris";
}
}
if(empty($mail)){
$valid = false;
$err_mail = "ce champ ne peut etre vide";
}elseif($mail <> $confmail){
$valid = false;
$err_mail = "le mail est differents de la confirmation";
}else{
$req = $DB->prepare("SELECT id
FROM utilisateur
WHERE mail = ?");
$req->execute(array($mail));
$req = $req->fetch();
if(isset($req['id'])){
$valid = false;
$err_mail = "Ce mail est déjà pris";
}
}
if(empty($password)){
$valid = false;
$err_password = "le champ ne peut etre vide";
}elseif($password <> $confpassword){
$valid = false;
$err_password = "Les deux mot de passe ne coresponde pas";
}
if($valid){
$crypt_password = password_hash($password, PASSWORD_ARGON2ID);
$date_creation = date('Y-m-d H:i:s');
$req = $DB->prepare("INSERT INTO utilisateur(pseudo, mail, mdp, date_creation, date_connexion) VALUES (?, ?, ?, ?, ?)");
$req->execute(array($pseudo, $mail, $crypt_password, $date_creation, $date_creation));
// header('Location: index.php');
echo 'test';
exit;
}
}
}
Bonjour @Jerem971 alors effectivement la class construct j'en n'est bien 2 j'avais mis 1 pour essayer si je n'avais pas une erreur la.
avant de dire que j'ai suivi a la va vite comme vous dite j'ai refais les tutoriels 5 fois, refait a chaque les codes de 0 pour voir si j'avais pas louper quelque chose avant de demande de l'aide.
je ferme le topics je vais me debrouiller.
Re:
Lorsque tu postes du code dans ton topic ou dans l'espace commentaires, pensent à toujours utiliser les balises mises à disposition pour une bonne lisibilité. Tu peux t'aider de ce topic concernant les différentes balises du forum. (J'ai réédité ton commentaire)
Concernant ton code, de ce que je constate après l'avoir analysé, c'est qu'il contient beaucoup d'erreurs de syntaxe. Mon collègue @Flomir t'as déjà donné une piste au niveau de ta classe, et après avoir visionné la vidéo, il y a bien un double underscore sur celle-ci. J'en conclus que tu as suivis le tutoriel surement à la va-vite, ce qui fait qu'il y a la présence d'erreurs de syntaxe. Il faut que tu visionnes le tutoriel attentivement et sans passer aucun passage et également écouter les recommandations de @Clouderdans la vidéo. Tu corrigeras comme cela un grand nombre d'erreurs.
Pour voir les erreurs PHP, si tu utilises XAMPP, tu peux voir le fichier log dans l'emplacement suivant : C:\xampp\apache\logs\error.log
ca me fait page blanche mais aucune erreur n'apparait
Tu n'as pas de problème de base de données quand tu regardes ta page config.php sur ton navigateur ??
et j'ai beau mettre des echo a chaque fin de programme aucun ne saffiche
j'ai mis le deuxieme mais ca na rien changer
Hello @Theo61,
Ta classe __construct doit être constituée de deux underscores. Tu en as mis qu'un seul.
Cela pourrait déjà corriger un problème.
voila la page config
<?php
class connexionDB{
private $host = 'localhost';
private $name = 'nom';
private $user = 'root';
private $pass = '';
private $connexion;
function _construct($host = null, $name = null, $user = null, $pass = null,){
if($host !=null){
$this->host = $host;
$this->name = $name;
$this->user = $user;
$this->pass = $pass;
}
try {
$DB = new PDO('mysql:host=' . $this->host . ';dbname=' . $this->name, $this->user, $this->pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8MB4',
PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION));
} catch (PDOException $e) {
echo 'Impossibe de se connecter';
die();
}
}
public function DB(){
$this->connexion;
}
}
$DBB = new connexionDB();
$DB = $DBB->DB();
?>
Bonjour, j’ai suivi les tutos du site V 2 et là je suis au 5.2
pour la connection à la BDD j’ai utilisée le modèle aussi sur les tutoriel d’avant ,
j’essaie d’envoyer le fichier config se soir ou demain
Hello @Theo61,
Au début de ton code, tu fais appel à un fichier PHP config.php
.
Je suppose que ce fichier établi la connexion à ta base de données.
Peux-tu nous montrer son contenu (nous montrer le code) ? Nous allons pouvoir vérifier si tu n'as pas fait d'erreurs.
Egalement, peux-tu nous donner le lien de ladite formation que tu as suivis ? Afin que l'on soit tous corda et vérifier ensemble ce qui ne va pas.