Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
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 15/05/2008, 11h21   #1
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 242
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 242
Points : 1 049
Points : 1 049
Par défaut Mon if imbriqué ne fonctionne pas.

Bonjour tout le monde,

Code :
1
2
3
4
5
6
7
8
9
if EmailExistante = "" then
	response.Write("Aucune adresse n'est enregistrée pour ce matricule")
 
elseif Inscrit = "Non"  then then
	response.Write("Les identifiants ont été envoyés à cette adresse mail : " & Destinataire)
 
else
response.Redirect("www.developpez.com")
end if
Il va toujours sur le else sans passer sur le premier if et sur le elseif.

Destinataire une variable qui contient la valeur d'un champ access, si ce champ est vide, il devrait s'arrêter au premier if.

Si Inscrit vaut Non ET que Destinataire est différent de rien, alors on fait un simple response.write.

autrement, on va vers le site de developpez.com (pour les tests hein ).

Merci d'avance pour votre précieuse aide.

beegees
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2008, 11h36   #2
Membre confirmé
 
Avatar de jamesleouf
 
Homme
Ingénieur développement logiciels
Inscription : juillet 2005
Messages : 513
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Finance

Informations forums :
Inscription : juillet 2005
Messages : 513
Points : 215
Points : 215
Est ce que t'as au moin essayer de faire response.write des valeurs que essaie de comparer?
__________________
James PaBond
http://www.greenquizz.com/
jamesleouf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2008, 11h40   #3
Membre actif
 
Avatar de copin
 
Inscription : mai 2005
Messages : 205
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mai 2005
Messages : 205
Points : 151
Points : 151
Salut,

Sauf erreur de ma part je dirai que le "elseif" s'écrit séparé donc "else if"

Le "then then" sur la même ligne me semble étrange... met un seul "then"

Ensuite tu as deux "if" mais un seul "end if" bref en manques 1.

Bref si me trompe pas...

Code :
1
2
3
4
5
6
7
8
9
10
 
if EmailExistante = "" then
	response.Write("Aucune adresse n'est enregistrée pour ce matricule")
 
else if Inscrit = "Non"  then 
	response.Write("Les identifiants ont été envoyés à cette adresse mail : " & Destinataire)
       end if 
 
else response.Redirect("www.developpez.com")
end if
__________________
2.21 GigoWatts! 2.21 GigoWatts!!!!!!

A fait une montée de version de l'OS marié 1.0 vers papa 1.0.
copin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2008, 11h45   #4
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 242
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 242
Points : 1 049
Points : 1 049
Citation:
Envoyé par copin Voir le message
Salut,

Sauf erreur de ma part je dirai que le "elseif" s'écrit séparé donc "else if"

Le "then then" sur la même ligne me semble étrange... mais un seul "then"

Ensuite tu as deux "if" mais un seul "end if" bref en manques 1.

Bref si me trompe pas...

Code :
1
2
3
4
5
6
7
8
9
10
11
 
if EmailExistante = "" then
	response.Write("Aucune adresse n'est enregistrée pour ce matricule")
 
else if Inscrit = "Non"  then 
	response.Write("Les identifiants ont été envoyés à cette adresse mail : " & Destinataire)
end if 
 
else
response.Redirect("www.developpez.com")
end if
Salut,

Merci pour ta réponse.

Je ne vois pas deux fois else sur la même ligne.

Si je mets else if (donc séparés) il me dit end attendu.

Merci encore

beegees
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2008, 11h50   #5
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 242
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 242
Points : 1 049
Points : 1 049
Citation:
Envoyé par jamesleouf Voir le message
Est ce que t'as au moin essayer de faire response.write des valeurs que essaie de comparer?
Salut,

Merci pour ta réponse.

J'ai fais des response.write, ils ne donnent rien :

Citation:
Inscrit : NonDestinataire : <-- vide
Les identifiants ont été envoyés à cette adresse mail : <-- vide

Erreur d'exécution Microsoft VBScript erreur '800a000d'

Type incompatible: 'To'

/RN/Forms/Etape1.asp, ligne 55
En plus de ça, j'ai du code qui envoie un email à l'utilisateur mais vue qu'il n'a pas d'email, ça plante sur la ligne 55.

Code :
myMail.To= Destinataire
Ce qui est normal.

mais il passe quand même dans le else if :

elseif Inscrit = "Non" then
Citation:
response.Write("Les identifiants ont été envoyés à cette adresse mail : " & Destinataire)
Donc, le problème vient d'ici :

Code :
if Destinataire = "" then
Merci encore.

beegees
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2008, 11h53   #6
Membre actif
 
Avatar de copin
 
Inscription : mai 2005
Messages : 205
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mai 2005
Messages : 205
Points : 151
Points : 151
Blop,

