Ma requête avec l activation des erreurs est elle bonne [Résolu]

Signaler
Messages postés
2453
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
7 avril 2021
-
Messages postés
2453
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
7 avril 2021
-
bonjour a tous

j ai un soucis dans un formulaire et j essaye donc d activer les erreurs dans pdp pour savoir d ou cela peux provenir

je souhaiterais savoir si ma requete est bonne
merci de l aide

  
       $req = $bdd->prepare('INSERT INTO pecheurs_perle(date_sortie,pseudo,city_name,email,gardon,breme,tanche,carpe,carassin,ides,hybride,perche,ablette,rotengle,sandre,brochet,anguille,goujon,gobies,truite,cours_do, duree,technique,meteo,total) VALUES(:date_sortie,:pseudo,:city_name,:email,:gardon,:breme,:tanche,:carpe,:carassin,:ides,:hybride,:perche,:ablette,:rotengle,:sandre,:brochet,:anguille,:goujon,:gobies,:truite,:cours_do, :duree,:technique,:meteo,:total)');
       $req->execute(array(
	   'date_sortie' => $date_sortie,
           'pseudo' => $pseudo,
           'city_name' => $city_name,
           'email' => $email,
           'gardon' => $gardon,
           'breme' => $breme,
           'tanche' => $tanche,
           'carpe' => $carpe,
           'carassin' => $carassin,
           'ides' => $ides,
           'hybride' => $hybride,
           'perche' => $perche,
           'ablette' => $ablette,
           'rotengle' => $rotengle,
           'sandre' => $sandre,
           'brochet' => $brochet,
           'anguille' => $anguille,
           'goujon' => $goujon,
           'gobies' => $gobies,
           'truite' => $truite,
           'cours_do' => $cours_do,
           'duree' => $duree,
           'technique' => $chk,
           'meteo' => $chkx,
           'total' => $total,
		   
       ));
	   try{
  $requete = $bdd -> prepare($req) ;
  $requete->execute($req) ;
}catch(Exception $e){
  // en cas d'erreur :
   echo " Erreur ! ".$e->getMessage();
   echo " Les req : " ;
  print_r($req);
}

21 réponses

Messages postés
15004
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 avril 2021
825
bonjour,
il est préférable de faire ainsi:
$req = 'INSERT INTO pecheurs_perle(date_sortie,pseudo,city_name,email,gardon,breme,tanche,carpe,carassin,ides,hybride,perche,ablette,rotengle,sandre,brochet,anguille,goujon,gobies,truite,cours_do, duree,technique,meteo,total) VALUES(:date_sortie,:pseudo,:city_name,:email,:gardon,:breme,:tanche,:carpe,:carassin,:ides,:hybride,:perche,:ablette,:rotengle,:sandre,:brochet,:anguille,:goujon,:gobies,:truite,:cours_do, :duree,:technique,:meteo,:total)';
$param=array(
	   'date_sortie' => $date_sortie,
           'pseudo' => $pseudo,
           'city_name' => $city_name,
           'email' => $email,
           'gardon' => $gardon,
           'breme' => $breme,
           'tanche' => $tanche,
           'carpe' => $carpe,
           'carassin' => $carassin,
           'ides' => $ides,
           'hybride' => $hybride,
           'perche' => $perche,
           'ablette' => $ablette,
           'rotengle' => $rotengle,
           'sandre' => $sandre,
           'brochet' => $brochet,
           'anguille' => $anguille,
           'goujon' => $goujon,
           'gobies' => $gobies,
           'truite' => $truite,
           'cours_do' => $cours_do,
           'duree' => $duree,
           'technique' => $chk,
           'meteo' => $chkx,
           'total' => $total,
		   );
try{
  $requete = $bdd -> prepare($req) ;
  $requete->execute($param) ;
}
Messages postés
32042
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 avril 2021
3 380
Bonjour,
Tu as laissé une virgule en trop à la fin de la variable $param
Tu as oublié de remettre le catch
Il est préférable, dans $param de remettre les ":" devant le nom des variables

Donc
$req = 'INSERT INTO pecheurs_perle(
        date_sortie
        ,pseudo
        ,city_name
        ,email
        ,gardon
        ,breme
        ,tanche
        ,carpe
        ,carassin
        ,ides
        ,hybride
        ,perche
        ,ablette
        ,rotengle
        ,sandre
        ,brochet
        ,anguille
        ,goujon
        ,gobies
        ,truite
        ,cours_do
        , duree
        ,technique
        ,meteo
        ,total) 
 VALUES(:date_sortie
        ,:pseudo
        ,:city_name
        ,:email
        ,:gardon
        ,:breme
        ,:tanche
        ,:carpe
        ,:carassin
        ,:ides
        ,:hybride
        ,:perche
        ,:ablette
        ,:rotengle
        ,:sandre
        ,:brochet
        ,:anguille
        ,:goujon
        ,:gobies
        ,:truite
        ,:cours_do
        , :duree
        ,:technique
        ,:meteo
        ,:total)';
$param=array(
    ':date_sortie'=> $date_sortie,
    ':pseudo'=> $pseudo,
    ':city_name'=> $city_name,
    ':email'=> $email,
    ':gardon'=> $gardon,
    ':breme'=> $breme,
    ':tanche'=> $tanche,
    ':carpe'=> $carpe,
    ':carassin'=> $carassin,
    ':ides'=> $ides,
    ':hybride'=> $hybride,
    ':perche'=> $perche,
    ':ablette'=> $ablette,
    ':rotengle'=> $rotengle,
    ':sandre'=> $sandre,
    ':brochet'=> $brochet,
    ':anguille'=> $anguille,
    ':goujon'=> $goujon,
    ':gobies'=> $gobies,
    ':truite'=> $truite,
    ':cours_do'=> $cours_do,
    ':duree'=> $duree,
    ':technique'=> $chk,
    ':meteo'=> $chkx,
    ':total'=> $total
);
try{
  $requete = $bdd -> prepare($req) ;
  $requete->execute($param) ;
} catch(PDOException $e) {
    die('Erreur : ' . $e->getMessage());
}



Et bien entendu, pour que ça fonctionne correctement .. ne pas oublier d'activer l'affichage des erreurs PDO dans la connexion
https://www.commentcamarche.net/faq/46512-pdo-gerer-les-erreurs

.
Messages postés
2453
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
7 avril 2021
133
bonjour a vous deux
un super grand merci pour votre aide

cela fonctionne parfaitement
oui bien entendu dans la connexion les erreurs sont acivees

j ai ce message d erreur
Erreur : SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'date_sortie' cannot be null


donc je dois mettre la colonne en null ?
Messages postés
32042
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 avril 2021
3 380
Cela indique que ta variable $date_sortie est null ou pas au bon format.
Est-ce bien une colonne au format DateTime dans ta bdd ?
Lui envoies tu bien une date valide ( au format Année - Mois - Jours ) ?
Veux tu autoriser qu'elle soit vide ? Si oui, au niveau de ta bdd tu dois modifier le champ pour autoriser le null.
Messages postés
2453
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
7 avril 2021
133
bonjour
merci pour l aide
j avais donc un formulaire
dans lequel je veux envoyer une date
donc en variable $date_sortie

de cette façon
date_default_timezone_set('Europe/Paris');
echo date("d/m/Y"); // Affiche la date du jour
$date_sortie=date("d/m/Y");
echo"$date_sortie";


et ensuite je veux insérer cette date dans ma base de donnée

dans ma base de donnée
je suis bien en au format DateTime

donc je pense que d après les explications je ne retourne pas la date de la bonne manière dans phpmyadmin car il attends surement une date au format(Année - Mois - Jours )


comment je pourrais m y prendre ?
Messages postés
32042
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 avril 2021
3 380
comme je te l'ai dit ;.. en mettant au format anglais
$date_sortie = date('Y-m-d');
Messages postés
2453
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
7 avril 2021
133
merci jordane
oui j avais bien compris que je devais retourner la date dans phpmyadmin en ('Y-m-d')
mais alors comment faire pour que le pécheur puisse voir s afficher
la date en jour/mois /annee

peut etre pour le formulaire l indiquer en jour/mois /annee et ensuite la remettre en annee/mois/jour avant l insertion
Messages postés
32042
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 avril 2021
3 380
Pour l'insertion tu n'es pas obligé de passer par une variable PHP.
Tu pourrais très bien utiliser la fonction now de SQL
Messages postés
2453
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
7 avril 2021
133
merci pour la reponse
donc si j utilise la fonction now
la date que l utilisateur aura choisie sera envoyé vers la base de donnée en annee/mois/jour

mais alors dans ce cas je fais quoi avec la variable date_sortie ...dans laquelle l utilisateur entre la date
Messages postés
32042
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 avril 2021
3 380
Ah non, si c'est la date que l'utilisateur choisi, il faut la convertir dans le bon format.
Mais dans l'exemple que tu nous donnes, ce n'est pas la date choisi .. mais celle du serveur que tu utilises actuellement...
Messages postés
2453
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
7 avril 2021
133
merci pour l aide

oui cela était juste un morceau de mon code afin de comprendre pourquoi cela ne fonctionnait pas et donc dans un premier temps savoir ou sa bloquait avec la gestion des erreurs

donc en réalité j ai un formulaire dans lequel je propose la date du jour en Français et que l utilisateur peux changer
je pratique de cette façon

        <?php

date_default_timezone_set('Europe/Paris');
echo date("d/m/Y"); // Affiche la date du jour
$date_sortie=date("d/m/Y");
?>

<input type="text" name="pseudo" class="form-control "value="<?php echo"$date_sortie";?>" required>


cela fonctionne
j ai donc bien ma date en Français du jour

une fois que j ai cette date je veux la renvoyer vers ma base de donnée
mais donc apparemment je dois la remettre en langage mysql pour la renvoyer dans ma base ...

cela doit se faire dans la requête insert ?
si je comprends bien la logique
Messages postés
32042
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 avril 2021
3 380
Il serait plus simple d'utiliser un champ de type date plutôt qu'un champ texte libre.
Au moins la date serait au bon format à l'affichage et également dans le bon format pour l'ajout en Bdd
Messages postés
2453
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
7 avril 2021
133
merci pour la reponse

donc d après toi mon imput devrait être

<input type="date" name="pseudo" class="form-control "value="<?php echo"$date_sortie";?>" required>


et je ne dois rien faire de plus ?

et donc a ce moment la dans ma requête je dois la fonction now de SQL
Messages postés
32042
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 avril 2021
3 380
Regarde du côté de jquery DatePicker
https://jqueryui.com/datepicker/#date-formats
Ce plugin te permet de choisir une date et de l'afficher au format français, et en même temps de disposer d'un champ alternatif au format anglais
https://api.jqueryui.com/datepicker/#option-altField
Messages postés
32042
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 avril 2021
3 380 >
Messages postés
32042
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 avril 2021

