Page 1 sur 1

Datetimepicker retour vide

Posté : 07 juin 2014, 20:24
par cindy381
j'ai mis en stand by cette mon sujet précédent je ne comprends pas le problème, bref...
J'ai par contre dans mon formulaire un date time picker du genre allé / retour ( retour en bdd 0000-00-00 00:00 )
 <p>Start <input class="form-control" id="date_debut_sortie"  name="date_debut_sortie" type="text">
      
      End <input class="form-control" id="date_fin_sortie" name="date_fin_sortie" type="text"></p>
<script type="text/javascript">// <![CDATA[
jQuery(function(){
  jQuery('#date_debut_sortie').datetimepicker({
    format:'d.m.Y H:i',
    onShow:function( ct ){
      this.setOptions({
        maxDate:jQuery('#date_fin_sortie').val()?jQuery('#date_fin_sortie').val():false
      })
    },
    timepicker:true
  });
  jQuery('#date_fin_sortie').datetimepicker({
    format:'d.m.Y H:i',
    onShow:function( ct ){
      this.setOptions({
        minDate:jQuery('#date_debut_sortie').val()?jQuery('#date_debut_sortie').val():false
      })
    },
    timepicker:true
  });
});
// ]]></script>
Il est fonctionnel mais le retour en bdd est 0000-00-00 00:00

