Notice: Undefined index: titre in C:\wamp64\...
Fermé
Tiween
Messages postés
6
Date d'inscription
mardi 8 octobre 2019
Statut
Membre
Dernière intervention
21 octobre 2019
-
8 oct. 2019 à 16:12
jordane45 Messages postés 38347 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 décembre 2024 - 9 oct. 2019 à 16:31
jordane45 Messages postés 38347 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 décembre 2024 - 9 oct. 2019 à 16:31
A voir également:
- Notice: Undefined index: titre in C:\wamp64\...
- Notice d'utilisation - Guide
- Notice chromecast - Guide
- Montre mingrui notice ✓ - Forum Accessoires & objets connectés
- Télécommande universelle grundig 8 en 1 notice en francais - Forum Téléviseurs
- Vélo appartement care ancien modèle notice ✓ - Forum Loisirs / Divertissements
2 réponses
jordane45
Messages postés
38347
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 décembre 2024
4 719
8 oct. 2019 à 16:36
8 oct. 2019 à 16:36
Bonjour,
https://forums.commentcamarche.net/forum/affich-37636387-php-notice-undefined-index
Mais aussi :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Et comme tu fais du PDO.. ça aussi :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Avec tout ça, ton code devrait fonctionner parfaitement.
https://forums.commentcamarche.net/forum/affich-37636387-php-notice-undefined-index
Mais aussi :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Et comme tu fais du PDO.. ça aussi :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Avec tout ça, ton code devrait fonctionner parfaitement.
jordane45
Messages postés
38347
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 décembre 2024
4 719
9 oct. 2019 à 15:19
9 oct. 2019 à 15:19
Voici à quoi ton code devrait ressembler
<?php session_start(); //Affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //connexion à la bdd require_once "include/bdd.inc.php"; //récupération PROPRE des variables AVANT de les utiliser $titre = !empty($_POST['titre']) ? $_POST['titre'] : NULL; $prenom = !empty($_POST['prenom']) ? $_POST['prenom'] : NULL; $nom = !empty($_POST['nom']) ? $_POST['nom'] : NULL; $structure = !empty($_POST['structure']) ? $_POST['structure'] : NULL; $fonction = !empty($_POST['fonction']) ? $_POST['fonction'] : NULL; $mail = !empty($_POST['mail']) ? $_POST['mail'] : NULL; $telephone = !empty($_POST['telephone']) ? $_POST['telephone'] : NULL; $etat = !empty($_POST['etat']) ? $_POST['etat'] : NULL; $date = !empty($_POST['date']) ? $_POST['date'] : date("d-m-Y"); $validation = !empty($_POST['validation']) ? $_POST['validation'] :NULL; $action = !empty($_GET["action"]) ? $_GET["action"] : "ajouter"; if($validation =="ok" ){ //si le formulaire est envoyé... //préparation de la requête $datas = array($titre ,$prenom ,$nom ,$structure ,$fonction ,$mail ,$telephone ,$etat ,$date); $requete = "INSERT INTO `contacts` (`titre`, `prenom`, `nom`, `structure`, `fonction`, `mail`, `telephone`, `etat`, `date`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"; //execution de la requête // nb : le code : $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); se place au niveau de la connexion à la bdd.... // nb² : Il faut mettre CHAQUE requête dans un bloc TRY/CATCH try{ $bdd->beginTransaction(); $reponse = $bdd->prepare($requete); $reponse->execute($datas); $bdd->commit(); }catch(Exception $e){ echo 'Erreur ' .$e->getMessage(); exit; } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1.0"> <title>autorisation de collecte de données</title> <link rel="shortcut icon" type="image/x-icon" href="images/favicon.ico" /> <!--<link rel="icon" type="image/jpg" href="images/favicon.jpg">--> <link href="css/reset.css" rel="stylesheet" type="text/css" /> <link href="css/menu.css" rel="stylesheet" type="text/css" /> <link href="css/design.css" rel="stylesheet" type="text/css" /> <link rel="stylesheet" href="lib/bootstrap-4.1.1/dist/css/bootstrap.min.css"> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css" integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous"> <link rel="stylesheet" href="lib/bootstrap-4.1.1/dist/css/bootstrap.min.css"> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css" integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous"> <link rel="stylesheet" href="css/style.css"> <link rel="apple-touch-icon" sizes="57x57" href="apple-icon-57x57.png"> <link rel="apple-touch-icon" sizes="60x60" href="apple-icon-60x60.png"> <link rel="apple-touch-icon" sizes="72x72" href="apple-icon-72x72.png"> <link rel="apple-touch-icon" sizes="76x76" href="apple-icon-76x76.png"> <link rel="apple-touch-icon" sizes="114x114" href="apple-icon-114x114.png"> <link rel="apple-touch-icon" sizes="120x120" href="apple-icon-120x120.png"> <link rel="apple-touch-icon" sizes="144x144" href="apple-icon-144x144.png"> <link rel="apple-touch-icon" sizes="152x152" href="apple-icon-152x152.png"> <link rel="apple-touch-icon" sizes="180x180" href="apple-icon-180x180.png"> <link rel="icon" type="image/png" sizes="192x192" href="android-icon-192x192.png"> <link rel="icon" type="image/png" sizes="32x32" href="favicon-32x32.png"> <link rel="icon" type="image/png" sizes="96x96" href="favicon-96x96.png"> <link rel="icon" type="image/png" sizes="16x16" href="favicon-16x16.png"> <link rel="manifest" href="manifest.json"> <script src="lib/jquery/jquery-3.3.1.min.js"></script> <script src="lib/bootstrap-4.1.1/dist/js/bootstrap.bundle.min.js"></script> <script src="js/lightbox.js"></script> </head> <body> <?php include_once("analyticstracking.php") ?> <div id="contains"> <?php include("include/inc_header.php"); include("include/inc_search.php"); include("include/inc_menu.php"); ?> <div id="page" class="bor_general"> <div id="corps"> <div id="tit_corps"> <h2 class="gen">AUTORISATION DE COLLECTE DE DONNEES</h2> <div class="clear"></div> </div> <div id="form_contact"> <div id="adresse"> <h4>CONDITIONS D'UTILISATION DE VOS DONNEES PERSONNELLES</h4> <UL> <li>En complétant ce formulaire, vous acceptez que le Comité Départemental Olympique et Sportif de Seine-Saint-Denis (CDOS 93) mémorise et utilise vos données pendant 1 an dans le but de répondre à vos demandes.</li> <li>En l’occurence, vous autorisez le CDOS 93 à communiquer avec vous s’il le juge opportun afin de vous apporter des informations sur son actualité ou vous proposez des services susceptibles de vous intéresser.</li> <li>Afin de protéger la confidentialité de vos données personnelles, le CDOS 93 s’engage à ne pas divulguer, ne pas transmettre, ni partager vos données personnelles avec d’autres entités, entreprises ou organismes, quels qu’ils soient.</li> <li>Vous pouvez accéder aux données vous concernant, les rectifier, demander leur effacement ou exercer votre droit à la limitation du traitement de vos données. Vous pouvez retirer à tout moment votre consentement au traitement de vos données.</li> <li>Pour exercer ces droits ou pour toute question sur le traitement de vos données dans ce dispositif, vous pouvez contacter <a href="mailto:oriane.odin@cdos93.org"><u><b>oriane.odin@cdos93.org</b></u></a>.</li> <li>En cochant la case ci-après, vous donnez votre consentement au traitement de vos données personnelles par le CDOS 93, conformément au réglement général sur la protection des données (RGPD) et à notre politique de protection des données. </li> </UL> </div> <?php if (isset($_GET["action"])) { $action <> $_GET["action"]; # code... } else { if (!$validation) { ?> <form method="post" action="autorisation2.php?action=ajouter" enctype="multipart/form-data"> <input type="hidden" name="validation" value="ok"> <div class="forms"> <div class="form-group"> <label class="form-inline" for="titre">Titre </label> <input type="text" class="form-control" name="titre" id="titre" placeholder="titre de civilité" required> </div> <div class="form-group"> <label class="form-inline" for="titre">Prénom </label> <input type="text" class="form-control" name="prenom" id="prenom" placeholder="votre prénom" required> </div> <div class="form-group"> <label class="form-inline" for="titre">Nom </label> <input type="text" class="form-control" name="nom" id="nom" placeholder="votre nom" required> </div> <div class="form-group"> <label class="form-inline" for="titre">Structure </label> <input type="text" class="form-control" name="structure" id="structure" placeholder="votre structure" required> </div> <div class="form-group"> <label class="form-inline" for="titre">Fonction </label> <input type="text" class="form-control" name="fonction" id="fonction" placeholder="votre fonction" required> </div> <div class="form-group"> <label class="form-inline" for="titre">Mail </label> <input type="text" class="form-control" name="mail" id="mail" placeholder="votre mail" required> </div> <div class="form-group"> <label class="form-inline" for="titre">Tel </label> <input type="text" class="form-control" name="tel" id="tel" placeholder="votre numéro de téléphone" required> </div> <div class="form-group"> <label class="form-check-inline" for="etat">En cochant cette case, je donne mon consentement </label> <input type="checkbox" id="etat" name="etat" value="1"> </select> </div> <div class="form-group"> <label class="form-inline" for="date">Le : <?php echo $date ?></label> <input type="hidden" class="form-control" id="date" name="date" value="<?php echo $date ?>" /> </div> <input class="btn" type="submit" value="AUTORISER"> </form> <?php } } ?> </div> </div> <div id="bandeau"> <?php include("include/inc_bandeau_droit.php"); ?> </div> <div class="clear"></div> </div> <?php include("include/inc_footer.php"); ?> </div> </div> <!-- Start of StatCounter Code for Dreamweaver --> <script type="text/javascript"> var sc_project=9784985; var sc_invisible=1; var sc_security="c3caf157"; var scJsHost = (("https:" == document.location.protocol) ? "https://secure." : "http://www."); document.write("<sc"+"ript type='text/javascript' src='" + scJsHost+ "statcounter.com/counter/counter.js'></"+"script>"); </script> <noscript><div class="statcounter"><a title="web analytics" href="http://statcounter.com/" target="_blank"><img class="statcounter" src="http://c.statcounter.com/9784985/0/c3caf157/1/" alt="web analytics"></a></div></noscript> <!-- End of StatCounter Code for Dreamweaver --> </body> </html>
Tiween
Messages postés
6
Date d'inscription
mardi 8 octobre 2019
Statut
Membre
Dernière intervention
21 octobre 2019
9 oct. 2019 à 16:25
9 oct. 2019 à 16:25
Jordane,
Merci pour le code, que j'ai copié coller.
Alors quand je charge la page je n'ai plus d'erreurs c'est déjà une bonne chose lol, mais il se passe 2 trucs :
1/ je n'ai aucun enregistrement dans ma base de données :
- j'ai vérifié si tous les champs correspondaient et pas d'erreur,
pour infos voici le code de bdd.inc.php
2/ mon formulaire disparait de la page. il faudrait que je rajoute un message du type :
"vos données ont bien été collectées pour une durée de 1 an"
J'ai tenté plusieurs choses comme récupérer les infos avec $_GET mais sans résultat.
ce qui me tracasse le plus c'est que les données ne soient pas apparues dans ma base.
Cordialement,
Laetitia
Merci pour le code, que j'ai copié coller.
Alors quand je charge la page je n'ai plus d'erreurs c'est déjà une bonne chose lol, mais il se passe 2 trucs :
1/ je n'ai aucun enregistrement dans ma base de données :
- j'ai vérifié si tous les champs correspondaient et pas d'erreur,
pour infos voici le code de bdd.inc.php
<?php if ($_SERVER['SERVER_NAME'] == 'localhost') { $hote ="localhost"; $base ="cdos93"; $utilistateur ="root"; $mdp =""; } else { $hote ="*****"; $base ="*****"; $utilistateur ="****"; $mdp ="***"; } try { $bdd = new PDO("mysql:host=".$hote."; dbname=".$base."",$utilistateur, $mdp); $bdd->exec('set names utf8'); $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } catch(PDOException $e) { die('Erreur : ' . $e->getMessage()); } include ('inc.functions.php'); ?>
2/ mon formulaire disparait de la page. il faudrait que je rajoute un message du type :
"vos données ont bien été collectées pour une durée de 1 an"
J'ai tenté plusieurs choses comme récupérer les infos avec $_GET mais sans résultat.
ce qui me tracasse le plus c'est que les données ne soient pas apparues dans ma base.
Cordialement,
Laetitia
jordane45
Messages postés
38347
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 décembre 2024
4 719
9 oct. 2019 à 16:31
9 oct. 2019 à 16:31
Tu as lu les liens que je t'ai donné et les commentaires dans le code que je t'ai fourni au moins ???
9 oct. 2019 à 11:26
Et tout d'abord merci de votre réponse, j'ai lu avec attention le liens que vous m'avez transmis et inserer les codes pour détecter les erreurs, il semblerait que le retour des champs ne contient aucune données, ce qui explique les messages d'erreur.
Je suppose que l'erreur vient de :
Mais du coup je ne voit pas comment procéder autrement.
Si vous pouviez m’aiguiller...
D'avance merci.
Laetitia
9 oct. 2019 à 12:33
Preuve que tu n'as pas du lire totalement les liens que je t'ai donné... puisqu'il y est mentionné qu'il faut
Récupérer proprement les variables AVANT de les utiliser
Si tu appliques réellement tout ce qui est marqué dans les liens que je t'ai donné... tu n'auras plus aucun souci.
Reviens nous voir avec ton code modifié si tu continues à rencotrer des problèmes.
NB: Pour poster ton code, merci de le faire correctement ( en y précisant le langage) tel qu'expliqué ici :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Cela permet d'avoir la coloration syntaxique ET la numérotation des lignes de code.
9 oct. 2019 à 14:38
alors voici le nouveau code que j'ai saisie j'ai saisie :
Et voici les messages qui apparaisent :
Notice: Array to string conversion in C:\wamp64\www\cdos\autorisation2.php on line 153
Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in C:\wamp64\www\cdos\autorisation2.php on line 153
PDOException: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in C:\wamp64\www\cdos\autorisation2.php on line 153
9 oct. 2019 à 14:57
j'ai validé par erreur,
pour finir mon dernier message,
Concernant les balises code, je sais ne sais pas si je dois mettre html ou php ?
Enfin, pour préciser et compléter mon 1er message, à mon grand regret je ne pratique pas aussi souvent que je le souhaiterais le codage, je travaille pour une association où je suis un peu multifonction. Ce qui explique un peu mon impatience à résoudre mon problème. Je comprend parfaitement la démarche de nous faire rechercher par nous même les erreurs et trouver les solutions, mais là j'avoue que je sèche, de plus ma direction me relance sur la mise en œuvre donc je galère.
Dans tous les cas, je vous remercie de votre patience et de votre aide.
Laetitia