Après... tu peux aussi simplement convertir une date française au format Y-m-d en php...
Tu trouveras des milliers de discussions à ce sujet sur le net sans souci...
Messages postés
2453
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
7 avril 2021
133
bonsoir
merci pour l aide
et les liens

je préfère ne pas m encombrer pour l instant de jquery

donc j opte pour la solution numero 2

juste avant l insert je pourrais faire ceci

date_default_timezone_set('Europe/London');
echo date("Y/m/d"); // Affiche la date du jour
$date_sortie=date("Y/m/d");



mais le soucis c est que j ai besoin de retrouver le format date dans mysql en datetime

du coup je pourrais juste avant l insertion faire ceci


date_default_timezone_set('Europe/London');
echo date("Y/m/d"); // Affiche la date du jour
$date_sortie=date('Y-m-d H:i:s');
Messages postés
32042
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 avril 2021
3 380
Alors .. un DateTime en SQL c'est de la forme Y-m-d H:i:s

Et si tu fais juste un
$date_sortie=date('Y-m-d H:i:s');

tu auras la date/heure du moment où ton script sera lancé .. pas celle choisie par ton visiteur.

Je te laisse chercher comment convertir une date française ( transmise par le formulaire) en date valide pour la bdd.
Franchement.. vu le nombre de sujets sur le net à ce propos.. tu devrais réussir à trouver par toi même....
Messages postés
2453
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
7 avril 2021
133
bonjour
merci pour l information
voila je viens de faire un essai
pour convertir la date_sortie

je fais juste avant la requeste d insertion mais mysql refuse de prendre en compte

 date_default_timezone_set('Europe/London');
echo date("Y/m/d"); // Affiche la date du jour
$date_sortie=date('Y-m-d H:i:s');



je vais aller voir un peu sur le net ce que l on raconte ...
Messages postés
2453
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
7 avril 2021
133
bon voila je reviens
donc je viens de trouver comment convertir la date en anglais

je fais des essais

dans le code html je fais ceci
ce qui me donne bien la date en francais et ensuite la date anglaise

	        <?php


date_default_timezone_set('Europe/Paris');
echo date("d/m/Y"); // Affiche la date du jour
$date_sortie=date("d/m/Y");echo "<br>";
echo"$date_sortie";echo "<br>";
?>
   </br>    
	 </br>   
	  </br>            
			      

<?php  
   
	 $date_sortie= "$date_sortie";  echo "<br>";
    $date_sortie= date("Y-m-d", strtotime($date_sortie));  echo "<br>";
    echo "New date format is: ".$date_sortie. " (MM-DD-YYYY)";  echo "<br>";
?>  


donc tout va bien

avant la requête
je refais
un petit écho

 echo "New date format is: ".$date_sortie. " (MM-DD-YYYY)";  echo "<br>";

a ce moment c est vide

j ai essaye aussi avant la requete de faire ceci

 $date_sortie= "$date_sortie";  echo "<br>";
    $date_sortie= date("Y-m-d", strtotime($date_sortie));  echo "<br>";
    echo "New date format is: ".$date_sortie. " (MM-DD-YYYY)";  echo "<br>";
?> 

ca me retourne la date en 1970
Messages postés
32042
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 avril 2021
3 380
Avec des bouts de codes .. impossible de te dire ce que tu as mal fait.
Il nous faut l'intégralité du code (celui où tu fais l'ajout en bdd )
Messages postés
2453
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
7 avril 2021
133
merci pour l aide
je pense comprendre mon erreur
je reviens une fois que j ai effectue la correction
Messages postés
2453
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
7 avril 2021
133
voila
après avoir cherche pas mal je reviens avec mon code
enfin du moins une partie
j ai juste pris les morceaux intéressants
du cote du html

<!-- debut essai avec les dates  -->
	        <?php

// Y=année, m=Mois, d=Jour (La date en chiffre)
//affiche date du jour 
 echo "date du jour du pc";echo "<br>";
echo date("Y-m-d");echo "<br>";echo "<br>";
         echo "date du jour du pc en francais ";echo "<br>";
           //affiche date du jour 
            setlocale(LC_TIME, ['fr', 'fra', 'fr_FR']);
            echo strftime('%x '). '<br>';echo "<br>";
      
		echo "date du jour en francais avec date_default_timezone_set ";	
date_default_timezone_set('Europe/Paris');echo "<br>";
echo date("d/m/Y "); // Affiche la date du jour
$date_sortie=date("d/m/Y H:i:s");echo "<br>";
echo"$date_sortie";echo "<br>";
?>
  <!-- fin essai avec les dates  -->
		 
             <div class="container1" style=" padding-left:15px;padding-right:15px; margin:auto;">
            <form method="post" id="sectionForm">
           			 <button class="btn btn-lg btn-success btn-block" ><h3>Ta journee de peche</h3></button></br>
			 			 
			  <div class="form-label-group">
			  <button class="btn btn-lg btn-primary btn-block" ><h3>Date</h3></button>
			 
			   <input type="text" name="date_sortie" class="form-control "value="<?php echo"$date_sortie";?>" required>
			  </div>
			 
			  <!-- debut remise de la date en anglais   -->
			<?php 
			 
			 $newDate = date("Y/d/m H:i:s", strtotime($date_sortie));


   	  echo"$date_sortie";echo "<br>";
	  echo "date du jour en francais avec strtotime ";echo "<br>";
	  echo"$newDate";echo "<br><br><br>";
	  $date_sortie=$newDate;
	   echo "dernier";echo "<br>";
	   echo"$date_sortie";echo "<br>";
	   echo "fin";echo "<br>";
		?>	 
			  <!-- fin remise de la date en anglais   -->