Citation:
Envoyé par beegees Voir le message
Je ne vois pas deux fois else sur la même ligne.
J'ai pas dis deux fois "else" mais deux fois "then" cf ton premier post...
Citation:
elseif Inscrit = "Non" then then
Me suis peut etre planté sur la position du second "end if" met le à la fin... T'aura le code suivant :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
if EmailExistante = "" then
	response.Write("Aucune adresse n'est enregistrée pour ce matricule")
 
else if Inscrit = "Non"  then 
	response.Write("Les identifiants ont été envoyés à cette adresse mail : " & Destinataire)
 
else
response.Redirect("www.developpez.com")
end if
end if
Je fais ça sans tester, y peut y avoir des erreurs...
__________________
2.21 GigoWatts! 2.21 GigoWatts!!!!!!

A fait une montée de version de l'OS marié 1.0 vers papa 1.0.
copin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2008, 12h52   #7
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 817
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 817
Points : 3 011
Points : 3 011
Bonjour,

Tu veux essayer ça ?

Code :
1
2
3
4
 
.....
if Len(Trim(EmailExistante)) = 0 then
.....
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2008, 13h48   #8
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 242
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 242
Points : 1 049
Points : 1 049
Citation:
Envoyé par pc75 Voir le message
Bonjour,

Tu veux essayer ça ?

Code :
1
2
3
4
 
.....
if Len(Trim(EmailExistante)) = 0 then
.....
Bonjour PC75,

Merci beaucoup pour ton aide.

Malheureusement ça ne fonctionne pas.

Dans le champ email il n'y a rien, il devrait donc mettre cette phrase :

Aucune adresse n'est enregistrée pour ce matricule

Mais j'obtiens ceci :

Inscrit : Non
Destinataire : (rien)
Les identifiants ont été envoyés à cette adresse email.

je ne comprends pas.

Edit :

J'ai essayé ceci aussi mais sans succès :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
if Destinataire = "RIEN" then
	response.Write("Aucune adresse n'est enregistrée pour ce matricule")
	end if
 
select case Inscrit
 
case "Non"
	mysql = ""
	mysql = "update [annee] set Inscrit = '" & dateauj & "' where [matricule] = '" & MatriculeEmail & "' "
	cnn.Execute (mysql)
	response.Write("Les identifiants ont été envoyés à cette adresse mail : " & Destinataire)
 
case else
	response.Redirect("www.developpez.com")
end select
Merci encore.

beegees
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2008, 14h13   #9
Membre confirmé
 
Avatar de jamesleouf
 
Homme
Ingénieur développement logiciels
Inscription : juillet 2005
Messages : 513
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Finance

Informations forums :
Inscription : juillet 2005
Messages : 513
Points : 215
Points : 215
essaie = null
= false
=0

par contre je reconfirme Else if est en 1 seul mot....

attribue une valeur a ton email et essaie les if

et pas besoin de 2 end if a la fin puisque ya qu'une série de comp...
__________________
James PaBond
http://www.greenquizz.com/
jamesleouf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2008, 14h23   #10
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 242
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 242
Points : 1 049
Points : 1 049
Citation:
Envoyé par jamesleouf Voir le message
essaie = null
= false
=0

par contre je reconfirme Else if est en 1 seul mot....

attribue une valeur a ton email et essaie les if

et pas besoin de 2 end if a la fin puisque ya qu'une série de comp...
Salut,

Tu avais raison pour le else if, ça à l'air de fonctionner maintenant avec ce code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
if Destinataire = "RIEN" then
	response.Write("Aucune adresse n'est enregistrée pour ce matricule")
 
elseif Inscrit = "Non"  then 
	mysql = ""
	mysql = "update [annee] set Inscrit = '" & dateauj & "' where [matricule] = '" & MatriculeEmail & "' "
	cnn.Execute (mysql)
	response.Write("Les identifiants ont été envoyés à cette adresse mail : " & Destinataire)
 
else
	response.Redirect("www.developpez.com")
end if
Merci encore à toi et à PC75.

Beegees
beegees est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2008, 14h26   #11
Membre confirmé
 
Avatar de jamesleouf
 
Homme
Ingénieur développement logiciels
Inscription : juillet 2005
Messages : 513
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 26
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Finance

Informations forums :
Inscription : juillet 2005
Messages : 513
Points : 215
Points : 215
Genial
Bonne continuation
__________________
James PaBond
http://www.greenquizz.com/
jamesleouf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2008, 14h28   #12
Membre Expert
 
Avatar de beegees
 
Homme David Vincent (l'homme qui a vu les extra-terrestres)
Développeur Web
Inscription : mars 2004
Messages : 3 242
Détails du profil
Informations personnelles :
Nom : Homme David Vincent (l'homme qui a vu les extra-terrestres)
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Enseignement

Informations forums :
Inscription : mars 2004
Messages : 3 242
Points : 1 049
Points : 1 049
Citation:
Envoyé par jamesleouf Voir le message
Genial
Bonne continuation

Merci pour ta disponibilité et ton efficacité

beegees
beegees 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 16h57.


 
 
 
 
Partenaires

Hébergement Web