Deux passage de variable en php différence ??

Fermé
sinifer Messages postés 312 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 12 mars 2013 - 18 nov. 2009 à 10:58
Jean-François Pillou Messages postés 19261 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 - 18 nov. 2009 à 18:04
Bonjour,

Je voulais savoir si il y avait une différence entre
sa :
 $customers_naissance=$customers_naissance_annee.'-'.$mois.'-'.$customers_naissance_jour.' '.$customers_naissance_heure.':'.$minute;

et
sa :
$customers_naissance=$_POST["annee"].'-'.$_POST["mois"].'-'.$_POST["jour"].' '.$_POST["heure"].':'.$_POST["minutes"];


sacahant que juste en haut il y a
	$customers_naissance_annee=$_POST["annee"];
	$mois=$_POST["mois"];
	$customers_naissance_jour=$_POST["jour"];
	$customers_naissance_heure=$_POST["heure"];
	$minute=$_POST["minutes"];


et sachant que je fais mes vérifications sur
if ( $customers_naissance_annee=="" OR $mois=="" OR $customers_naissance_jour=="" ) {
	$error="true";
	$message.=MESSAGE."<br/><br/>";
	}


Le message d'erreur passe bien sa enregistre pas dans la base mais des fois sur 200 inscriptions il y a en a une ou j'ai pas de dates dans ma base
donc je me pose la question car je vois pas mon erreur car après je fais
if ($error<>"true") {

et là je fais mon insertions.

Merci de votre aide bonne journée
A voir également:

4 réponses

Jean-François Pillou Messages postés 19261 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 63 274
18 nov. 2009 à 11:00
Fais plutôt ceci :

if (!trim($customers_naissance_annee) OR !trim($mois) OR !trim($customers_naissance_jour)) {
	$error="true";
	$message.=MESSAGE."<br/><br/>";
}
0
sinifer Messages postés 312 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 12 mars 2013 11
18 nov. 2009 à 11:05
Merci mais peus-tu m'expliquer la différence stp

car je connais pas !trim

j'ai jetté un coup d'oeil sur le net mais vois pas la différence entre !trim($mois) et $mois=''

Merci
0
Jean-François Pillou Messages postés 19261 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 63 274
18 nov. 2009 à 11:20
trim() enlève les espaces en début et en fin. Donc "!trim()" vérifie qu'il reste bien quelque lorsque les espaces de début et de fin ont été enlevé. Dit autrement ça permet de vérifier qu'il y a bien une donnée autre qu'un espace.

A la réflexion tu devrais même faire ceci :
	$customers_naissance_annee=intval($_POST["annee"]);
	$mois=intval($_POST["mois"]);
	$customers_naissance_jour=intval($_POST["jour"]);
	$customers_naissance_heure=intval($_POST["heure"]);
	$minute=intval($_POST["minutes"]);
	if (!$customers_naissance_annee OR !$mois OR !$customers_naissance_jour) {
		$error="true";
		$message.=MESSAGE."<br/><br/>";
	}
	else {
		$customers_naissance=sprintf("%04d-%02d-%02d %02d:%02d", $customers_naissance_annee, $mois, $customers_naissance_jour,$customers_naissance_heure,$minute); 
	}


Cela permet de valider que chacun de tes paramètres est bien un nombre.
La ligne sprintf permet de s'assurer que l'année sera bien composée de 4 chiffres et les autres champs de 2.

Avec ça tu as un truc béton !
0
sinifer Messages postés 312 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 12 mars 2013 11
18 nov. 2009 à 11:27
je te remercie

mais le truc c'est que les dates sont choisi sur une liste déroulante
donc il y aura pas de problème d'espace ni de vérification si c'est bien des numéros

 <select name="jour">
			  <?php if ($customers_naissance_jour=="") { ?><option value=""><?php echo JOUR; ?></option><?php } else { ?><option value="<?php echo $customers_naissance_jour; ?>"><?php echo $customers_naissance_jour; ?></option><?php } ?>
			  <option value="01">01</option>
			  <option value="02">02</option>
			  <option value="03">03</option>
			  <option value="04">04</option>
			  <option value="05">05</option>


de même pour les mois et années
0
Jean-François Pillou Messages postés 19261 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 63 274
18 nov. 2009 à 18:04
Ce n'est pas parce que c'est sur une liste déroulante que tu n'auras pas des petits malins qui essayeront de passer autre chose à la main ...
0