ensuite le code php pour le traitement il y a un echo ou je vérifie que ma date est toujours bien en anglais sur ce $_post
($_POST['date_sortie'])
et malheureusement a ce stade ma date apparaît toujours en francais
alors que juste apres le input du formulaire la date a ete formater en anglais

	

	  
	    $date_sortie = $_POST['date_sortie'];
       $city_name = $_POST['city_name'];
       $email = $_POST['email'];
       $gardon = $_POST['gardon'];
       $breme = $_POST['breme'];
       $tanche = $_POST['tanche'];
       $carpe = $_POST['carpe'];
       $carassin = $_POST['carassin'];
       $ides = $_POST['ides'];
       $hybride = $_POST['hybride'];
       $perche = $_POST['perche'];
       $ablette = $_POST['ablette'];
       $rotengle = $_POST['rotengle'];
       $sandre = $_POST['sandre'];
       $brochet = $_POST['brochet'];
       $anguille = $_POST['anguille'];
       $goujon = $_POST['goujon'];
       $gobies = $_POST['gobies'];
       $truite = $_POST['truite'];
       $cours_do = $_POST['cours_do'];
       $duree = $_POST['duree'];
       $checkbox1 = $_POST['technique'];
       $chk = "";
       foreach ($checkbox1 as $chk1)
       {
           $chk .= $chk1 . ",";
       }
       $checkbox2 = $_POST['meteo'];
       $chkx = "";
       foreach ($checkbox2 as $chk2)
       {
           $chkx .= $chk2 . ",";
       }
       $total = $gardon + $breme + $tanche + $carpe + $carassin + $ides + $hybride + $perche + $ablette + $rotengle + $sandre + $brochet + $anguille + $goujon + $truite + $gobies;

		  print_r($_POST['date_sortie']);echo "<br>";
  $req = 'INSERT INTO pecheurs_perle(
        date_sortie
        ,pseudo
        ,city_name
        ,email
        ,gardon
        ,breme
        ,tanche
        ,carpe
        ,carassin
        ,ides
        ,hybride
        ,perche
        ,ablette
        ,rotengle
        ,sandre
        ,brochet
        ,anguille
        ,goujon
        ,gobies
        ,truite
        ,cours_do
        , duree
        ,technique
        ,meteo
        ,total) 
 VALUES(:date_sortie
        ,:pseudo
        ,:city_name
        ,:email
        ,:gardon
        ,:breme
        ,:tanche
        ,:carpe
        ,:carassin
        ,:ides
        ,:hybride
        ,:perche
        ,:ablette
        ,:rotengle
        ,:sandre
        ,:brochet
        ,:anguille
        ,:goujon
        ,:gobies
        ,:truite
        ,:cours_do
        , :duree
        ,:technique
        ,:meteo
        ,:total)';
$param=array(
    ':date_sortie'=> $date_sortie,
    ':pseudo'=> $pseudo,
    ':city_name'=> $city_name,
    ':email'=> $email,
    ':gardon'=> $gardon,
    ':breme'=> $breme,
    ':tanche'=> $tanche,
    ':carpe'=> $carpe,
    ':carassin'=> $carassin,
    ':ides'=> $ides,
    ':hybride'=> $hybride,
    ':perche'=> $perche,
    ':ablette'=> $ablette,
    ':rotengle'=> $rotengle,
    ':sandre'=> $sandre,
    ':brochet'=> $brochet,
    ':anguille'=> $anguille,
    ':goujon'=> $goujon,
    ':gobies'=> $gobies,
    ':truite'=> $truite,
    ':cours_do'=> $cours_do,
    ':duree'=> $duree,
    ':technique'=> $chk,
    ':meteo'=> $chkx,
    ':total'=> $total
);
try{
  $requete = $bdd -> prepare($req) ;
  $requete->execute($param) ;
} catch(PDOException $e) {
    die('Erreur : ' . $e->getMessage());
}
Messages postés
32042
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 avril 2021
3 380
C'est bien entendu au moment de récupérer la variable post qu'il faut la transformer en date anglaise ...
Messages postés
15004
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 avril 2021
825
difficile de comprendre ce que tu fais avec des morceaux de code, sans même nous préciser le nom du fichier.
je ne vois pas trop pourquoi tu modifies le format de la date après l'avoir envoyé dans le formulaire.
par ailleurs, n'est-ce pas préférable d'utiliser, dans le formulaire, un type date plutôt qu'un type text?
Messages postés
2453
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
7 avril 2021
133
merci pour l aide

oui j ai essaye mais alors cela me retourne une date en 1970
j ai essaye avec ceci

  <!-- debut remise de la date en anglais   -->
			<?php 
			 
			 $newDate = date("Y/d/m H:i:s", strtotime($date_sortie));


   	  echo"$date_sortie";echo "<br>";
	  echo "date du jour en francais avec strtotime ";echo "<br>";
	  echo"$newDate";echo "<br><br><br>";
	  $date_sortie=$newDate;
	   echo "dernier";echo "<br>";
	   echo"$date_sortie";echo "<br>";
	   echo "fin";echo "<br>";
		?>	 
			  <!-- fin remise de la date en anglais   -->
