IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Comment simplifier mon script ?


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Par défaut Comment simplifier mon script ?
    Slt a toutes et à tous.

    je suis tout nouveau sur le forum, mais je connais déjà le site depuis un bon moment, car j'y trouve tous ce que je veux come info, j'ai même fait mes premier mini progs (calculatrices, convertisseurs..Ect lol ) en me servant des tutos de developpez.

    Bon après cette petite intro publicitaire !! je vous expose mon problème.

    Au fait je débute en PHP et j'aimerais avoir un petit coup de pouce pour mon code ci dessous.

    Je suis persuadé qu'il ya un moyen de faire 2 fois plus court et plus efficace mais comment ? c'est pour cela que j'ai besoin de votre aide .

    PS : Mon code ne sert pas à grand chose à présent (il demande le nom, prenom + age et envoie un message d'erreur en fonction de la réponse), je voudrais tout simplement savoir coment remplacer les conditions IF..else en plus simple =), après je tenterais bien de mettre une DB avec plusieurs enregistrements..Ect

    MErci d'avance et bonne journée.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
     
    <html><body>
     
    <?php
    $nom = $_POST['nom'];
    $prenom = $_POST['prenom'];
    $age = $_POST['age'];
     
    echo "<u>Tes info perso sont</u> : <br><br>Nom : &nbsp<font color='green'>$nom</font> &nbsp &nbsp <br> Prenom : <font color='green'>$prenom</font> <br>Age : <font color='green'>$age ans</font><br><br>";
     
    if ($nom == 'Dupond' & $prenom == 'Julien' & $age == '21') {echo "Bas ca va tu te connais assez bien lol !";}
     
    else {echo " Arrête de mito ou que tu ne t'apelle pas <font color='blue'><b>$prenom</b></font> ou ton nom de famille c'est pas <font color='blue'><b>$nom</b></font> ou bien ta pas <font color='blue'><b>$age</b></font> ans non plus. <br>Ou bien encore t'as dû faire des erreurs en tapant. <br><br>Pour plus de détails voici ci dessous les informations erronées<br><br> <font color='red'> <u>Erreurs</u> : <br><br></font> " ;}
     
     
     
     
    if ($nom == 'Dupond' & $prenom == 'Julien' & $age != '21') {echo "<font color='Orange'>==></font> Le champ <font color='Orange'>'Age'</font> a été mal renseigné <br>";}
    else {}
     
    if ($nom == 'Dupond' & $prenom != 'Julien' & $age == '21') {echo "<font color='Orange'>==></font> Le champ <font color='Orange'>'Prénom'</font> a été mal renseigné <br>";}
     
    else {}
     
    if ($nom == 'Dupond' & $prenom != 'Julien' & $age != '21') {echo "<font color='Orange'>==></font> Le champ <font color='Orange'>Prénom et Age </font> ont mal été renseigné <br><br> ";}
    else {}
     
    if ($nom != 'Dupond' & $prenom == 'Julien' & $age == '21') {echo "<font color='Orange'>==></font> Le champ <font color='Orange'>'Nom'</font> a été mal renseigné <br><br> ";}
    else {}
     
    if ($nom != 'Dupond' & $prenom == 'Julien' & $age != '21') {echo "<font color='Orange'>==></font> Le champ <font color='Orange'>'Age et Nom'</font> ont été mal renseigné <br><br> ";}
    else {}
     
     
    if ($nom != 'Dupond' & $prenom != 'Julien' & $age == '21') {echo "<font color='Orange'>==></font> Le champ <font color='Orange'>'Nom et Prénom'</font> a été mal renseigné <br><br> ";}
    else {}
     
    if ($nom != 'Dupond' & $prenom != 'Julien' & $age != '21') {echo "<font color='Orange'>==></font> <font color='Orange'>Aucun</font> champ n'a été renseigné correctement <br><br> ";}
    else {}
     
    ?>
     
    <a href="javascript:history.back()"> <br><br>
     
    >> Corrige test infos << </a>
     
    </body></html>

  2. #2
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <html><body>
     
    <?php
    $nom = $_POST['nom'];
    $prenom = $_POST['prenom'];
    $age = $_POST['age'];
     
    echo "<u>Tes info perso sont</u> : <br><br>Nom : &nbsp<font color='green'>$nom</font> &nbsp &nbsp <br> Prenom : <font color='green'>$prenom</font> <br>Age : <font color='green'>$age ans</font><br><br>";
     
    if ($nom == 'Dupond' && $prenom == 'Julien' && $age == '21') {
       echo "Bas ca va tu te connais assez bien lol !";
    } else {
       echo " 
          Arrête de mito ou que tu ne t'apelle pas <font color='blue'><b>$prenom</b></font> 
          ou ton nom de famille c'est pas <font color='blue'><b>$nom</b></font> 
          ou bien ta pas <font color='blue'><b>$age</b></font> ans non plus.<br>
          Ou bien encore t'as dû faire des erreurs en tapant. <br><br>
          Pour plus de détails voici ci dessous les informations erronées<br><br>
           <font color='red'> <u>Erreurs</u> : <br><br></font>";
     
       if ($nom != 'Dupond') {
          echo "<font color='Orange'>==></font> Le champ <font color='Orange'>'Nom'</font> a été mal renseigné <br><br> ";
       }
       if ($prenom != 'Julien') {
          echo "<font color='Orange'>==></font> Le champ <font color='Orange'>'Prénom'</font> a été mal renseigné <br>";
       }
       if ($age != '21') {
          echo "<font color='Orange'>==></font> Le champ <font color='Orange'>'Age'</font> a été mal renseigné <br>";
       }
    }
    ?>
     
    <a href="javascript:history.back()"> <br><br>
     
    >> Corrige test infos << </a>
     
    </body></html>

  3. #3
    Membre éclairé Avatar de elvan49
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 274
    Par défaut
    Pour le début dus cript il vaut mieux penser à concaténer tes chaines. avec tes variables string. En php tu concatène avec le symbole '.'
    Tu fermes tes guillemets tu ajoutes ta variable et tu réouvres...etc.
    Pour les conditions les symboles sont :
    ET => &&,
    OU => ||
    N'EST PAS => !=

    Cf. ci-dessous les parties en rouge
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    <html><body>
    
    <?php
    $nom = $_POST['nom'];
    $prenom = $_POST['prenom'];
    $age = $_POST['age'];
    
    echo "<u>Tes info perso sont</u> : <br><br>Nom : &nbsp<font color='green'>" . $nom . "</font> &nbsp &nbsp <br> Prenom : <font color='green'>" . $prenom . "</font> <br>Age : <font color='green'>" . $age . "ans</font><br><br>";
    
    if ($nom == 'Dupond' && $prenom == 'Julien' && $age == '21') {echo "Bas ca va tu te connais assez bien lol !";}
        
    else {echo " Arrête de mito ou que tu ne t'apelle pas <font color='blue'><b>" . $prenom . "</b></font> ou ton nom de famille c'est pas <font color='blue'><b>" . $nom . "</b></font> ou bien ta pas <font color='blue'><b>" . "$age . "</b></font> ans non plus. <br>Ou bien encore t'as dû faire des erreurs en tapant. <br><br>Pour plus de détails voici ci dessous les informations erronées<br><br> <font color='red'> <u>Erreurs</u> : <br><br></font> " ;}
    Pour la suite j'utiliserai la structure conditionnelle switch().

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    switch ($nom)
    {
    case "Dupond":$msg .= "nom=ok<br>" ;break;
    default:$msg .= "Tu connais pas ton nom !<br>";
    }
    switch($prenom)
    {
    case "Julien":$msg .= "prenom=ok<br>";break;
    default:$msg .= "tu connais pas ton prénom !!<br >";
    }
    switch($age)
    {
    case "21":$msg .= "ok pour l'âge<br>";break;
    default:$msg .= "tu connais pas ton âge !!!<br>";
    }
     
    echo $msg;
    tu noteras les '.' devant le signe = ce qui permet de concaténer les chaines dans la variable $msg.

    Essaie de voir

  4. #4
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Bien vu les && !

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 16
    Par défaut
    Citation Envoyé par elvan49

    Pour la suite j'utiliserai la structure conditionnelle switch().

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    switch ($nom)
    {
    case "Dupond":$msg .= "nom=ok<br>" ;break;
    default:$msg .= "Tu connais pas ton nom !<br>";
    }
    switch($prenom)
    {
    case "Julien":$msg .= "prenom=ok<br>";break;
    default:$msg .= "tu connais pas ton prénom !!<br >";
    }
    switch($age)
    {
    case "21":$msg .= "ok pour l'âge<br>";break;
    default:$msg .= "tu connais pas ton âge !!!<br>";
    }
     
    echo $msg;
    Essaie de voir
    Quel est l'intérêt d'utiliser des switchs pour ce que tu fais ? Enfin hormis le fait de dire que tu en utilises ?

  6. #6
    Membre éclairé Avatar de elvan49
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 274
    Par défaut switch or not switch
    Effectivement, on peut faire autrement. il me semble que le code est cependant plus lisible, plus clair ainsi. Moins chargé quoi.
    D'autre-part, je n'ai, au final, plus qu'un seul echo. Sinon la fonction revient au même qu'avec if, tu as raison. C'est juste une question de clareté (mais c'est sans doute très subjectif)

    A+

  7. #7
    Membre émérite Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2006
    Messages : 858
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <html>
    <body>
     
    <?php
     
    $nom = $_POST['nom'];
    $prenom = $_POST['prenom'];
    $age = $_POST['age'];
     
    echo "<u>Tes info perso sont</u> : <br /><br />";
    echo "Nom : &nbsp<font color='green'>$nom</font> &nbsp &nbsp <br> Prenom : <font color='green'>$prenom</font> <br>Age : <font color='green'>$age ans</font><br><br>";
     
    if ($nom == 'Dupond' & $prenom == 'Julien' & $age == '21') {
    echo "Bas ca va tu te connais assez bien lol !";
    }
    else {
    echo " Arrête de mito ou que tu ne t'apelle pas <font color='blue'><b>$prenom</b></font> ou ton nom de famille c'est pas <font color='blue'><b>$nom</b></font> ou bien ta pas <font color='blue'><b>$age</b></font> ans non plus. <br>Ou bien encore t'as dû faire des erreurs en tapant. <br><br>Pour plus de détails voici ci dessous les informations erronées<br><br> <font color='red'> <u>Erreurs</u> : <br><br></font>";
    }
    Jusque la ca va Parc ontre la suite il y a moyen de faire beaucoup plus leger que des if partout

    Genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    if ($age != '21') {
    echo "<font color='Orange'>==></font><font color='Orange'>'Age'</font>";
    }
    else {}
     
    if ($prenom != 'Julien') {
    echo "<font color='Orange'>==></font><font color='Orange'>'Prénom'</font>";
    }
    else {}
     
    if ($nom != 'Dupond') {
    echo "<font color='Orange'>==></font><font color='Orange'>'Nom'</font>";
    }
    else {}
     
    if ($nom != 'Dupond' & $prenom != 'Julien' & $age != '21') {
    echo "<font color='Orange'>==></font> <font color='Orange'>Aucun</font>";}
    else {}
     
    echo "champ n'a été renseigné correctement <br><br>"; 
    ?>
     
    <a href="javascript:history.back()"> <br><br>
     
    >> Corrige test infos << </a>
     
    </body></html>
    J'ai pas testé mais tu vois le truc ? Tu verifies juste les variables et tu affiches apres celle qui on mal été remplies suivi de " ont mal été remplies"

    Voila

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Par défaut
    Citation Envoyé par Mr N.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <html><body>
     
    <?php
    $nom = $_POST['nom'];
    $prenom = $_POST['prenom'];
    $age = $_POST['age'];
     
    echo "<u>Tes info perso sont</u> : <br><br>Nom : &nbsp<font color='green'>$nom</font> &nbsp &nbsp <br> Prenom : <font color='green'>$prenom</font> <br>Age : <font color='green'>$age ans</font><br><br>";
     
    if ($nom == 'Dupond' && $prenom == 'Julien' && $age == '21') {
       echo "Bas ca va tu te connais assez bien lol !";
    } else {
       echo " 
          Arrête de mito ou que tu ne t'apelle pas <font color='blue'><b>$prenom</b></font> 
          ou ton nom de famille c'est pas <font color='blue'><b>$nom</b></font> 
          ou bien ta pas <font color='blue'><b>$age</b></font> ans non plus.<br>
          Ou bien encore t'as dû faire des erreurs en tapant. <br><br>
          Pour plus de détails voici ci dessous les informations erronées<br><br>
           <font color='red'> <u>Erreurs</u> : <br><br></font>";
     
       if ($nom != 'Dupond') {
          echo "<font color='Orange'>==></font> Le champ <font color='Orange'>'Nom'</font> a été mal renseigné <br><br> ";
       }
       if ($prenom != 'Julien') {
          echo "<font color='Orange'>==></font> Le champ <font color='Orange'>'Prénom'</font> a été mal renseigné <br>";
       }
       if ($age != '21') {
          echo "<font color='Orange'>==></font> Le champ <font color='Orange'>'Age'</font> a été mal renseigné <br>";
       }
    }
    ?>
     
    <a href="javascript:history.back()"> <br><br>
     
    >> Corrige test infos << </a>
     
    </body></html>

    Bonsoir les gas merci Totues vos réponses me conviennent mais celle de Mr.N correspond exactement ce que je voulais !! (c'est bien ce qu'on apelle les condiftions imbriquées ca non ? )..

    Bref en tout cas je ferme pas le topic puisque je vais avancer dans mon script et j'aurai probablement besoin d'un coup de main encore =) .

    ps : je peux vous lire que le soir car boulo oblige..
    ciao

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/05/2012, 12h01
  2. [XL-2007] Comment simplifier mon code VBA SVP?
    Par anthooooony dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/02/2012, 10h59
  3. Comment tester mon script de purge
    Par PAB/31/SAB dans le forum VBScript
    Réponses: 0
    Dernier message: 01/06/2011, 17h24
  4. Comment transformer mon script .dll en .so
    Par ApocKalipsS dans le forum C++
    Réponses: 7
    Dernier message: 04/07/2010, 18h01
  5. comment executer mon script perl
    Par specimen35 dans le forum Langage
    Réponses: 0
    Dernier message: 19/12/2007, 16h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo