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 :

Problème script simple [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 10
    Par défaut Problème script simple
    Bonsoir,

    Voici le script que j'ai créé:
    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
    <?php
    $prd = $_GET['prd'];
    $type = $_GET['type'];
     
    if($prd == '1') {
    $couleur = 'blue';
    if($type == '15J') {$item_name='Compte UTB Premium 15 jours'; $amount='1.65';}
    elseif($type == '1M') {$item_name='Compte UTB Premium 1 mois'; $amount='3.30';}
    elseif($type == '3M') {$item_name='Compte UTB Premium 3 mois'; $amount='9';}
    elseif($type == '6M') {$item_name='Compte UTB Premium 6 mois'; $amount='16.90';}
    elseif($type == '1A') {$item_name='Compte UTB Premium 1 an'; $amount='34';}
    else {die('<b>Erreur:</b> type de produit incorrect.<br>Merci de contacter le support en mentionnant ce message.');}
    }
    if($prd == '2') {
    $couleur = 'yellow';
    if($type == '3J') {$item_name='Compte HF Premium 3 jours'; $amount='4.20';}
    elseif($type == '1M') {$item_name='Compte HF Premium 1 mois'; $amount='6';}
    elseif($type == '6M') {$item_name='Compte HF Premium 6 mois'; $amount='22.99';}
    elseif($type == '1A') {$item_name='Compte HF Premium 1 an'; $amount='33.99';}
    else {die('<b>Erreur:</b> type de produit incorrect.<br>Merci de contacter le support en mentionnant ce message.');}
    }
    else {die('<b>Erreur:</b> produit inconnu.');}
    ?>
    Mais ça ne fonctionne pas !
    Exemple: lorsque je met dans l'URL "prd=1&type=15J", il me met l'erreur "produit inconnu" alors que si je ne met que "prd=1" dans l'URL, il me met que le type de produit est incorrect (ce qui est donc bon puisque je ne l'ai pas entré).
    Je ne comprends donc pas pourquoi lorsque je met les deux valeurs prd et type dans l'url, ça bloque... ?

    Merci beaucoup d'avance pour votre aide !
    Bonne soirée.

  2. #2
    Membre très actif
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Par défaut
    C'est normal, il manque un else.

    Et n'oublie pas les echo sont là pour tracer...


    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
    <?php
    $prd = $_GET['prd'];
    $type = $_GET['type'];
     
    if($prd == '1') {
    $couleur = 'blue';
    if($type == '15J') {$item_name='Compte UTB Premium 15 jours'; $amount='1.65';}
    elseif($type == '1M') {$item_name='Compte UTB Premium 1 mois'; $amount='3.30';}
    elseif($type == '3M') {$item_name='Compte UTB Premium 3 mois'; $amount='9';}
    elseif($type == '6M') {$item_name='Compte UTB Premium 6 mois'; $amount='16.90';}
    elseif($type == '1A') {$item_name='Compte UTB Premium 1 an'; $amount='34';}
    else {die('<b>Erreur:</b> type de produit incorrect.<br>Merci de contacter le support en mentionnant ce message.');}
    }
    elseif($prd == '2') {
    $couleur = 'yellow';
    if($type == '3J') {$item_name='Compte HF Premium 3 jours'; $amount='4.20';}
    elseif($type == '1M') {$item_name='Compte HF Premium 1 mois'; $amount='6';}
    elseif($type == '6M') {$item_name='Compte HF Premium 6 mois'; $amount='22.99';}
    elseif($type == '1A') {$item_name='Compte HF Premium 1 an'; $amount='33.99';}
    else {die('<b>Erreur:</b> type de produit incorrect.<br>Merci de contacter le support en mentionnant ce message.');}
    }
    else {die('<b>Erreur:</b> produit inconnu.');}
    ?>

  3. #3
    Membre chevronné Avatar de humitake
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 399
    Par défaut
    Bonsoir !

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if($prd == '1') {
    [...]
    }
    if($prd == '2') {
    [...]
    }
    else {die('<b>Erreur:</b> produit inconnu.');}

    Il faut que tu remplace if($prd == '2') { par else if($prd == '2') {.

    Actuellement les deux test sont en fait séparé, le dernier else n'est prit en compte que pour le cas ou $prd != '2'

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 10
    Par défaut
    Pff j'aurais du la trouver celle-là xD Désolé de vous avoir importuné pour une si bête erreur...
    Par contre je n'ai pas compris ce que tu voulais dire avec les echo ?
    Merci beaucoup pour votre réponse si rapide !

  5. #5
    Membre très actif
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Par défaut
    Par exemple pour t'aider à trouver les erreurs :

    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
    <?php
    $prd = $_GET['prd'];
    $type = $_GET['type'];
     
    if($prd == '1') {
    $couleur = 'blue';
    echo "Passage 1";
    }
    if($prd == '2') {
    $couleur = 'yellow';
    echo "Passage 2";
    }
    else {
    echo "Passage 3";
    die('<b>Erreur:</b> produit inconnu.');}
    ?>
    Dans ce cas, tu aurais vu "Passage 1Passage 3<b>Erreur:</b> produit inconnu.". tu aurais vite compris que ça passait bien dans le 1... et qu'il te manquait un else...

    Tu as saisi ?

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 10
    Par défaut
    Ah oui d'accord ! Merci pour l'astuce

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Problème script ressource tuto
    Par MaN@eDeN dans le forum Windows
    Réponses: 8
    Dernier message: 09/03/2006, 00h20
  2. problème apostrophes simple et double
    Par dor_boucle dans le forum Langage
    Réponses: 9
    Dernier message: 20/02/2006, 14h48
  3. Script simple en csh
    Par FinalSpirit dans le forum Linux
    Réponses: 10
    Dernier message: 02/01/2006, 23h37
  4. Problème : Script PHP IE NOK Firefox OK
    Par Saiyan dans le forum Langage
    Réponses: 40
    Dernier message: 16/11/2005, 00h59
  5. [Débutant] Problème servlet simple
    Par davycrocket dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 30/06/2004, 10h24

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