Messages postés
15004
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 avril 2021
825
pourquoi ne nous montres-tu pas ce qui est affiché par la page?
Messages postés
2453
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
7 avril 2021
133
bonjour
merci pour l aide

voici la page qui s affiche une fois que j ai cliquer sur envoyer le formulaire
les dates qui apparaisse sont du aux différents echo

date du jour en francais avec strtotime
1970/01/01 00:00:00


dernier
1970/01/01 00:00:00
fin
06/04/2021 13:25:36
Erreur : SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '06/04/2021 13:25:36' for column `id16000760_phil`.`pecheurs_perle`.`date_sortie` at row 1
Messages postés
15004
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 avril 2021
825
comme tu le vois, le soucis est présent avant le premier echo, dans le code que tu ne montres pas.
Messages postés
2453
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
7 avril 2021
133
oui en effet
voici donc le code complet
mais il est long ...
et a l intérieur plusieurs tests pour l heure

<?php
 include('base.php');
  $req=$bdd->prepare('SELECT email FROM utilisateurs  where pseudo = ?');
		  $req->execute(array($getpseudo));
		  $dones=$req->fetch();
		  $getemail=$dones['email'];
  if(isset($_POST['submit'])) 
{$pseudo = htmlspecialchars($_POST['pseudo']);
$email = htmlspecialchars($_POST['email']);	  
	  if($pseudo == $getpseudo AND $email == $getemail){
			  
	  }else{
		  echo ' <span style="font-size:24px;">  Ces coordonnées ne correspondent pas aux vôtres.</span>';
		  exit();
	  }
	    $newDate = date("Y/d/m H:i:s", strtotime($date_sortie));

   	  echo"$date_sortie";echo "<br>";
	  echo "date du jour en francais avec strtotime ";echo "<br>";
	  echo"$newDate";echo "<br><br><br>";
	  $date_sortie=$newDate;
	   echo "dernier";echo "<br>";
	   echo"$date_sortie";echo "<br>";
	   echo "fin";echo "<br>";
	

	  
	    $date_sortie = $_POST['date_sortie'];
       $city_name = $_POST['city_name'];
       $email = $_POST['email'];
       $gardon = $_POST['gardon'];
       $breme = $_POST['breme'];
       $tanche = $_POST['tanche'];
       $carpe = $_POST['carpe'];
       $carassin = $_POST['carassin'];
       $ides = $_POST['ides'];
       $hybride = $_POST['hybride'];
       $perche = $_POST['perche'];
       $ablette = $_POST['ablette'];
       $rotengle = $_POST['rotengle'];
       $sandre = $_POST['sandre'];
       $brochet = $_POST['brochet'];
       $anguille = $_POST['anguille'];
       $goujon = $_POST['goujon'];
       $gobies = $_POST['gobies'];
       $truite = $_POST['truite'];
       $cours_do = $_POST['cours_do'];
       $duree = $_POST['duree'];
       $checkbox1 = $_POST['technique'];
       $chk = "";
       foreach ($checkbox1 as $chk1)
       {
           $chk .= $chk1 . ",";
       }
       $checkbox2 = $_POST['meteo'];
       $chkx = "";
       foreach ($checkbox2 as $chk2)
       {
           $chkx .= $chk2 . ",";
       }
       $total = $gardon + $breme + $tanche + $carpe + $carassin + $ides + $hybride + $perche + $ablette + $rotengle + $sandre + $brochet + $anguille + $goujon + $truite + $gobies;

		  print_r($_POST['date_sortie']);echo "<br>";
  $req = 'INSERT INTO pecheurs_perle(
        date_sortie
        ,pseudo
        ,city_name
        ,email
        ,gardon
        ,breme
        ,tanche
        ,carpe
        ,carassin
        ,ides
        ,hybride
        ,perche
        ,ablette
        ,rotengle
        ,sandre
        ,brochet
        ,anguille
        ,goujon
        ,gobies
        ,truite
        ,cours_do
        , duree
        ,technique
        ,meteo
        ,total) 
 VALUES(:date_sortie
        ,:pseudo
        ,:city_name
        ,:email
        ,:gardon
        ,:breme
        ,:tanche
        ,:carpe
        ,:carassin
        ,:ides
        ,:hybride
        ,:perche
        ,:ablette
        ,:rotengle
        ,:sandre
        ,:brochet
        ,:anguille
        ,:goujon
        ,:gobies
        ,:truite
        ,:cours_do
        , :duree
        ,:technique
        ,:meteo
        ,:total)';
$param=array(
    ':date_sortie'=> $date_sortie,
    ':pseudo'=> $pseudo,
    ':city_name'=> $city_name,
    ':email'=> $email,
    ':gardon'=> $gardon,
    ':breme'=> $breme,
    ':tanche'=> $tanche,
    ':carpe'=> $carpe,
    ':carassin'=> $carassin,
    ':ides'=> $ides,
    ':hybride'=> $hybride,
    ':perche'=> $perche,
    ':ablette'=> $ablette,
    ':rotengle'=> $rotengle,
    ':sandre'=> $sandre,
    ':brochet'=> $brochet,
    ':anguille'=> $anguille,
    ':goujon'=> $goujon,
    ':gobies'=> $gobies,
    ':truite'=> $truite,
    ':cours_do'=> $cours_do,
    ':duree'=> $duree,
    ':technique'=> $chk,
    ':meteo'=> $chkx,
    ':total'=> $total
);
try{
  $requete = $bdd -> prepare($req) ;
  $requete->execute($param) ;
} catch(PDOException $e) {
    die('Erreur : ' . $e->getMessage());
}

   
       echo '<h2> Vos données sont enregistrées. <h2> <br/><br/>
      Aller à :     <a href="journees-de-peche.php"> Tableau des sorties de pêche </a><br/><br/>
      Retourner à :<a href="accueil-peche-perle.php"> Accueil du site </a>';
       exit();
   }
      ?>
<!doctype html>
<html lang="en">
   <!-- debut head -->
   <head>
      <?php include("include/head.php"); ?>
      <link rel="stylesheet" type="text/css" href="./css/cadre-horizontal.css">
    
   </head>
   <!-- fin head -->
   <!-- debut body -->
   <body>
      <!-- debut container global-->
      <div class="container">
         <title>phil le perleur</title>
         <div class="container" style=" max-width: 100%;margin:auto;">
            <!-- debut banniere -->
            <?php include("include/baniere-peche-perle.php"); ?>
            <!-- fin banniere -->
            <!-- debut menu -->
            <?php include("include/menu1.php"); ?>
            <!-- fin menu -->
         </div>

    </br>    
	 </br>   
	  </br>   
	  <!-- debut essai avec les dates  -->
	        <?php

// Y=année, m=Mois, d=Jour (La date en chiffre)
//affiche date du jour 
 echo "date du jour du pc";echo "<br>";
echo date("Y-m-d");echo "<br>";echo "<br>";
         echo "date du jour du pc en francais ";echo "<br>";
           //affiche date du jour 
            setlocale(LC_TIME, ['fr', 'fra', 'fr_FR']);
            echo strftime('%x '). '<br>';echo "<br>";
      
		echo "date du jour en francais avec date_default_timezone_set ";	
date_default_timezone_set('Europe/Paris');echo "<br>";
echo date("d/m/Y "); // Affiche la date du jour
$date_sortie=date("d/m/Y H:i:s");echo "<br>";
echo"$date_sortie";echo "<br>";
?>
  <!-- fin essai avec les dates  -->
		 
             <div class="container1" style=" padding-left:15px;padding-right:15px; margin:auto;">
            <form method="post" id="sectionForm">
           			 <button class="btn btn-lg btn-success btn-block" ><h3>Ta journee de peche</h3></button></br>
			 			 
			  <div class="form-label-group">
			  <button class="btn btn-lg btn-primary btn-block" ><h3>Date</h3></button>
			 
			   <input type="text" name="date_sortie" class="form-control "value="<?php echo"$date_sortie";?>" required>
			  </div>
			 
			  <!-- debut remise de la date en anglais   -->
			<?php 
			 
			 $newDate = date("Y/d/m H:i:s", strtotime($date_sortie));


   	  echo"$date_sortie";echo "<br>";
	  echo "date du jour en francais avec strtotime ";echo "<br>";
	  echo"$newDate";echo "<br><br><br>";
	  $date_sortie=$newDate;
	   echo "dernier";echo "<br>";
	   echo"$date_sortie";echo "<br>";
	   echo "fin";echo "<br>";
		?>	 
			  <!-- fin remise de la date en anglais   -->
			 <div class="form-label-group">
			  <button class="btn btn-lg btn-primary btn-block" ><h3>Ton pseudo </h3></button>
			 
			   <input type="text" name="pseudo" class="form-control "value="<?php echo $getpseudo;?>" required>
			  </div>
			  <div class="form-label-group">
			   <button class="btn btn-lg btn-primary btn-block" ><h3>Ton email </h3></button>
			  
				<input type="email" name="email"class="form-control"value="<?php echo $getemail;?>" required> 
				 </div>
				 <div class="form-label-group">
			  <button class="btn btn-lg btn-primary btn-block" ><h3>ville peche </h3></button>
			  			  <input type="text" name="city_name"class="form-control" placeholder="ville peche" required></br>
						  </div>
						  <div class="form-label-group">
			  <button class="btn btn-lg btn-primary btn-block" ><h3>Cours d'eau </h3></button>
			  <input type="text" name="cours_do"class="form-control" placeholder="cours d eau " required></br>
			  </div>
			 <button class="btn btn-lg btn-primary btn-block" ><h3>Duree de ta seance de peche</h3></button>
			 
			   
               <div class="row">
                  <div class="col-sm text-center">
				  
				  
				  

                 
                        <select  name="duree"style="width:100%;"  required>
                           <option value="">duree seance </option>
                           <option value="1">1</option>
                           <option value="2">2</option>
                           <option value="3">3</option>
                           <option value="4">4</option>
                           <option value="5">5</option>
                           <option value="6">6</option>
                        </select>

                  </div>
               </div></br>
			 
			              <div class="row">
                  <div class="col-sm text-center">
                    <button class="btn btn-lg btn-primary btn-block" > <h3>les sortes et quantité de poissons capturés </h3></button>
                  </div>
               </div></br>
               <div class="form-label-group">
                                     <button type="button" class="btn btn-info">  <h3>Nombre de Gardons: </h3></button>
                
                                    <input id="number" type="number" value="0" min="0" type="text" name="gardon"class="form-control">
                  </div>
               </br>
			   
			   
               <div class="form-label-group">
                      <button type="button" class="btn btn-info"><h3>Nombre de Bremes: </h3></button>
                 <input id="number" type="number" value="0" min="0" type="text" name="breme"class="form-control">
                 </div>  