Et le fichier js est :
[javascript](function( $ ) {
'use strict'
var default_options = {
i18n:{

fr:{ //French
months:[
"Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"
],
dayOfWeek:[
"Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"
]

}
},
value:'',
lang:'fr',

format: 'Y/m/d H:i',
formatTime: 'H:i',
formatDate: 'Y/m/d',
.............[/javascript]

Re: Datetimepicker retour vide

Posté : 07 juin 2014, 20:57
par sirakawa
De quel type est la date en BDD?

Re: Datetimepicker retour vide

Posté : 07 juin 2014, 21:02
par cindy381
si il me renvoi un resultat vide sous la forme 0000-00-00 donc je diré du type : année - mois - jour

Re: Datetimepicker retour vide

Posté : 07 juin 2014, 21:38
par Ryle
Et dans quel format est-ce que tu reçois la date côté php ?
dans quel format tu la transmet à ta base de données ?

Au cas où cela puisse t'aider, le forum FAQ contient des explications détaillées sur les manipulations de dates &#40;PHP/MySQL)

Re: Datetimepicker retour vide

Posté : 08 juin 2014, 00:11
par cindy381
voilà un bout du code avec le problème en question, je la recois comme dans le script je pense :) d/m/y H:i . dsl je suis une grande débutante
label>Lien</label>
            <input class="form-control" name="website" type="text" id="nom" />

	        <label>Sous-titre</label>
            <input class="form-control" name="sous-titre" type="text" id="nom" />
            

            <p>Start <input class="form-control" id="date_debut_sortie"  name="date_debut_sortie" type="text">
      
      End <input class="form-control" id="date_fin_sortie" name="date_fin_sortie" type="text"></p>
<script type="text/javascript">// <![CDATA[
jQuery(function(){
  jQuery('#date_debut_sortie').datetimepicker({
    format:'d/m/Y H:i',
    onShow:function( ct ){
      this.setOptions({
        maxDate:jQuery('#date_fin_sortie').val()?jQuery('#date_fin_sortie').val():false
      })
    },
    timepicker:true
  });
  jQuery('#date_fin_sortie').datetimepicker({
      format:'d/m/Y H:i',
    onShow:function( ct ){
      this.setOptions({
        minDate:jQuery('#date_debut_sortie').val()?jQuery('#date_debut_sortie').val():false
      })
    },
    timepicker:true
  });
});
// ]]></script>


	        <label>Description </label>
            <textarea class="form-control" name="description"></textarea>
            

Re: Datetimepicker retour vide

Posté : 08 juin 2014, 01:46
par Ryle
Il est donc fort probable que tu ais besoin de transformer chaine de caractères que tu reçois au format "jj/mm/aaaa hh:mm" (pour le vérifier, il suffit de faire un echo de la variable php et tu sauras ce qu'elle contient ;)) et la transformer au format date attendu par ta base de données (et pour cela, le topic de la faq devrait te permettre de comprendre comment manipuler une date "fr" pour en faire une date "sql" :)

Re: Datetimepicker retour vide

Posté : 08 juin 2014, 11:12
par sirakawa
Si tu savais te servir de PHPMYADMN, je te dirais d'y aller voir le type du champ date; le problèmevient probablement de l'enregistrement et non de la lecture...
si tu es sous Linux, en ligne de commane:
mysql -u root
use bdd;
show columns from table;

en supposant que la table sappelle

Re: Datetimepicker retour vide

Posté : 09 juin 2014, 15:51
par cindy381
J'ai donc regardé sous php myadmin je recois la date dans mes colone sous la forme : 0000-00-00 00:00:00
Mon formulaire marche bien sauf donc les datetimespicker qui renvoi 0000-00-00 00:00:00

Le formulaire ( avec un code un oeu vieu c'est vrai )
dans le script pour les input des datetime le format est : format:'d.m.Y H:i',

Merci de votre aide
<?php
 $form = true;
 if(isset($_POST['departement'], $_POST['type'], $_POST['title'], $_POST['description']) && !empty($_POST['departement']) && !empty($_POST['type']) && !empty($_POST['title']) && !empty($_POST['description'])){
	 	if(get_magic_quotes_gpc()){
			$departement = stripslashes($_POST['departement']);
			$type = stripslashes($_POST['type']);
			$street = stripslashes($_POST['street']);
			$city = stripslashes($_POST['city']);
			$postcode = stripslashes($_POST['postcode']);
			$title = stripslashes($_POST['title']);
			$website = stripslashes($_POST['website']);
			$sousTitre = stripslashes($_POST['sous-titre']);
			$description = stripslashes($_POST['description']);
			$date_debut_sortie = stripslashes($_POST['date_debut_sortie']);
			$date_fin_sortie = stripslashes($_POST['date_fin_sortie']);
			$price = stripslashes($_POST['price']);
			$email = stripslashes($_POST['email']);
			$phone = stripslashes($_POST['phone']);
			
			
		}else{
			
			$departement = $_POST['departement'];
			$type = $_POST['type'];
			$street = $_POST['street'];
			$city = $_POST['city'];
			$postcode = $_POST['postcode'];
			$title = $_POST['title'];
			$website = $_POST['website'];
			$sousTitre = $_POST['sous-titre'];
			$description = $_POST['description'];
			$date_debut_sortie = $_POST['date_debut_sortie'];
			$date_fin_sortie = $_POST['date_fin_sortie'];
			$price = $_POST['price'];
			$email = $_POST['email'];
			$phone = $_POST['phone'];
			
			
		}
		
		$maxsize = 2*1048576; //(30mo)
		$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png' );
		if($_FILES['photo']['error'] == 0) {
				if($_FILES['photo']['size'] < $maxsize){
					$extension_upload = strtolower(  substr(  strrchr($_FILES['photo']['name'], '.')  ,1)  );
					if(in_array($extension_upload,$extensions_valides)){
							$photo = "img/annonce/{$_SESSION['userid']}-{$_FILES['photo']['name']}";
							$resultat = move_uploaded_file($_FILES['photo']['tmp_name'],$photo);
							if ($resultat) {$message = "Transfert réussi";}
					}
				}else{
					$message = "Le fichier est trop gros";
				}
		}
		$image = imagecreatefromjpeg($photo);
		$resizedImage=resizeImg($image,504,346);
		imagejpeg($resizedImage,$photo,100);
		
		$photo_petite = "img/annonce/petite/{$_SESSION['userid']}-{$_FILES['photo']['name']}";
		$resizedImage=resizeImg($image,160,140);
		imagejpeg($resizedImage,$photo_petite,100);
		
		$nom_photo = "{$_SESSION['userid']}-{$_FILES['photo']['name']}";
		
		
		if(mysql_query('INSERT INTO loisirs (id_loisirs, id_departements, id_type_loisirs, photo, titre, sous_titre,  description, date_debut_sortie, date_fin_sortie, phone, email, website, street, postcode, city, price, valide)
						VALUE("", '.$departement.', '.$type.', "'.$nom_photo.'", "'.$title.'", "'.$sousTitre.'", "'.$description.'", "'.$date_debut_sortie.'", "'.$date_fin_sortie.'", "'.$phone.'", "'.$email.'", "'.$website.'", "'.$street.'", "'.$postcode.'", "'.$city.'", "'.$price.'", 0)')){
			$form = false;
			$message .= 'Votre annonce a été enregistré. Un modérateur va contrôler puis valider votre annonce.';
		}else{
			$form = true;
			$message .= 'Une erreur est survenue lors de l\'inscription.';
		}
 }
 ?>
 <?php if(isset($message)) { echo $message; }?>
 <?php if(!isset($form) || $form == true){?>
 
  <form id="formulaire_post_ann" action="mon_profil_client.php" method="post" enctype="multipart/form-data" onSubmit="return(VerifForm(this))">
        	
            
        	<?php $req_dep = mysql_query("select * from departements order by nom");?>
            <label>Departement </label><br/>
            <select class="form-control" name="departement" id="age">
            <?php while($dep = mysql_fetch_array($req_dep)){?>
				<option value="<?php echo $dep['departement_id']; ?>"><?php echo $dep['nom'];?></option>
			<?php }?>
            </select>
            
            <?php $req_type = mysql_query("select * from type_loisir order by type");?>
	        <label>Sortie</label>
            <select class="form-control" name="type" id="age">
	         <?php while($res_type = mysql_fetch_array($req_type)){?>
				<option value="<?php echo $res_type['id_type_loisir']; ?>"><?php echo $res_type['type'];?></option>
			<?php }?>
			</select>
            
	        <label>Adresse </label>
            <input type="text" name="street" class="form-control" required>
            
	        <label>Ville </label>
            <input class="form-control" name="city" type="text" id="nom"/>
            
	        <label>Code postal*</label>
            <input class="form-control" name="postcode" type="text" id="nom" maxlength="5" onKeyUp="verif_integer(this)" />

	        <label>Titre </label>
            <input class="form-control" name="title" type="text" id="nom"/>
            
	        <label>Lien</label>
            <input class="form-control" name="website" type="text" id="nom" />

	        <label>Sous-titre</label>
            <input class="form-control" name="sous-titre" type="text" id="nom" />
            

	        <label>Description </label>
            <textarea class="form-control" name="description"></textarea>
            
             
            <p>Start <input class="form-control" id="date_debut_sortie"  name="date_debut_sortie" type="text">
      
      End <input class="form-control" id="date_fin_sortie" name="date_fin_sortie" type="text"></p>
<script type="text/javascript">// <![CDATA[
jQuery(function(){
  jQuery('#date_debut_sortie').datetimepicker({
    format:'d.m.Y H:i',
    onShow:function( ct ){
      this.setOptions({
        maxDate:jQuery('#date_fin_sortie').val()?jQuery('#date_fin_sortie').val():false
      })
    },
    timepicker:true
  });
  jQuery('#date_fin_sortie').datetimepicker({
    format:'d.m.Y H:i',
    onShow:function( ct ){
      this.setOptions({
        minDate:jQuery('#date_debut_sortie').val()?jQuery('#date_debut_sortie').val():false
      })
    },
    timepicker:true
  });
});
// ]]></script>
            
	        <label>Prix</label>
            <input class="form-control" name="price" type="text" id="nom" maxlength="5" onKeyUp="verif_integer(this)"/>
	       
	        <label>Email</label>
            <input class="form-control" name="email"  type="text" id="nom" onSubmit="return(VerifForm(this))">
            
		             
      <label>Télephone</label>
      <input class="form-control" name="phone" type="tel" id="nom" pattern="^\+?\s*(\d+\s?){8,}$"  onKeyUp="verif_integer(this)" />
            
	        <label>Photo</label>
            <input class="form-control" name="photo" type="file">
            
            
            
           
            
            
        
        	<input id="input_bouton" type="submit" value="ENREGISTRER"> 

Re: Datetimepicker retour vide

Posté : 09 juin 2014, 16:07
par sirakawa
Sauf erreur en recopiant, si tu remplaçais ca:
if(mysql_query('INSERT INTO loisirs (id_loisirs, id_departements, id_type_loisirs, photo, titre, sous_titre,  description, date_debut_sortie, date_fin_sortie, phone, email, website, street, postcode, city, price, valide)
                                                 VALUE("", '.$departement.', '.$type.', "'.$nom_photo.'", "'.$title.'", "'.$sousTitre.'", "'.$description.'", "'.$date_debut_sortie.'", "'.$date_fin_sortie.'", "'.$phone.'", "'.$email.'", "'.$website.'", "'.$street.'", "'.$postcode.'", "'.$city.'", "'.$price.'", 0)'))
par :
$reqiuete = "'NSERT INTO loisirs (id_loisirs, id_departements, id_type_loisirs, photo, titre, sous_titre,  description, date_debut_sortie, date_fin_sortie, phone, email, website, street, postcode, city, price, valide)
                                                 VALUE('', '$departement', '$type', '$nom_photo.', '$title', '$sousTitre', '$description', '$date_debut_sortie.', '$date_fin_sortie', '$phone', '$email', '$website', '$street', '$postcode', '$city', '$price', 0)";
print "<br>$requete"; die();
et ici le if d'origine;
on y verrait plus clair.
Au pasage:
mysql est obsolete et déconseillé.
on peut écrire, ce qui est plus facile:
insert into table set champ ='$valeur, 'autre_cham' = '$autre_valeur';

Re: Datetimepicker retour vide

Posté : 09 juin 2014, 16:14
par cindy381
J'ai fait de la nouvelle facon mais je n'arrive pas a afficher le contenu du select de mon formulaire ......
je ne sais pas comment faire ...jsui une noob

    <?php include("include/header.php");?>

   
    
    <div class="container">
    <?php
	
	if(!empty($_POST))
	{
  extract($_POST);
  $valid = true;
  
  //Verification titre
  if(empty($title))
  {
    $valid = false;
    $erreurtitle = 'Renseigner un nom de sortie';
  }
  
   //Verification ville
  if(empty($city))
  {
    $valid = false;
    $erreurcity = 'Renseigner une ville';
  }
  
   //Verification code postal
  if(empty($postcode))
  {
    $valid = false;
    $erreurpostcode = 'Renseigner un code postal';
  }
  
   //Verification sous-titre
  if(empty($soustitre))
  {
    $valid = false;
    $erreursoustitre = 'Votre sortie en quelques mots';
  }
  
  
   //Verification description
  if(empty($description))
  {
    $valid = false;
    $erreurdescription = 'Le detail de votre sortie';
  }

	 //Verification description
  if(empty($adresse_email))
  {
    $valid = false;
    $erreuradresse_email = 'verifier';
  }

 //Verification description
  if(empty($website))
  {
    $valid = false;
    $erreurwebsite = 'lien url';
  }


  $req = $bdd->prepare('INSERT INTO loisirs (id_loisirs, id_departements, id_type_loisirs, photo, titre, sous_titre, date_debut_sortie, date_fin_sortie, description, phone, email, website, street, postcode, city, price, valide) 
  
  VALUES (:id_loisirs, :id_departements, :id_type_loisirs,:photo, :titre, :sous_titre, :date_debut_sortie, :date_fin_sortie, :description, :phone, :email, :website, :street, :postcode, :city,:price, :valide)');
    
	
	
   }
   
  ?>
    
    <div class="container">
	<div class="row">
    <div class="col-md-6 col-md-offset-3 col-sm-8 col-sm-offset-2">
 
  	<form  action="mon_profil_client.php" method="post" enctype="multipart/form-data" onSubmit="return(VerifForm(this))">
    
      

      
          <?php  $req_dep = $bdd->query("select * from departements order by nom"); ?>
            <label for="departement">Departement </label><br/>
            <select class="form-control" name="departement" id="departement" required>
            <?php while($dep = $req_dep->fetch($req_dep)){?>
				<option value="<?php echo $dep['departement_id']; ?>"><?php echo $dep['nom'];?></option>
			<?php }?>
            </select>
            

     <!-- titre de la sortie -->
     <label for="title">titre :</label>
     <input class="form-control" type="text" name="title" value="<?php if(isset($title)) echo $title;?>" />
     <div class="error"><?php if(isset($erreurtitle)) echo $erreurtitle;?></div>
     
      <!-- titre de la sortie -->
     <label for="adresse_email">email :</label>
     <input class="form-control" type="text" name="adresse_email" value="<?php if(isset($adresse_email)) echo $adresse_email;?>" />
     <div class="error"><?php if(isset($erreuradresse_email)) echo $erreuradresse_email;?></div>
     
     
      <!-- Ville de la sortie -->
      <label>Ville *</label>
      <input class="form-control" name="city" value="<?php if(isset($nom)) echo $city;?>" type="text" id="nom"/>
      <div class="error"><?php if(isset($erreurcity)) echo $erreurcity;?></div>
     
      <!-- Code postal de la sortie -->
      <label>Code postal *</label>
       <input class="form-control" name="postcode" value="<?php if(isset($postcode)) echo $postcode;?>" type="text" maxlength="5" />
      <div class="error"><?php if(isset($erreurpostcode)) echo $erreurpostcode;?></div>
      
       <!-- Sous-titre de la sortie -->
      <label>Sous titre*</label>
      <input class="form-control" name="sous-titre" value="<?php if(isset($soustitre)) echo $soustitre;?>" type="text" />
      <div class="error"><?php if(isset($erreursoustitre)) echo $erreursoustitre;?></div>
      
      
      <!-- Sous-titre de la sortie -->
      <label>website</label>
      <input class="form-control" name="website" value="<?php if(isset($soustitre)) echo $website;?>" type="text" />
      <div class="error"><?php if(isset($erreurwebsite)) echo $erreurwebsite;?></div>
      
       <!-- Description de la sortie -->
      <label>Detail de votre sortie</label>
       <textarea class="form-control" name="description" value="<?php if(isset($description)) echo $description;?>" type="text" /></textarea>
      <div class="error"><?php if(isset($erreurdescription)) echo $erreurdescription;?></div>
    
    	
        
      <p>Start <input class="form-control" id="date_debut_sortie"  name="date_debut_sortie" type="text">
      
      End <input class="form-control" id="date_fin_sortie" name="date_fin_sortie" type="text"></p>
<script type="text/javascript">// <![CDATA[
jQuery(function(){
  jQuery('#date_debut_sortie').datetimepicker({
    format:'d.m.Y H:i',
    onShow:function( ct ){
      this.setOptions({
        maxDate:jQuery('#date_fin_sortie').val()?jQuery('#date_fin_sortie').val():false
      })
    },
    timepicker:true
  });
  jQuery('#date_fin_sortie').datetimepicker({
    format:'d.m.Y H:i',
    onShow:function( ct ){
      this.setOptions({
        minDate:jQuery('#date_debut_sortie').val()?jQuery('#date_debut_sortie').val():false
      })
    },
    timepicker:true
  });
});
// ]]></script>

	  <label>Télephone</label>
      <input class="form-control"  name="phone" type="tel" id="nom" pattern="^\+?\s*(\d+\s?){8,}$" onKeyUp="verif_integer(this)" />
            
	  <label>Photo</label>
      <input  name="photo" type="file">
      
        
    
    <input class="btn-u" type="submit" value="ENVOYER"> 
    </form>

Re: Datetimepicker retour vide

Posté : 09 juin 2014, 16:30
par sirakawa
ce qui serait intéressant, ce serait de voir kle contenu de la requete qui est affichée par le print:
Quand tu as fait une insertion, tu peux aller voir avec phpmyadmin s'il y a ce que tu crois.
Avant de s'affoler sur les consultations de la BDD, il faut s'assurer qu'on y écrit bien ce qu'on croit : simple bon sens (avant de tirre d el'argent de mon compte en banque, je m'assure qu'il y est).

Re: Datetimepicker retour vide

Posté : 09 juin 2014, 18:38
par cindy381
Si ca peut aider j'ai ceci comme message quand j'envoi le formulaire:

PDOStatement Object ([queryString]=> INSERT INTO loisirs (id_loisirs, id_departements, id_type_loisirs, photo, titre, sous_titre, date_debut_sortie, date_fin_sortie, description, phone, email, website, street, postcode, city, price, valide)

VALUES (:id_loisirs, :id_departements, :id_type_loisirs,:photo, :titre, :sous_titre, :date_debut_sortie, :date_fin_sortie, :description, :phone, :email, :website, :street, :postcode, :city,:price, :valide))

Re: Datetimepicker retour vide

Posté : 09 juin 2014, 19:13
par sirakawa
Non ça ne sert à rien, car avec les requêtes préparées, on ne sait pas les valeurs passées.
Il faudrait faire afficher les diverses dates juste avant l'exécution de la requête.

par ailleurs, il est toujours possible d'aller voir avec phpadmin, le résultat d'une insertion.