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

VBScript Discussion :

Récuperer des variables vbs dans une page php


Sujet :

VBScript

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 34
    Points : 18
    Points
    18
    Par défaut Récuperer des variables vbs dans une page php
    Bonjour à tous
    j'aimerai recupérer des variables qui se trouve dans une page php.
    Ces variable devront etre recuperer dans un script vbs et lancer des truc
    Donc pour l'instant je commence petit je demande juste de m'afficher une msgbox lorsque j'appuie sur le bouton activé de ma page php et la!! le drame rien ne se passe
    voici ma fonction vbscript qui se trouve dans ma page php
    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
     <script language="VBScript">
    <!--
    sub active_OnClick
    ready=1 
    End Sub
    Sub Window_OnLoad()
    ready=0 
    End Sub
     
     
     
    Public Function CheckVal()
    CheckVal = ready
    End function
    -->
    </script>
    voici le bouton activé qui se trouve dans ma page php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <td><input type="button" name="active" value="activé"  /></td>
    Et enfin voici mon script vbs ou je recupere normalement ma variable
    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
    set objIE=wscript.createobject("InternetExplorer.application","IE_")
    Set shell = WScript.CreateObject("WScript.Shell")
     
    objIE.navigate "c:\www\gestionabsence\absence.php"
     
    On Error Resume Next 
    Do 
    WScript.Sleep 100
    Loop While (objIE.Document.Script.CheckVal() = 0)
    shell.AppActivate "Gestion des absences"
    test = objIE.Document.Script.CheckVal()
    If test = 1 Then 
     
    msgbox "On a appuyé sur activé"
    end if
    je comprends pas d'ou vient mon probléme
    merci pour tous ceux qui peuvent m'aider

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    As tu initialisé ready à 0 ? As tu vérifier qu'au départ ready vaut bien 0 et non autre chose?
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 34
    Points : 18
    Points
    18
    Par défaut Récuperer des variables vbs dans une page php
    le probleme c'est que dans ma page php je n'arrive pas a savoir si ma variable vaut o ou 1 car lorsque j'appuie sur le bouton rien ne se passe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sub active_OnClick
    ready=1 
    wscript.echo ready
    End Sub
    mais si je remplace "wscritp.echo" par msgbox j'ai la msgbox qui apparait mais j'ai rien dedans mais par contre mais ce qui veut bien dire que le lien entre le bouton et ma fonction vbs fonctionne puisque j'ai une msgbox qui apparait lorsque j'appuie sur le bouton activé
    je sais que pour reinitialiser ma variable ready il faut utiliser la procedure suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Sub Window_OnLoad()
    ready=0 
    End Sub

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    essaye cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Do 
    WScript.Sleep 100
    Loop While (objIE.Document.Script.CheckVal() <> 1)
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  5. #5
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    tu lances bien ton script de récupération de la valeur de ready avant d'appuyer sur le bouton ?
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  6. #6
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 34
    Points : 18
    Points
    18
    Par défaut
    voila ce que je viens de m'apercevoir quand je lance le script avant d'utiliser ma page php j'ai une erreur internet explorer et elle me ferme ma fenetre ie
    l'erreur vient de cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    objIE.navigate "c:\www\gestionabsence\absence.php"
    par contre si je renome ma destination par absence.html et que je lance le script + d'erreur et en + si je lance ma page absence.html et j'appuie sur le bouton activé j'ai ma variable qui apparait a 1 mais mon algo dans mon script ne se lance pas
    voici le script
    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
     
    set objIE=wscript.createobject("InternetExplorer.application","IE_")
    Set shell = WScript.CreateObject("WScript.Shell")
     
    objIE.navigate "c:\www\gestionabsence\absence.html"
    shell.AppActivate "Gestion des absences"
    On Error Resume Next 
    Do 
    WScript.Sleep 100
    Loop While (objIE.Document.Script.CheckVal() <> 0)
     
    test = objIE.Document.Script.CheckVal ()
    If test = 1 Then 
     
    msgbox"On a appuyé sur activé"
    end if
    donc maitenant j'ai l'impression d'avoir 2 problemes
    1 le script ne veut pas s'excuter avec une page en .php
    2 la variable n'arrive pas à mon script

  7. #7
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    tu utilises ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Do 
    WScript.Sleep 100
    Loop While (objIE.Document.Script.CheckVal() <> 0)
    Or c'est une erreur que j'ai ecrite (dsl ) et que j'ai corrige dans les 2 minutes qui ont suivis mon post par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Do 
    WScript.Sleep 100
    Loop While (objIE.Document.Script.CheckVal() <> 1)
    malheuresement tu as lut mon poste trop tot .
    Je ne sais pas pourquoi cela ne marche pas avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c:\www\gestionabsence\absence.php
    Maintenant essaye cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim t
    t = objIE.Document.Script.CheckVal ()
    msgbox t
    Do 
    WScript.Sleep 100
    Loop While (objIE.Document.Script.CheckVal() <> 1)
    Quoi qu'il se passe (sauf plantage) tu auras une msgbox affichant le retour de CheckVal().
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  8. #8
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    essayes cette ligne aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set objIE=wscript.createobject("InternetExplorer.application")
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set objIE=wscript.createobject("InternetExplorer.application","IE_")
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  9. #9
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 34
    Points : 18
    Points
    18
    Par défaut
    donc voila j'ai essayé ce que tu m'a montré ca me donna ça dans mon script
    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
    set objIE=wscript.createobject("InternetExplorer.application")
    Set shell = WScript.CreateObject("WScript.Shell")
    Dim t
    objIE.navigate "c:\www\gestionabsence\absence.html"
    shell.AppActivate "Gestion des absences"
     
    t = objIE.Document.Script.CheckVal ()
    msgbox t
    on error resume next
    Do 
    WScript.Sleep 100
    Loop While (objIE.Document.Script.CheckVal() <> 1)
    test = objIE.Document.Script.CheckVal()
    If test Then 
    msgbox"On a appuyé sur activé"
    end if
    mais voila quand je relance le script j'ai erreur qui apparait a la ligne "t = objIE.Document.Script.CheckVal ()" qui me dit
    "cet objet ne gère pas cette propriété ou cette methode:'objIE.Document.Script.CheckVal'"
    j'ai modifié ma page en .php et j'ai eu la meme erreur ie

  10. #10
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    C'est normal, dans le copieé collé, un espace s'est inséré entre CheckVal et les ():
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    t = objIE.Document.Script.CheckVal()
    La il n'y a pas d'espace.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  11. #11
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    met le :
    au debut du script.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  12. #12
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 34
    Points : 18
    Points
    18
    Par défaut
    excuse moi c'est que je l'ai testé dans les 2 sens avec espace et sans espace mais j'ai la meme erreur c'est pour cà

  13. #13
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 34
    Points : 18
    Points
    18
    Par défaut
    quand je met on error resume next je n'ai aucune erreur qui apparait logique,
    ca me donne ceci a mon script
    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
    set objIE=wscript.createobject("InternetExplorer.application")
    Set shell = WScript.CreateObject("WScript.Shell")
    Dim t
    objIE.navigate "c:\www\gestionabsence\absence.html"
    shell.AppActivate "Gestion des absences"
    on error resume next
    t = objIE.Document.Script.CheckVal()
    msgbox t
     
    Do 
    WScript.Sleep 100
    Loop While (objIE.Document.Script.CheckVal() <> 1)
    test = objIE.Document.Script.CheckVal()
    If test Then 
    msgbox"On a appuyé sur activé"
    end if
    le msgbox apparait vide quand je l'execute et quand j'appuie sur bouton active j'ai le wscript.echo de ma fonction dans ma page qui apparait avec la variable a 1 mais l'algo dans le script ne s'execute pas

  14. #14
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Autant pour moi, je croyais me souvenir que cela pouvais planter en cas d'espace entres les deux.
    Bon je viens de comprendre, c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    objIE.Document.Script.CheckVal ()
    qui ne marche pas.
    En effet avec
    On error resume
    , il n'y a pas d'erreur afficher, le script continu jusqu'au bout.
    Ce n'est pas que le script ne fait rien, c'est qu'il plante.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  15. #15
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Je ne sais pas si tu as utilisé ce site pour faire ton script, mais si ce n'est pas le cas tu devrais.
    On peut avoir confiance en le code donné en exemple sur ce site, la personne qui le met est tres doue.
    Normalement en suivant sa méthode cela devrait marcher.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  16. #16
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 34
    Points : 18
    Points
    18
    Par défaut
    effectivement je suis allé sur ce site pour faire mon script
    encore merci pour ton aide je vais continué si je trouve la soluce je le mettrai dans cette discution

  17. #17
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    et as tu essayés le script donné tel quel sans modification. Si cela marche de cette façon, tu part de la et tu supprimes ce que tu trouves inutile petit à petit et tu tests de nouveau pour voir si cela marche.
    A la fin tu devrais obtenir le script qui t'interesses et qui marche.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  18. #18
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 34
    Points : 18
    Points
    18
    Par défaut
    ce qui me rend fou c'est que mon script crée une erreur internet explorer lorsque ma page et .php
    pour contourné mon probléme je teste mes variables sans passer par le fichier script
    je lance tous de ma page.php donc quand j'appuie sur mon bouton activé la valeur de ma variable ready s'affiche et en plus j'ai rajouté d'autre donné qui vont m'affiché un champ (lorsque que je la coche) d'une table qui apparait lorsque que j'execute une requette sql
    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
     
    <script language="VBScript">
    <!--
    dim ready
    sub active_OnClick
    ready=1 
     
    for index=0 to document.form1.coche.length-1
    if document.form1.coche(index).checked then 
    msgbox document.form1.coche(index).value 
    end if
    next
     
    End Sub
     
    Sub Window_OnLoad()
    ready=0 
    End Sub
     
    Public Function CheckVal()
    CheckVal = ready
    End function
    -->
    </script>
    il est vrai que maitenant j'hesite à passe par un fichier script(qui par la suite me serait plus simple) car deja je n'arrive pas à recupérer ma ou mes donnés et en plus je n'arrive pas à le faire fonctionné avec une page php

  19. #19
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    bah essayes comme je t'ai dit de faire un copier coller du script sur le lien que je t'ai passé (bien sur faut la page web qu'il a construit avec) et modifie au fur et à mesure le script pour qu'il ressemble au tien et puis test en meme temps.
    tu devrais y arriver ainsi.
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

Discussions similaires

  1. [MediaWiki] Utiliser des variables externes dans une page wiki
    Par mayok dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 16/08/2011, 05h20
  2. Réponses: 3
    Dernier message: 22/02/2010, 13h43
  3. [MySQL] Récupérer variable tpl dans une page PHP
    Par diabli73 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/09/2008, 10h12
  4. Réponses: 3
    Dernier message: 27/11/2006, 14h16
  5. Réponses: 11
    Dernier message: 11/03/2005, 17h41

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