</br>				 
				 <div class="form-label-group">
               
               
                     <button type="button" class="btn btn-info"><h3>Nombre de Tanches: </h3></button>
                     <input id="number" type="number" value="0" min="0" type="text" name="tanche"class="form-control">
              </div>     
</br>			  
				 <div class="form-label-group">   
               
                     <button type="button" class="btn btn-info"><h3>Nombre de Carpes: </h3></button>
                     <input id="number" type="number" value="0" min="0" type="text" name="carpe"class="form-control">
               </div>      
			   </br>
				 <div class="form-label-group">   
               
                     <button type="button" class="btn btn-info"><h3>Nombre de Carassins: </h3></button>
                                  <input id="number" type="number" value="0" min="0" type="text" name="carassin"class="form-control">
                 </div> 
</br>				 
				 <div class="form-label-group">
               
                     <button type="button" class="btn btn-info"><h3>Nombre d'Ides: </h3></button>
                            <input id="number" type="number" value="0" min="0" type="text" name="ides"class="form-control">
                 </div>  
</br>				 
				 <div class="form-label-group">
               
                     <button type="button" class="btn btn-info"><h3>Nombre d'd'Hybrides: </h3></button>
                               <input id="number" type="number" value="0" min="0" type="text" name="hybride"class="form-control">
                </div>   
</br>				
				 <div class="form-label-group">
               
                     <button type="button" class="btn btn-info"><h3>Nombre Perches: </h3></button>
                          <input id="number" type="number" value="0" min="0" type="text" name="perche"class="form-control">
                 </div>   
</br>				 
				 <div class="form-label-group">
               
                     <button type="button" class="btn btn-info"><h3>Nombre d'Ablettes: </h3></button>
                        <input id="number" type="number" value="0" min="0" type="text" name="ablette"class="form-control">
                </div>     
</br>				
				 <div class="form-label-group">
               
                     <button type="button" class="btn btn-info"><h3>Nombre de Rotengles: </h3></button>
                          <input id="number" type="number" value="0" min="0" type="text" name="rotengle"class="form-control">
                 </div>
</br>				 
				 <div class="form-label-group">
               
                     <button type="button" class="btn btn-info"><h3>Nombre de sandres: </h3></button>
                          <input id="number" type="number" value="0" min="0" type="text" name="sandre"class="form-control">
                </div> 
</br>				
				 <div class="form-label-group">
               
                     <button type="button" class="btn btn-info"><h3>Nombre de Brochets: </h3></button>
                        <input id="number" type="number" value="0" min="0" type="text" name="brochet"class="form-control">
                 </div>  
</br>				 
				 <div class="form-label-group">
               
                     <button type="button" class="btn btn-info"><h3>Nombre d'Anguilles: </h3></button>
                                 <input id="number" type="number" value="0" min="0" type="text" name="anguille"class="form-control">
                 </div>   
</br>				 
				 <div class="form-label-group">
               
                     <button type="button" class="btn btn-info"><h3>Nombre de Goujons: </h3></button>
                                   <input id="number" type="number" value="0" min="0" type="text" name="goujon"class="form-control">
                 </div>  
</br>				 
				 <div class="form-label-group">
               
                     <button type="button" class="btn btn-info"><h3>Nombre de Gobies: </h3></button>
                                 <input id="number" type="number" value="0" min="0" type="text" name="gobies"class="form-control">
                </div>   
