Erreur d'inatention

zaknaou.
Invité n'ayant pas de compte PHPfrance

24 avr. 2007, 23:46

Bonjour je refait surface après 1 mois de plongée dans le php...

Et bien voilà c'est l'un des script au quel je ne trouve pas l'erreur qui est surment une erreur d'inatention...

Le script affiche que le champs iduser est vide et que le champs email à un soucis et que le champs prenom est vide SI ils sont vide onts des soucis mais les autres champs sont inoré !!
<?php

include ('inc_ouverture.php');

// RECEPTION >>

$civilite = $_POST['civilite'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$iduser = $_POST['iduser'];
$datedenaissancejour = $_POST['date_de_naissance_jour'];
$datedenaissancemois = $_POST['date_de_naissance_mois'];
$datedenaissanceannee = $_POST['date_de_naissance_annee'];
$numerorue = $_POST['numero_rue'];
$rue = $_POST['rue'];
$codepostal = $_POST['code_postal'];
$batiment = $_POST['batiment'];
$etage = $_POST['etage'];
$porte = $_POST['porte'];
$ville = $_POST['ville'];
$pays = $_POST['pays'];
$telephonefixe = $_POST['telephone_fixe'];
$telephoneportable = $_POST['telephone_portable'];
$email = $_POST['email'];
$motdepasse = $_POST['mot_de_passe'];
$confirmotdepasse = $_POST['confir_mot_de_passe'];
$avatar = $_POST['avatar'];
$siteweb = $_POST['site_web'];

// FIN DE RECEPTION >>

// CORRECTION >>

if($motdepasse == $confirmotdepasse)
{
if($civilite == "") OR ($prenom == "") OR ($iduser == "") OR ($datedenaissancejour == "") OR ($datedenaissancemois == "") OR ($datedenaissanceannee == "" $codepostal == "") OR ($ville == "") OR ($pays == "") OR ($telephonefixe == "") OR ($email == "") OR ($motdepasse == "") OR ($confirmotdepasse == "")
{

//----------------------------------------------------------------------------------------------------------------------->>

if($civilite == "")
{
$messageerreur01 = "Le champs [Civilité] est vide, veuillez le compléter";
}

//----------------------------------------------------------------------------------------------------------------------->>

elseif($prenom == "")
{
$messageerreur02 = "Le champs [Prénom] est vide, veuillez le compléter";
}

//----------------------------------------------------------------------------------------------------------------------->>

elseif($iduser == "")
{
$messageerreur03 = "Le champs [Identifiant] est vide, veuillez le compléter";
}

//----------------------------------------------------------------------------------------------------------------------->>

elseif($email == "")
{
$messageerreur04 = "Le champs [E-mail] est vide, veuillez le compléter";
}

//----------------------------------------------------------------------------------------------------------------------->>

$aroba = strpos($email,"@");

//---------------------------------------->>

if($aroba == '') 
{
$messageerreur05 = "Le champs [E-mail] doit contenir un arobase, veuillez le corriger"; 
}

//----------------------------------------------------------------------------------------------------------------------->>

$point = strpos($email,".");

//---------------------------------------->>

if($point == '') 
{
$messageerreur06 = "Le champs [E-mail] doit contenir un point, veuillez le corriger"; 
}

//----------------------------------------------------------------------------------------------------------------------->>

elseif($datedenaissancejour == "")
{
$messageerreur07 = "Le champs [Jour de naissance] est vide, veuillez le compléter";
}

//----------------------------------------------------------------------------------------------------------------------->>

elseif($datedenaissancemois == "")
{
$messageerreur08 = "Le champs [Mois de naissance] est vide, veuillez le compléter";
}

//----------------------------------------------------------------------------------------------------------------------->>

elseif($datedenaissanceannee == "")
{
$messageerreur09 = "Le champs [Année de naissance] est vide, veuillez le compléter";
}

//----------------------------------------------------------------------------------------------------------------------->>

elseif($codepostal == "")
{
$messageerreur10 = "Le champs [Code postal] est vide, veuillez le compléter";
}

//----------------------------------------------------------------------------------------------------------------------->>

elseif($ville == "")
{
$messageerreur11 = "Le champs [Ville] est vide, veuillez le compléter";
}

//----------------------------------------------------------------------------------------------------------------------->>

elseif($pays == "")
{
$messageerreur12 = "Le champs [Pays] est vide, veuillez le compléter";
}

//----------------------------------------------------------------------------------------------------------------------->>

elseif($telephonefixe == "")
{
$messageerreur13 = "Le champs [Téléphone fixe] est vide, veuillez le compléter";
}

//----------------------------------------------------------------------------------------------------------------------->>

elseif($motdepasse == "")
{
$messageerreur14 = "Le champs [Mot de passe] est vide, veuillez le compléter";
}

//----------------------------------------------------------------------------------------------------------------------->>

elseif($confirmotdepasse == "")
{
$messageerreur15 = "Le champs [Confirmation du mot de passe] est vide, veuillez le compléter";
}

//----------------------------------------------------------------------------------------------------------------------->>

// vérification du fichier uploader !!

//----------------------------------------------------------------------------------------------------------------------->>

$_SESSION['01'] = $messageerreur01;
$_SESSION['02'] = $messageerreur02;
$_SESSION['03'] = $messageerreur03;
$_SESSION['04'] = $messageerreur04;
$_SESSION['05'] = $messageerreur05;
$_SESSION['06'] = $messageerreur06;
$_SESSION['07'] = $messageerreur07;
$_SESSION['08'] = $messageerreur08;
$_SESSION['09'] = $messageerreur09;
$_SESSION['10'] = $messageerreur10;
$_SESSION['11'] = $messageerreur11;
$_SESSION['12'] = $messageerreur12;
$_SESSION['13'] = $messageerreur13;
$_SESSION['14'] = $messageerreur14;
$_SESSION['15'] = $messageerreur15;

header('location:error_inscrip.php');
}
else
{
// insert base de donnée
}
}
else
{
header('location:error_inscrip_mdp.php');
}

include ('inc_deconnexion_mysl.php');

?>

Mammouth du PHP | 19672 Messages

25 avr. 2007, 08:10

Il y a un problème de parenthèses manquantes dans ton second if()

Suggestion : indente ton code et rends ça un peu lisible, ce sera plus facile pour repérer des erreurs du genre. Corrigé :
<?php
include ('inc_ouverture.php');

// RECEPTION >>
$civilite               = $_POST['civilite'];
$nom                    = $_POST['nom'];
$prenom                 = $_POST['prenom'];
$iduser                 = $_POST['iduser'];
$datedenaissancejour    = $_POST['date_de_naissance_jour'];
$datedenaissancemois    = $_POST['date_de_naissance_mois'];
$datedenaissanceannee   = $_POST['date_de_naissance_annee'];
$numerorue              = $_POST['numero_rue'];
$rue                    = $_POST['rue'];
$codepostal             = $_POST['code_postal'];
$batiment               = $_POST['batiment'];
$etage                  = $_POST['etage'];
$porte                  = $_POST['porte'];
$ville                  = $_POST['ville'];
$pays                   = $_POST['pays'];
$telephonefixe          = $_POST['telephone_fixe'];
$telephoneportable      = $_POST['telephone_portable'];
$email                  = $_POST['email'];
$motdepasse             = $_POST['mot_de_passe'];
$confirmotdepasse       = $_POST['confir_mot_de_passe'];
$avatar                 = $_POST['avatar'];
$siteweb                = $_POST['site_web'];
// FIN DE RECEPTION >>

// CORRECTION >>
if($motdepasse == $confirmotdepasse)
{
    if(
        ($civilite == "") || 
        ($prenom == "") || 
        ($iduser == "") || 
        ($datedenaissancejour == "") || 
        ($datedenaissancemois == "") || 
        ($datedenaissanceannee == "") || 
        ($codepostal == "") || 
        ($ville == "") || 
        ($pays == "") || 
        ($telephonefixe == "") || 
        ($email == "") || 
        ($motdepasse == "") || 
        ($confirmotdepasse == "")
    )
    {

        //-------------------------------------------------------------------------->>

        if($civilite == "")
        {
            $messageerreur01 = "Le champs [Civilité] est vide, veuillez le compléter";
        }

        //-------------------------------------------------------------------------->>

        elseif($prenom == "")
        {
            $messageerreur02 = "Le champs [Prénom] est vide, veuillez le compléter";
        }

        //-------------------------------------------------------------------------->>

        elseif($iduser == "")
        {
            $messageerreur03 = "Le champs [Identifiant] est vide, veuillez le compléter";
        }

        //-------------------------------------------------------------------------->>

        elseif($email == "")
        {
            $messageerreur04 = "Le champs [E-mail] est vide, veuillez le compléter";
        }

        //-------------------------------------------------------------------------->>

        $aroba = strpos($email,"@");

        //---------------------------------------->>

        if($aroba == '')
        {
            $messageerreur05 = "Le champs [E-mail] doit contenir un arobase, veuillez le corriger";
        }

        //-------------------------------------------------------------------------->>

        $point = strpos($email,".");

        //---------------------------------------->>

        if($point == '')
        {
            $messageerreur06 = "Le champs [E-mail] doit contenir un point, veuillez le corriger";
        }

        //-------------------------------------------------------------------------->>

        elseif($datedenaissancejour == "")
        {
            $messageerreur07 = "Le champs [Jour de naissance] est vide, veuillez le compléter";
        }

        //-------------------------------------------------------------------------->>

        elseif($datedenaissancemois == "")
        {
            $messageerreur08 = "Le champs [Mois de naissance] est vide, veuillez le compléter";
        }

        //-------------------------------------------------------------------------->>

        elseif($datedenaissanceannee == "")
        {
            $messageerreur09 = "Le champs [Année de naissance] est vide, veuillez le compléter";
        }

        //-------------------------------------------------------------------------->>

        elseif($codepostal == "")
        {
            $messageerreur10 = "Le champs [Code postal] est vide, veuillez le compléter";
        }

        //-------------------------------------------------------------------------->>

        elseif($ville == "")
        {
            $messageerreur11 = "Le champs [Ville] est vide, veuillez le compléter";
        }

        //-------------------------------------------------------------------------->>

        elseif($pays == "")
        {
            $messageerreur12 = "Le champs [Pays] est vide, veuillez le compléter";
        }

        //-------------------------------------------------------------------------->>

        elseif($telephonefixe == "")
        {
            $messageerreur13 = "Le champs [Téléphone fixe] est vide, veuillez le compléter";
        }

        //-------------------------------------------------------------------------->>

        elseif($motdepasse == "")
        {
            $messageerreur14 = "Le champs [Mot de passe] est vide, veuillez le compléter";
        }

        //-------------------------------------------------------------------------->>

        elseif($confirmotdepasse == "")
        {
            $messageerreur15 = "Le champs [Confirmation du mot de passe] est vide, veuillez le compléter";
        }

        //-------------------------------------------------------------------------->>

        // vérification du fichier uploader !!

        //-------------------------------------------------------------------------->>

        $_SESSION['01'] = $messageerreur01;
        $_SESSION['02'] = $messageerreur02;
        $_SESSION['03'] = $messageerreur03;
        $_SESSION['04'] = $messageerreur04;
        $_SESSION['05'] = $messageerreur05;
        $_SESSION['06'] = $messageerreur06;
        $_SESSION['07'] = $messageerreur07;
        $_SESSION['08'] = $messageerreur08;
        $_SESSION['09'] = $messageerreur09;
        $_SESSION['10'] = $messageerreur10;
        $_SESSION['11'] = $messageerreur11;
        $_SESSION['12'] = $messageerreur12;
        $_SESSION['13'] = $messageerreur13;
        $_SESSION['14'] = $messageerreur14;
        $_SESSION['15'] = $messageerreur15;

        header('location:error_inscrip.php');
    }
    else
    {
        // insert base de donnée
    }
}
else
{
    header('location:error_inscrip_mdp.php');
}

include ('inc_deconnexion_mysl.php');
?>
Pas plus propre comme ça ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

zaknaou.
Invité n'ayant pas de compte PHPfrance

25 avr. 2007, 14:51

Merci

Par contre pour l'erreur de d'affichage pourquoi par exemple :

$prenom affiche le message si vide

Alors que

$codepostal n'affiche pas le message si vide

je ne vois aucune différence... dans la ménière donc été traité les deux vériables...

Mammouth du PHP | 19672 Messages

25 avr. 2007, 16:16

D'abord il faudrait voir le code de ton formulaire pour vérifier que tu récupères bien les bons index. Ensuite, tu pourrais récupérer les données en leur appliquant un pré-traitement pour supprimer les espaces inutiles en début et en fin de chaine avec trim(), par exemple :
$nom = isset($_POST['nom']) ? trim($_POST['nom']) : "";
Ce que faisant, tu auras au pire une chaine vide qui sera interceptée par tes instructions de validation.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

zaknaou.
Invité n'ayant pas de compte PHPfrance

25 avr. 2007, 22:42

Voilà j'ai apporté quelques modifications dont trime :
<?php 

include ('inc_ouverture.php'); 

//------------------------------RECEPTION DES CHAMPS DE FORMULAIRES------------------------------>>
 
$civilite                isset($_POST['civilite']) ? trim($_POST['civilite']) : ""; 
$nom                     isset($_POST['nom']) ? trim($_POST['nom']) : ""; 
$prenom                  isset($_POST['prenom']) ? trim($_POST['prenom']) : ""; 
$iduser                  isset($_POST['iduser']) ? trim($_POST['iduser']) : ""; 
$jour   				 isset($_POST['jour']) ? trim($_POST['jour']) : ""; 
$mois    				 isset($_POST['mois']) ? trim($_POST['mois']) : ""; 
$annee   				 isset($_POST['annee']) ? trim($_POST['annee']) : ""; 
$numrue       	       	 isset($_POST['numrue']) ? trim($_POST['numrue']) : ""; 
$rue                     isset($_POST['rue']) ? trim($_POST['rue']) : ""; 
$postal             	 isset($_POST['postal']) ? trim($_POST['postal']) : ""; 
$batiment                isset($_POST['batiment']) ? trim($_POST['batiment']) : ""; 
$etage                   isset($_POST['etage']) ? trim($_POST['etage']) : ""; 
$porte                   isset($_POST['porte']) ? trim($_POST['porte']) : ""; 
$ville                   isset($_POST['ville']) ? trim($_POST['ville']) : ""; 
$pays                    isset($_POST['pays']) ? trim($_POST['pays']) : ""; 
$fixe          			 isset($_POST['fixe']) ? trim($_POST['fixe']) : ""; 
$portable      			 isset($_POST['portable']) ? trim($_POST['portable']) : ""; 
$email                   isset($_POST['email']) ? trim($_POST['email']) : ""; 
$mdp             		 isset($_POST['mdp']) ? trim($_POST['mdp']) : ""; 
$confirmation      	 	 isset($_POST['confirmation']) ? trim($_POST['confirmation']) : ""; 
$avatar                  isset($_POST['avatar']) ? trim($_POST['avatar']) : ""; 
$site		             isset($_POST['site']) ? trim($_POST['site']) : ""; 

//--------------------------FIN DE RECEPTION DES CHAMPS DE FORMULAIRES--------------------------->>

if(($civilite == "") || ($prenom == "") || ($iduser == "") || ($datedenaissancejour == "") || ($datedenaissancemois == "") || ($datedenaissanceannee == "") || ($codepostal == "") || ($ville == "") || ($pays == "") || ($telephonefixe == "") || ($email == "") || ($motdepasse == "") || ($confirmotdepasse == ""))
{
    
//---------------------------------VERIFICATION DES CHAMPS VIDE--------------------------------->>

if	($civilite 		== "")	{ $_SESSION['civilite'] 		= 	"Le champs [Civilité] est vide, veuillez le compléter"; }
if	($prenom 		== "")	{ $_SESSION['prenom'] 			= 	"Le champs [Prenom] est vide, veuillez le compléter"; }
if	($iduser 		== "")	{ $_SESSION['iduser'] 			= 	"Le champs [Identifiant] est vide, veuillez le compléter"; }
if	($email 		== "")	{ $_SESSION['email'] 			= 	"Le champs [E-mail] est vide, veuillez le compléter"; }
if	($iduser 		== "")	{ $_SESSION['iduser'] 			= 	"Le champs [Identifiant] est vide, veuillez le compléter"; }
if	($jour	 		== "")	{ $_SESSION['jour'] 			= 	"Le champs [Jour de naissance] est vide, veuillez le compléter"; }
if	($mois 			== "")	{ $_SESSION['mois'] 			= 	"Le champs [Mois de naissance] est vide, veuillez le compléter"; }
if	($annee 		== "")	{ $_SESSION['annee'] 			= 	"Le champs [Année de naissance] est vide, veuillez le compléter"; }
if	($postal 		== "")	{ $_SESSION['postal'] 			= 	"Le champs [Code postal] est vide, veuillez le compléter"; }
if	($ville 		== "")	{ $_SESSION['ville'] 			= 	"Le champs [Ville] est vide, veuillez le compléter"; }
if	($pays	 		== "")	{ $_SESSION['pays'] 			= 	"Le champs [Pays] est vide, veuillez le compléter"; }
if	($fixe 			== "")	{ $_SESSION['fixe'] 			= 	"Le champs [Numéro de téléphone fixe] est vide, veuillez le compléter"; }
if	($portable 		== "")	{ $_SESSION['portable'] 		= 	"Le champs [Numéro de téléphone portable] est vide, veuillez le compléter"; }
if	($mdp 			== "")	{ $_SESSION['mdp'] 				= 	"Le champs [Mot de passe] est vide, veuillez le compléter"; }
if	($confirmation 	== "")	{ $_SESSION['confirmation'] 	= 	"Le champs [Confirmation du mot de passe] est vide, veuillez le compléter"; }

//------------------------------FIN DE VERIFICATION DES CHAMPS VIDE------------------------------>>

//--------------------------------VERIFICATION SPECIAL DES CHAMPS-------------------------------->>

// CHAMPS EMAIL AVEC @
$aroba = strpos($email,"@"); if($aroba == ''){$_SESSION['arobase'] = "Le champs [E-mail] doit contenir un arobase, veuillez le corriger";}

// CHAMPS EMAIL AVEC .
$point = strpos($email,".");if($point == ''){$_SESSION['point'] = "Le champs [E-mail] doit contenir un point, veuillez le corriger"; } 

// CHAMPS MDP = CONFIRMATION
if($mdp == $confirmation){}else{ $_SESSION['differance'] 		= 	"Le champs [Mot de passe] n'est pas égal au champs [Confirmation du mot de passe], veuillez le corriger";}



//-----------------------------FIN DE VERIFICATION SPECIAL DES CHAMPS----------------------------->>
		
header('location:error_inscrip.php');
} 
else 
{
mysql_query(" INSERT INTO user (iduser) VALUES ('$iduser') ") 	or (header('location:error_inscrip_user.php'));
mysql_query(" UPDATE user SET email = $email 			WHERE iduser = '$iduser'") 	or (header('location:error_inscrip_email.php'));
mysql_query(" UPDATE user SET portable = $portable	 	WHERE iduser = '$iduser'") or (header('location:error_inscrip_portable.php'));

mysql_query(" UPDATE user SET civilite = $civilite nom = $nom prenom = $prenom jour = $jour mois = $mois annee = $annee numrue = $numrue rue = $rue postal = $postal batiment = $batiment etage = $etage ville = $ville pays = $pays fixe = $fixe mdp = $mdp confirmation = $confirmation avatar = $avatar site = $site WHERE iduser = '$iduser'");

//-----------------------------VERIFICATION DE L'AVATAR----------------------------->>

$fwde = $fw_POST['de'];
$fwa = $fw_POST['a'];
$fwmessage = $fw_POST['message'];

include ('inc_date_heure.php');

$fwdossier = 'upload/';
$fwavatar = basename($fw_FILES['avatar']['name']);
$fwtaille_maxi = 100000;
$fwtaille = filesize($fw_FILES['avatar']['tmp_name']);
$fwextensions = array('.png', '.gif', '.jpg', '.jpeg', '.bmp');
$fwextension = strrchr($fw_FILES['avatar']['name'], '.'); 

if(!in_array($fwextension, $fwextensions))
{
     $fwerreur = '1';
}
if($fwtaille>$fwtaille_maxi)
{
     $fwerreur = '1';
}
if(!isset($fwerreur))
{
     $fwavatar = strtr($fwavatar, 
          'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fwavatar = preg_replace('/([^.a-z0-9]+)/i', '-', $fwavatar);
     if(move_uploaded_file($fw_FILES['avatar']['tmp_name'], $fwdossier . $fwavatar))
     {
          header('location:conf_avatar.php');
     }
     else
     {
          header('location:error_avatar.php');
     }
}
else
{
if($fwerreur == "1")
{
header('location:error_avatar.php');
}
}
mysql_query(" UPDATE user SET avatar = '$avatar' WHERE iduser = '$iduser' ");

//------------------------FIN DE LA VERIFICATION DE L'AVATAR------------------------>>
}

include ('inc_deconnexion_mysl.php');

?>

Mammouth du PHP | 19672 Messages

26 avr. 2007, 07:39

Et... :?: ça fonctionne mieux ? Si oui, pense au tag [Résolu]
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 259 Messages

26 avr. 2007, 08:58

Hello,

Note pour la suite : Ceci est un message pollueur, mais en rapport (plus ou moins lointain, il est vrai) avec certains thèmes abordés dans ce sujet. Si ce message est malvenu, un message d'un modo et je l'effacerai ;)

Donc une question super bete :
lorsque je vois ceci :
if( isset( $_GET['var'] ) ) $var = $_GET['var'];
Je me dis que
$var = @$_GET['var'];
revient exactement au même (la cagouille est choquante car généralement mal utilisée, mais dans ce cas précis, elle me parait fortement avantageuse).
Quelqu'un de plus expert pourrait peut-être expliquer si faille il y a, ou un vice caché de l'arobase ?

ViPHP
ViPHP | 5924 Messages

26 avr. 2007, 12:30

La on va chercher dans les subtilités de php.
Je viens de vérifier (en PHP5), en fait, les 2 méthodes te donnent exactement la même variable $test, à savoir que si $_GET['test'] n'existe pas, $test sera indéfini (de valeur NULL) et donnera false s'il passe dans isset.
La différence est qu'en cas d'inexistance d'une variable ou d'un index, une erreur notice est générée. Et dans le cas
$var = @$_GET['var'];
l'erreur est masquée, alors que dans l'autre cas, une erreur sera générée à chaque appel de la variable $test qui n'aurait pas été précédé de @.
Si on avait voulu être rigoureux, on aurait dit que
$var = @$_GET['var'];
est totalement équivalent à
$test = isset($_GET['var'])?$_GET['var']:NULL;
Mais, dans tous les cas, je ne suis pas fan des @ ou bien des affectations if(...) $machin=...; . J'ai tendance à conseiller plutôt l'emploi de l'opérateur ternaire pour ces opérations là, quitte à associer la valeur NULL si on veut que le variable reste indéfinie.

Eléphant du PHP | 259 Messages

26 avr. 2007, 13:49

je serais en théorie d'accord si la comparaison ternaire etait pas une catastrophe en terme de perfs...
d'expérience, sur une classe de template, en remplaçant une comparaison ternaire par un if/else, j'avais divisé le temps de génération par 3 (bon évidemment c'était sur un test de capacité ultra poussif) ;)

ViPHP
ViPHP | 5924 Messages

26 avr. 2007, 14:13

Bah écoute, je viens de faire un test rapidement :
<?php

set_time_limit(0);

for($count=0;$count<1000;$count++)
{
	$var[mt_rand(0,2000)] = $count;
}

$time = microtime();
for($i=0;$i<1000;$i++)
{
	echo '<br />';
	echo isset($var[$i])?$var[$i]:0;
}
echo '<br /><br />';
echo 'time : ' . (microtime() - $time);
echo '<br /><br /><br />';

sleep(10);

$time = microtime();
for($i=0;$i<1000;$i++)
{
	echo '<br />';
	if(isset($var[$i]))
	{
		echo $var[$i];
	}
	else
	{
		echo 0;
	}
}
echo '<br /><br />';
echo 'time : ' . (microtime() - $time);

?>
Et c'est l'opérateur ternaire qui est devant :
time : 0.004822
time : 0.065895

Eléphant du PHP | 259 Messages

26 avr. 2007, 14:31

tiens oui, je viens de reprendre ton test, j'obtiens des temps a peu pres équivalents selon la méthode... avec meme un léger avantage pour l'op ternaire...

bizarre, j'avais toujours vu le contraire...

ton script doit etre bugué ! :langue:

bon bah ca va peut etre me reconcilier avec l'op ternaire... que j'évitais comme la peste... :)

ViPHP
ViPHP | 5924 Messages

26 avr. 2007, 14:34

ton script doit etre bugué ! :langue:
C'est cela oui :D
bon bah ca va peut etre me reconcilier avec l'op ternaire... que j'évitais comme la peste... :)
Bah il est bien pratique quand même...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

26 avr. 2007, 14:36

Je crois surtout que l'opérateur ternaire se dégrade quand ils sont imbriqués (et peut même avoir des effets innatendus au dela d'un certain nombre) ... Mais quitte à ne pas l'utiliser, plutôt qu'un if/else, je verrais plus un simple if et une déclaration et initialisation préalable (l'habitude de java :))
$var = 0;
if (isSet(...))
  $var = ... ;
J'ai pas php pour tester mais je pense que cela réduirait un peu le temps de traitement constaté ci-dessus :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

ViPHP
ViPHP | 5924 Messages

26 avr. 2007, 14:37

l'habitude de java :)
java caca...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

26 avr. 2007, 15:09

ah ouais tiens.. c'est les mêmes voyelles et en plus ça rime, c'est fort ça :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...