Erreur : Undefined variable - PHP
Résolu
Dragonfly03_CCS
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
A voir également:
- Undefined variable php
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Java code erreur 1603 ✓ - Forum Windows
3 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
merci de préciser le langage quand tu utilises les balises de code. explications: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
merci aussi de préciser le nom des fichiers que tu montres.
merci encore de partager du texte, et pas des images.
le message d'erreur indique que tu lis le contenu de $valid avant d'y avoir assigné une valeur.
merci de préciser le langage quand tu utilises les balises de code. explications: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
merci aussi de préciser le nom des fichiers que tu montres.
merci encore de partager du texte, et pas des images.
le message d'erreur indique que tu lis le contenu de $valid avant d'y avoir assigné une valeur.
Salut,
Voilà pour le code avec le langage :
PAGE INSCRIPTION (inscription.php) :
PAGE CONFIRMATION (conf.php) :
Et voilà l'erreur : Notice: Undefined variable: valid in /var/www/vhosts/groupe-anti-pollution.org/dev.groupe-anti-pollution.org/conf.php on line 18
Voilà pour le code avec le langage :
PAGE INSCRIPTION (inscription.php) :
<?php session_start(); include('bd/connexionDB.php'); if (isset($_SESSION['id'])){ header('Location: index.php'); exit; } if(!empty($_POST)){ extract($_POST); $valid = true; if (isset($_POST['inscription'])){ $nom = htmlentities(trim($nom)); $prenom = htmlentities(trim($prenom)); $mail = htmlentities(strtolower(trim($mail))); $mdp = trim($mdp); $confmdp = trim($confmdp); if(empty($nom)){ $valid = false; $er_nom = ("Le nom d' utilisateur ne peut pas être vide"); } if(empty($prenom)){ $valid = false; $er_prenom = ("Le prenom d' utilisateur ne peut pas être vide"); } if(empty($mail)){ $valid = false; $er_mail = "Le mail ne peut pas être vide"; }elseif(!preg_match("/^[a-z0-9\-_.]+@[a-z]+\.[a-z]{2,3}$/i", $mail)){ $valid = false; $er_mail = "Le mail n'est pas valide"; }else{ $req_mail = $DB->query("SELECT mail FROM utilisateur WHERE mail = ?", array($mail)); $req_mail = $req_mail->fetch(); if ($req_mail['mail'] <> ""){ $valid = false; $er_mail = "Ce mail existe déjà"; } } if(empty($mdp)) { $valid = false; $er_mdp = "Le mot de passe ne peut pas être vide"; }elseif($mdp != $confmdp){ $valid = false; $er_mdp = "La confirmation du mot de passe ne correspond pas"; } if($valid){ $mdp = crypt($mdp, '$6$rounds=5000$Mon crypt$'); $date_creation_compte = date('Y-m-d H:i:s'); $token = bin2hex(random_bytes(12)); $DB->insert("INSERT INTO utilisateur (nom, prenom, mail, mdp, date_creation_compte, token) VALUES (?, ?, ?, ?, ?, ?)", array($nom, $prenom, $mail, $mdp, $date_creation_compte, $token)); $req = $DB->query("SELECT * FROM utilisateur WHERE mail = ?", array($mail)); $req = $req->fetch(); $mail_to = $req['mail']; //=====Création du header de l'e-mail. $header = "From: no-reply@gmail.com\n"; $header .= "MIME-version: 1.0\n"; $header .= "Content-type: text/html; charset=utf-8\n"; $header .= "Content-Transfer-ncoding: 8bit"; //======= //=====Ajout du message au format HTML $contenu = '<p>Bonjour ' . $req['nom'] . ',</p><br> <p>Veuillez confirmer votre compte <a href="http://lesite.fr/conf.php?id=' . $req['id'] . '&token=' . $token . '">Valider</a><p>'; mail($mail_to, 'Confirmation de votre compte', $contenu, $header); header('Location: index.php'); exit; } } } ?> <!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Inscription</title> </head> <body> <div>Inscription</div> <form method="post"> <?php if (isset($er_nom)){ ?> <div><?= $er_nom ?></div> <?php } ?> <input type="text" placeholder="Votre nom" name="nom" value="<?php if(isset($nom)){ echo $nom; }?>" required> <?php if (isset($er_prenom)){ ?> <div><?= $er_prenom ?></div> <?php } ?> <input type="text" placeholder="Votre prénom" name="prenom" value="<?php if(isset($prenom)){ echo $prenom; }?>" required> <?php if (isset($er_mail)){ ?> <div><?= $er_mail ?></div> <?php } ?> <input type="email" placeholder="Adresse mail" name="mail" value="<?php if(isset($mail)){ echo $mail; }?>" required> <?php if (isset($er_mdp)){ ?> <div><?= $er_mdp ?></div> <?php } ?> <input type="password" placeholder="Mot de passe" name="mdp" value="<?php if(isset($mdp)){ echo $mdp; }?>" required> <input type="password" placeholder="Confirmer le mot de passe" name="confmdp" required> <button type="submit" name="inscription">Envoyer</button> </form> </body> </html>
PAGE CONFIRMATION (conf.php) :
<?php error_reporting(E_ALL); ini_set("display_errors", 1); $id = (int) $_GET['id']; $token = (String) htmlentities($_GET['token']); if(!isset($id)){ $valid = false; $err_mess = "Le lien est erroné"; }elseif(!isset($token)){ $valid = false; $err_mess = "Le lien est erroné"; } if($valid){ $req = $DB->query("SELECT id FROM utilisateur WHERE id = ? AND token = ?", array($id, $token)); $req = $req->fetch(); if(!isset($req['id'])){ $valid = false; $err_mess = "Le lien est erroné"; }else{ $DB->insert("UPDATE utilisateur SET token = NULL, confirmation_token = ? WHERE id = ?", array(date('Y-m-d H:i:s'), $req['id'])); $info_mess = "Votre compte a bien été validé"; } } ?>
Et voilà l'erreur : Notice: Undefined variable: valid in /var/www/vhosts/groupe-anti-pollution.org/dev.groupe-anti-pollution.org/conf.php on line 18