</br>				
				 <div class="form-label-group">
               
                     <button type="button" class="btn btn-info"><h3>Nombre de Truite: </h3></button>
                                 <input id="number" type="number" value="0" min="0" type="text" name="truite"class="form-control">
                 </div>
			 </br>	
			 
			 
			 
			 
			  <div class="form-label-group">
               
                     <button type="button" class="btn btn-info"><h3 >esches utilisees </h3></button>
                  </div> 
            
               <div class="form-label-group">
                   <button type="button" class="btn btn-danger"><h3 >  Ne pas oublier d'entrer une valeur pour l esche. Merci.</h3></button>
                  
               </div> </br>
              <div class="form-label-group">
                     <input type="checkbox" name="technique[]" value="perle">perle</br>
                     <input type="checkbox" name="technique[]" value="graine">graines</br>
                     <input type="checkbox" name="technique[]" value="asticot">asticot/pinkies</br>
                     <input type="checkbox" name="technique[]" value="pelets">pelets</br>
					  <input type="checkbox" name="technique[]" value="vaseux">vaseux</br>
                 
               </div>
			    </br>
               <div class="form-label-group">
                    <button type="button" class="btn btn-info"> <h3>meteo: </h3></button>
                  </div>
              
               <div class="form-label-group">
                    <button type="button" class="btn btn-danger"><h3 > Ne pas oublier d'entrer une valeur pour la météo. Merci</h3></button>
                  </div>
              </br>
             <div >
                    
                     <input type="checkbox" name="meteo[]" value="vent">vent</br>
                     <input type="checkbox" name="meteo[]" value="pluie">pluie</br>
                     <input type="checkbox" name="meteo[]" value="neige">neige</br>
                     <input type="checkbox" name="meteo[]" value="soleil">soleil</br>
                     <input type="checkbox" name="meteo[]" value="nuageux">nuageux</br>
                  </div>
             
			 
			    <div class="form-label-group">
                     <input type="submit" class="form-control"name="submit" value="Valider" />
                  </div>
               
           
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
 
            </form>
            <script>
               //on selectionne notre form sur lequel on souhaite écouter les évenements
               const formulaire = document.querySelector('#sectionForm');
               //si on clic sur "Envoyer" on vérifi si il y a un minimum de case cochées:
               formulaire.onsubmit = function(){
               if(verifier_si_cochee('technique[]') && verifier_si_cochee('meteo[]'))
               return true;
               else {
               //on affiche un petit message
               formulaire.append(" Vous devez cocher au moins une case dans la meteo et dans les esches utilisees ");
               //et on bloque le soumission du form:
               return false;
               }
               }
               function verifier_si_cochee(name_input) {
               //avec cette fonction, on boucle chaque case et retourne true si ya une case cochée
               let input=formulaire.querySelectorAll('input[name="'+name_input+'"]')
               for (let i = 0; i < input.length; i++) {
               if(input[i].checked)
               return true;
               }
               //sinon on retourne false
               return false;
               }
            </script>
            <br />
            <h3 id="DivClignotante" style="color:black;" >
               Chers membres.<br /> Vous pourrez ajouter des images ou des photos plus tard <br /> en consultant les détails de vos journées de pêche.
            </h3>
            <br />
            <script type="text/javascript">
               var clignotement = function (){
               if (document.getElementById('DivClignotante').style.color == 'black') {
               
               document.getElementById('DivClignotante').style.color = "red";
               
               } else if (document.getElementById('DivClignotante').style.color == 'red') {
               
               document.getElementById('DivClignotante').style.color = "blue";
               
               } else {
               
               document.getElementById('DivClignotante').style.color = 'black';
               
               }
               
               };
               
               // mise en place de l appel de la fonction toutes les 0.8 secondes
               
               // Pour arrêter le clignotement : clearInterval(periode);
               
               periode = setInterval(clignotement, 1000);
               
            </script>
         </div>
         <div class="container" style=" max-width: 100%;margin:auto;">
            <!-- debut pied de page-->
            <?php include("./include/pied-de-page.php"); ?>
            <?php include("./include/footer.php"); ?>
         </div>
      </div>
      </div>
   </body>
   <!-- fin du body-->
</html>
Messages postés
15004
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 avril 2021
825
et toutes les informations affichées par cette page?
Messages postés
15004
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 avril 2021
825
as-tu tenu compte de la suggestion en #17?
Messages postés
2453
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
7 avril 2021
133
les informations affichées sur cette page ?
je ne comprends pas désolé ?
Messages postés
15004
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 avril 2021
825
le résultat de tous les echos.
Messages postés
2453
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
7 avril 2021
133
voila je pense avoir trouve
lorsque j utilise ce code et donc lorsque je remplace le type "text" par type "date"

<input type="text" name="date_sortie" class="form-control "value="<?php echo"$date_sortie";?>" required>


donc cela est nickel et enfin la date est bien injectée dans la base de donnée

a présent je dois juste mettre la date du jour dans le input et que l utilisateur pourra changer

voici les différents echo que j avais avec le type "texte"

date du jour en francais avec strtotime
1970/01/01 00:00:00


dernier
1970/01/01 00:00:00
fin
1970-01-012021-04-30
Vos données sont enregistrées.
Messages postés
15004
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 avril 2021
825
nous t'avions déjà écrit trois fois de mettre date au lieu de text.
prends le temps de tout lire avant de répondre.
Messages postés
2453
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
7 avril 2021
133
oui je l avais fait mais a chaque fois cela m interdit de mettre la date du jour dans input

j avais essaye avec placeholder mais cela ne fonctionnait pas
donc pour moi le seul moyen de pouvoir y arriver c était de laisser le type"texte"

du coup a présent que j utilise le type "date"
comment mettre dans le input la date du jour par défaut

merci pour l aide
Messages postés
2453
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
7 avril 2021
133
je pense avoir trouve
type="datetime-local" id="meeting-time"
       name="meeting-time" value="2018-06-12T19:30"
       min="2018-06-07T00:00" max="2018-06-14T00:00"
Messages postés
2453
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
7 avril 2021
133
alors pour ceux que cela interesse
voici pour avoir la date du jour dans input en francais

un tout tres grand merci pour l aide

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>jQuery UI Datepicker - Show week of the year</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  <link rel="stylesheet" href="/resources/demos/style.css">
  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
  <script>
$(document).ready( function(){
    var now = new Date();
 
    var day = ("0" + now.getDate()).slice(-2);
    var month = ("0" + (now.getMonth() + 1)).slice(-2);

    var today = now.getFullYear()+"-"+(month)+"-"+(day) ;


   $('#datePicker').val(today);
    
    $('#test').click(function(){
        
        testClicked();
        
    });
});
function testClicked()
{
    
console.log(    $('#datePicker').val());    
}

  </script>
</head>
<body>
 

 <input id="datePicker" type="date" name="date_sortie" class="form-control" />

 
</body>
</html>
Messages postés
32042
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 avril 2021
3 380
au final tu es parti sur du javascript jquery ...
Tu aurais donc pu utiliser le alternate field dont je t'avais parlé ...