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 :

Appel page PHP via VBS - non affichage de la page PHP


Sujet :

VBScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 23
    Points : 22
    Points
    22
    Par défaut Appel page PHP via VBS - non affichage de la page PHP
    Bonjour,

    J'ai un petit problème, grâce à mon script VBS j'ouvre une page PHP qui effectue un traitement. Mais je souhaiterais que cela soit transparent pour l'utilisateur, c'est-à-dire qu'il ne voie pas l'affichage de la page PHP.
    Est-ce possible ? Si oui, comment faire ...

    Code VBS : 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
     
    value = demande
    if codeRetour <> 1 then			
        value2 = 0
    else 
        value2 = 1
        value3 = "Message d'erreur"
    end if
     
    if value <> "" AND value2 <> "" then
        ' Envoi des informations suite à l'exécution
        Set IE = CreateObject("InternetExplorer.Application")
        IE.visible = 0
        IE.navigate "http://localhost/test.php?numero_demande=""" & value & """" & "&" & "code_err=" &  """"  & value2 &  """"  & "&" & "message_err=" &  """"  & value3 &  """"
        IE.quit
        Set IE = Nothing
    end if

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $numD = (isset($_GET["numero_demande"])) ? $_GET["numero_demande"] : NULL;
    $codeErr = (isset($_GET["code_err"])) ? $_GET["code_err"] : NULL;
    $msgErr = (isset($_GET["message_err"])) ? $_GET["message_err"] : NULL;
    // Traitement ...

    Merci de votre aide !

  2. #2
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 108
    Points : 16 640
    Points
    16 640
    Par défaut
    Salut

    Pourquoi, ligne 13, IE.visible = 0 , à la rigueur IE.visible = False bien qu'inutile car par défaut suite à la création de l'instance InternetExplorer l'affichage ne devrait pas se faire.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 23
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Salut

    Pourquoi, ligne 13, IE.visible = 0 , à la rigueur IE.visible = False bien qu'inutile car par défaut suite à la création de l'instance InternetExplorer l'affichage ne devrait pas se faire.
    Effectivement, cette ligne ne sert à rien.

    Le problème que j'ai, c'est que quand le VBS appel le PHP avec les paramètres pour le GET cela ouvre la page PHP et je souhaiterais que celle-ci ne s'ouvre pas.

  4. #4
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 108
    Points : 16 640
    Points
    16 640
    Par défaut
    Je suppose que tu as essayé de mettre IE.visible = False après la ligne IE.navigate et que cela n'a pas résolu le problème ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 23
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Je suppose que tu as essayé de mettre IE.visible = False après la ligne IE.navigate et que cela n'a pas résolu le problème ?
    Exactement cela n'a rien changé. La page s'ouvre toujours...

  6. #6
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 108
    Points : 16 640
    Points
    16 640
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    If Value <> "" And value2 <> "" Then
        ' Envoi des informations suite à l'exécution
        Set IE = CreateObject("InternetExplorer.Application")
        IE.Visible = True: IE.Top = -IE.Height  ' <------------------ l'ajout -------------------
        IE.navigate "http://localhost/test.php?numero_demande=""" & Value & """" & "&" & "code_err=" & """" & value2 & """" & "&" & "message_err=" & """" & value3 & """"
        IE.quit
        Set IE = Nothing
    End If
    Des fois ......

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 23
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    If Value <> "" And value2 <> "" Then
        ' Envoi des informations suite à l'exécution
        Set IE = CreateObject("InternetExplorer.Application")
        IE.Visible = True: IE.Top = -IE.Height  ' <------------------ l'ajout -------------------
        IE.navigate "http://localhost/test.php?numero_demande=""" & Value & """" & "&" & "code_err=" & """" & value2 & """" & "&" & "message_err=" & """" & value3 & """"
        IE.quit
        Set IE = Nothing
    End If
    Des fois ......
    Re-bonjour,

    Merci de ton aide, mais ... ce n'est pas ce qu'il me faut ^^ !

    Ce VBS à pour optique de fonctionner sur un serveur en tâche planifiée et donc il ne faut pas que la page du navigateur s'ouvre.

    Edit: Au pire, si ce n'est pas possible de ne pas ouvrir la page, serait-il possible de la fermer après exécution du code contenu dans celle-ci? Sans ouverture d'une boite de dialogue ?

  8. #8
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 108
    Points : 16 640
    Points
    16 640
    Par défaut
    Salut
    il ne faut pas que la page du navigateur s'ouvre.
    Personnellement il me semble que cela n'est pas possible.


    C'est pourquoi j'avais proposé
    IE.Visible = True permet d'initialiser IE.Height
    IE.Top = -IE.Height permet de mettre la fenêtre hors de l'écran, donc invisible pour l'utilisateur.

  9. #9
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Il n'est pas souhaîtable de s'en servir d'InternetExplorer.Application sur un serveur, jamais. Pour faire ce genre de manoeuvre, sur un serveur autant que sur un client, il vaut beaucoup mieux de se servir de msxml2.xmlhttp ou quoi que un peu daté winhttp.winhttprequest. C'est comme ça qu'on peut faire.
    Code vbs : 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
    if value <> "" AND value2 <> "" then
        ' Envoi des informations suite à l'exécution
        surl="http://localhost/test.php?numero_demande=""" & value & """" & "&" & _
            "code_err=" &  """"  & value2 &  """"  & "&" & "message_err=" &  """"  & value3 &  """"
     
        set oxmlhttp=createobject("msxml2.xmlhttp")
        'il vaut mieux utiliser une progid avec une version bien précise après verification faite
        'set oxmlhttp=createobject("msxml2.xmlhttp.6.0")
     
        with oxmlhttp
            .open "GET", surl, false
            .send
        end with
     
        if oxmlhttp.status<>200 then
            'faire quelque chose
        else
            'faire quelque autre chose 
        end if
        set oxmlhttp=nothing
    end if

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 23
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Salut
    Personnellement il me semble que cela n'est pas possible.


    C'est pourquoi j'avais proposé
    IE.Visible = True permet d'initialiser IE.Height
    IE.Top = -IE.Height permet de mettre la fenêtre hors de l'écran, donc invisible pour l'utilisateur.
    Merci pour tes explications, cela m'a permis d'apprendre des trucs que je ne connaissais pas.

    Il n'est pas souhaîtable de s'en servir d'InternetExplorer.Application sur un serveur, jamais. Pour faire ce genre de manoeuvre, sur un serveur autant que sur un client, il vaut beaucoup mieux de se servir de msxml2.xmlhttp ou quoi que un peu daté winhttp.winhttprequest. C'est comme ça qu'on peut faire.

    Code vbs : 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
    if value <> "" AND value2 <> "" then
        ' Envoi des informations suite à l'exécution
        surl="http://localhost/test.php?numero_demande=""" & value & """" & "&" & _
            "code_err=" &  """"  & value2 &  """"  & "&" & "message_err=" &  """"  & value3 &  """"
     
        set oxmlhttp=createobject("msxml2.xmlhttp")
        'il vaut mieux utiliser une progid avec une version bien précise après verification faite
        'set oxmlhttp=createobject("msxml2.xmlhttp.6.0")
     
        with oxmlhttp
            .open "GET", surl, false
            .send
        end with
     
        if oxmlhttp.status<>200 then
            'faire quelque chose
        else
            'faire quelque autre chose 
        end if
        set oxmlhttp=nothing
    end if
    Merci ! C'est exactement ce qu'il me fallait

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

Discussions similaires

  1. [MySQL] non affichage d'image sur ma page php via mysql
    Par cristelle1986 dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 02/09/2014, 20h17
  2. Réponses: 11
    Dernier message: 16/08/2012, 14h51
  3. [PHP-JS] Problème d'affichage de la page
    Par highman dans le forum Langage
    Réponses: 4
    Dernier message: 21/06/2007, 16h09
  4. [PHP-JS] RadioButton et affichage de nouvelle page
    Par ikeaboy dans le forum Langage
    Réponses: 6
    Dernier message: 01/08/2006, 14h18
  5. [C++] Appel via paramètres non managés
    Par JulienDuSud dans le forum Framework .NET
    Réponses: 4
    Dernier message: 28/12/2005, 10h42

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