Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/01/2012, 17h44   #1
Invité de passage
 
Homme Lionel
Étudiant
Inscription : janvier 2012
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Lionel
Localisation : Belgique

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

Informations forums :
Inscription : janvier 2012
Messages : 6
Points : 3
Points : 3
Par défaut Problème script simple

Bonsoir,

Voici le script que j'ai créé:
Code :
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.
Ricket008 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 17h50   #2
Membre éclairé
 
Avatar de Nowwis
 
Homme
Développeur Web
Inscription : juin 2009
Messages : 363
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 21
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2009
Messages : 363
Points : 365
Points : 365
C'est normal, il manque un else.

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


Code :
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.');}
?>
Nowwis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 17h52   #3
Membre éclairé
 
Avatar de humitake
 
Homme Olivier
Étudiant
Inscription : novembre 2010
Messages : 303
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 20
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2010
Messages : 303
Points : 384
Points : 384
Bonsoir !

Code php :
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'
humitake est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 17h54   #4
Invité de passage
 
Homme Lionel
Étudiant
Inscription : janvier 2012
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Lionel
Localisation : Belgique

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

Informations forums :
Inscription : janvier 2012
Messages : 6
Points : 3
Points : 3
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 !
Ricket008 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 18h00   #5
Membre éclairé
 
Avatar de Nowwis
 
Homme
Développeur Web
Inscription : juin 2009
Messages : 363
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 21
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2009
Messages : 363
Points : 365
Points : 365
Par exemple pour t'aider à trouver les erreurs :

Code :
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 ?
Nowwis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2012, 18h06   #6
Invité de passage
 
Homme Lionel
Étudiant
Inscription : janvier 2012
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Lionel
Localisation : Belgique

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

Informations forums :
Inscription : janvier 2012
Messages : 6
Points : 3
Points : 3
Ah oui d'accord ! Merci pour l'astuce
Ricket008 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h02.


 
 
 
 
Partenaires

Hébergement Web