[Problème] Erreur d'exécution d'envoi de données.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [Problème] Erreur d'exécution d'envoi de données.

Re: [Problème] Erreur d'exécution d'envoi de données.

par or 1 » 18 mars 2016, 15:28

il faut une variable $check_task1
qui vaux quelque chose si isset($_POST['check_task1']) returne true et autre chose si cela retourne false

[Problème] Erreur d'exécution d'envoi de données.

par Morthengul » 18 mars 2016, 13:04

Salutations,

Dans le cadre d'un projet perso, je développe un site d'intra permettant depuis un tableau de créer une table sql puis d'envoyer les informations correspondants aux différents champs de mon tableau dans cette table.

L’envoi de la requête me retourne une erreur que je ne comprends pas car pour la création d'utilisateur, j'utilise une requête similaire et elle fonctionne parfaitement.

Ma création de table s'effectue correctement avec la requête suivante :
<?php

$db=new PDO("mysql:dbname=utilisateurs; host=127.0.0.1","root","");

$req1 = $db->prepare('CREATE TABLE `hebdo`(

  `id` int(11) NOT NULL AUTO_INCREMENT,
  `year` int(2) NOT NULL,
  `wk` int(2) NOT NULL,
  `com_wk` varchar(10) NOT NULL,
  `task1` varchar(255) NOT NULL,
  `resp1` varchar(5) NOT NULL,
  `remp1` varchar(10) NOT NULL,
  `check_task1` varchar(3) NOT NULL,
  `com_task1` varchar(255) NOT NULL,

  KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;');

$req1->execute();

header('Location:sql2_hebdo.php');
?>
Et l’envoi des informations dans cette table quant à lui me renvoi les erreurs suivantes :
Notice: Undefined variable: check_task1 in "blabla" on line 51
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in "blabla" on line 53
La requête que j'envoi est la suivante :
<?php

$db=new PDO("mysql:dbname=utilisateurs; host=127.0.0.1","root","");

$req2 = $db->prepare('INSERT INTO hebdo(year, wk, com_wk, task1, resp1, remp1, check_task1, com_task1) VALUES(:year, :wk, :com_wk1, :task1, :resp1, :remp1, :check_task1, :com_task1)');

$year=$_POST["year"];
if ($year == NULL) {
      $year="empty";
}

$wk=$_POST["wk"];
if ($wk == NULL) {
      $wk="empty";
}

$com_wk=$_POST["com_wk"];
if ($com_wk == NULL) {
      $com_wk="empty";
}

$task1=$_POST["task1"];
if ($task1 == NULL) {
      $task1="empty";
}

$resp1=$_POST["resp1"];
if ($resp1 == NULL) {
      $resp1="empty";
}

$remp1=$_POST["remp1"];
if ($remp1 == NULL) {
      $remp1="empty";
}


$com_task1=$_POST["com_task1"];
if ($com_task1 == NULL) {
      $com_task1="empty";
}


$req2->execute(array(
    'year' => $year,
    'wk' => $wk,
    'com_wk' => $com_wk,
    'task1' => $task1,
    'resp1' => $resp1,
    'remp1' => $remp1,
    'check_task1' => $check_task1,
    'com_task1' => $com_task1,
    ));

?>
Mon
check_task1
est une checkbox html de la forme :
<input type="checkbox" name="check_task1" value="yes">
Je commence à mouliner dans la semoule, si vous pouviez me venir en aide...

Merci d'avance de votre lecture !