Script PHP et javascript de connexion par login mot de passe
7 réponses
Didier
Bonjour à tous.
J'ai écrit un script php chargé de se connecter à une application dont
l'écran d'accueil initial demande un login et un mot de passe : un
simple formulaire à 3 champs : login, mot de passe, et bouton submit
Valider.
Mon script php reproduit le formulaire.
Tout fonctionne bien, lorsque je clique sur le bouton Valider j'accède
bien à l'écran suivant en étant connecté.
Lorsque je veux automatise le clic sur le bouton Valider par une
fonction javascript, la connexion semble ne pas se faire, et je retourne
au formulaire de login avec les champs vides, mais sans le message
d'erreur correspondant à un mauvais couple login/mot de passe. Voici le
contenu de la fonction javascript :
document.getElementById('connexion').submit()
où 'connexion' est l'id affecté au formulaire dans la balise <form>.
Si j'ai bien compris le php de l'application, après validation par le
bouton Valider, on revient au script login.php de l'application, qui
voit qu'on est connecté, et qui appelle le sript accueil.php.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Clément
Le 01/05/2012 09:47, Didier a écrit :
Bonjour à tous. J'ai écrit un script php chargé de se connecter à une application dont l'écran d'accueil initial demande un login et un mot de passe : un simple formulaire à 3 champs : login, mot de passe, et bouton submit Valider. Mon script php reproduit le formulaire. Tout fonctionne bien, lorsque je clique sur le bouton Valider j'accède bien à l'écran suivant en étant connecté. Lorsque je veux automatise le clic sur le bouton Valider par une fonction javascript, la connexion semble ne pas se faire, et je retourne au formulaire de login avec les champs vides, mais sans le message d'erreur correspondant à un mauvais couple login/mot de passe. Voici le contenu de la fonction javascript : document.getElementById('connexion').submit() où 'connexion' est l'id affecté au formulaire dans la balise <form>. Si j'ai bien compris le php de l'application, après validation par le bouton Valider, on revient au script login.php de l'application, qui voit qu'on est connecté, et qui appelle le sript accueil.php.
Je ne vois pas ce que je rate.
Merci pour vos idées. Didier.
Que voulez-vous dire par "automatiser le clic sur Valider" ? Dès que la page est affichée le formulaire est soumis (même si les champs sont vides) ? Si oui dans cas, ça peut être normal, si les champs sont vides, l'utilisateur n'est pas trouvé, il ne sera pas identifié.
Le 01/05/2012 09:47, Didier a écrit :
Bonjour à tous.
J'ai écrit un script php chargé de se connecter à une application dont
l'écran d'accueil initial demande un login et un mot de passe : un
simple formulaire à 3 champs : login, mot de passe, et bouton submit
Valider.
Mon script php reproduit le formulaire.
Tout fonctionne bien, lorsque je clique sur le bouton Valider j'accède
bien à l'écran suivant en étant connecté.
Lorsque je veux automatise le clic sur le bouton Valider par une
fonction javascript, la connexion semble ne pas se faire, et je retourne
au formulaire de login avec les champs vides, mais sans le message
d'erreur correspondant à un mauvais couple login/mot de passe. Voici le
contenu de la fonction javascript :
document.getElementById('connexion').submit()
où 'connexion' est l'id affecté au formulaire dans la balise <form>.
Si j'ai bien compris le php de l'application, après validation par le
bouton Valider, on revient au script login.php de l'application, qui
voit qu'on est connecté, et qui appelle le sript accueil.php.
Je ne vois pas ce que je rate.
Merci pour vos idées.
Didier.
Que voulez-vous dire par "automatiser le clic sur Valider" ?
Dès que la page est affichée le formulaire est soumis (même si les
champs sont vides) ?
Si oui dans cas, ça peut être normal, si les champs sont vides,
l'utilisateur n'est pas trouvé, il ne sera pas identifié.
Bonjour à tous. J'ai écrit un script php chargé de se connecter à une application dont l'écran d'accueil initial demande un login et un mot de passe : un simple formulaire à 3 champs : login, mot de passe, et bouton submit Valider. Mon script php reproduit le formulaire. Tout fonctionne bien, lorsque je clique sur le bouton Valider j'accède bien à l'écran suivant en étant connecté. Lorsque je veux automatise le clic sur le bouton Valider par une fonction javascript, la connexion semble ne pas se faire, et je retourne au formulaire de login avec les champs vides, mais sans le message d'erreur correspondant à un mauvais couple login/mot de passe. Voici le contenu de la fonction javascript : document.getElementById('connexion').submit() où 'connexion' est l'id affecté au formulaire dans la balise <form>. Si j'ai bien compris le php de l'application, après validation par le bouton Valider, on revient au script login.php de l'application, qui voit qu'on est connecté, et qui appelle le sript accueil.php.
Je ne vois pas ce que je rate.
Merci pour vos idées. Didier.
Que voulez-vous dire par "automatiser le clic sur Valider" ? Dès que la page est affichée le formulaire est soumis (même si les champs sont vides) ? Si oui dans cas, ça peut être normal, si les champs sont vides, l'utilisateur n'est pas trouvé, il ne sera pas identifié.
Didier
Le 01/05/2012 12:33, Clément a écrit :
Le 01/05/2012 09:47, Didier a écrit :
Bonjour à tous. J'ai écrit un script php chargé de se connecter à une application dont l'écran d'accueil initial demande un login et un mot de passe : un simple formulaire à 3 champs : login, mot de passe, et bouton submit Valider. Mon script php reproduit le formulaire. Tout fonctionne bien, lorsque je clique sur le bouton Valider j'accède bien à l'écran suivant en étant connecté. Lorsque je veux automatise le clic sur le bouton Valider par une fonction javascript, la connexion semble ne pas se faire, et je retourne au formulaire de login avec les champs vides, mais sans le message d'erreur correspondant à un mauvais couple login/mot de passe. Voici le contenu de la fonction javascript : document.getElementById('connexion').submit() où 'connexion' est l'id affecté au formulaire dans la balise <form>. Si j'ai bien compris le php de l'application, après validation par le bouton Valider, on revient au script login.php de l'application, qui voit qu'on est connecté, et qui appelle le sript accueil.php.
Je ne vois pas ce que je rate.
Merci pour vos idées. Didier.
Que voulez-vous dire par "automatiser le clic sur Valider" ? Dès que la page est affichée le formulaire est soumis (même si les champs sont vides) ? Si oui dans cas, ça peut être normal, si les champs sont vides, l'utilisateur n'est pas trouvé, il ne sera pas identifié.
Effectivement je n'ai pas été clair, toutes mes excuses. Dans mon script php, je préremplis (à l'aide de leur propriété value) les champs login et mot de passe avec des valeurs valides. Si je n'active pas la fonction javascript qui fait le submit, j'ai donc à l'écran mon formulaire, avec des champs remplis, et je clique sur le bouton Valider, et la connexion se fait : l'application me renvoie l'écran suivant cette authentification. Si j'active (je décommente dans le script php) la fonction qui fait le submit, la connexion ne se fait pas. Merci pour la réponse. Didier.
Le 01/05/2012 12:33, Clément a écrit :
Le 01/05/2012 09:47, Didier a écrit :
Bonjour à tous.
J'ai écrit un script php chargé de se connecter à une application dont
l'écran d'accueil initial demande un login et un mot de passe : un
simple formulaire à 3 champs : login, mot de passe, et bouton submit
Valider.
Mon script php reproduit le formulaire.
Tout fonctionne bien, lorsque je clique sur le bouton Valider j'accède
bien à l'écran suivant en étant connecté.
Lorsque je veux automatise le clic sur le bouton Valider par une
fonction javascript, la connexion semble ne pas se faire, et je retourne
au formulaire de login avec les champs vides, mais sans le message
d'erreur correspondant à un mauvais couple login/mot de passe. Voici le
contenu de la fonction javascript :
document.getElementById('connexion').submit()
où 'connexion' est l'id affecté au formulaire dans la balise <form>.
Si j'ai bien compris le php de l'application, après validation par le
bouton Valider, on revient au script login.php de l'application, qui
voit qu'on est connecté, et qui appelle le sript accueil.php.
Je ne vois pas ce que je rate.
Merci pour vos idées.
Didier.
Que voulez-vous dire par "automatiser le clic sur Valider" ?
Dès que la page est affichée le formulaire est soumis (même si les
champs sont vides) ?
Si oui dans cas, ça peut être normal, si les champs sont vides,
l'utilisateur n'est pas trouvé, il ne sera pas identifié.
Effectivement je n'ai pas été clair, toutes mes excuses.
Dans mon script php, je préremplis (à l'aide de leur propriété value)
les champs login et mot de passe avec des valeurs valides.
Si je n'active pas la fonction javascript qui fait le submit, j'ai donc
à l'écran mon formulaire, avec des champs remplis, et je clique sur le
bouton Valider, et la connexion se fait : l'application me renvoie
l'écran suivant cette authentification.
Si j'active (je décommente dans le script php) la fonction qui fait le
submit, la connexion ne se fait pas.
Merci pour la réponse.
Didier.
Bonjour à tous. J'ai écrit un script php chargé de se connecter à une application dont l'écran d'accueil initial demande un login et un mot de passe : un simple formulaire à 3 champs : login, mot de passe, et bouton submit Valider. Mon script php reproduit le formulaire. Tout fonctionne bien, lorsque je clique sur le bouton Valider j'accède bien à l'écran suivant en étant connecté. Lorsque je veux automatise le clic sur le bouton Valider par une fonction javascript, la connexion semble ne pas se faire, et je retourne au formulaire de login avec les champs vides, mais sans le message d'erreur correspondant à un mauvais couple login/mot de passe. Voici le contenu de la fonction javascript : document.getElementById('connexion').submit() où 'connexion' est l'id affecté au formulaire dans la balise <form>. Si j'ai bien compris le php de l'application, après validation par le bouton Valider, on revient au script login.php de l'application, qui voit qu'on est connecté, et qui appelle le sript accueil.php.
Je ne vois pas ce que je rate.
Merci pour vos idées. Didier.
Que voulez-vous dire par "automatiser le clic sur Valider" ? Dès que la page est affichée le formulaire est soumis (même si les champs sont vides) ? Si oui dans cas, ça peut être normal, si les champs sont vides, l'utilisateur n'est pas trouvé, il ne sera pas identifié.
Effectivement je n'ai pas été clair, toutes mes excuses. Dans mon script php, je préremplis (à l'aide de leur propriété value) les champs login et mot de passe avec des valeurs valides. Si je n'active pas la fonction javascript qui fait le submit, j'ai donc à l'écran mon formulaire, avec des champs remplis, et je clique sur le bouton Valider, et la connexion se fait : l'application me renvoie l'écran suivant cette authentification. Si j'active (je décommente dans le script php) la fonction qui fait le submit, la connexion ne se fait pas. Merci pour la réponse. Didier.
Olivier Miakinen
Bonjour,
Le 01/05/2012 20:17, Didier a écrit :
[...]
Lorsque je veux automatise le clic sur le bouton Valider par une fonction javascript, la connexion semble ne pas se faire, et je retourne au formulaire de login avec les champs vides, mais sans le message d'erreur correspondant à un mauvais couple login/mot de passe. [...] Si j'ai bien compris le php de l'application, après validation par le bouton Valider, on revient au script login.php de l'application, qui voit qu'on est connecté, et qui appelle le sript accueil.php.
Effectivement je n'ai pas été clair, toutes mes excuses. Dans mon script php, je préremplis (à l'aide de leur propriété value) les champs login et mot de passe avec des valeurs valides. Si je n'active pas la fonction javascript qui fait le submit, j'ai donc à l'écran mon formulaire, avec des champs remplis, et je clique sur le bouton Valider, et la connexion se fait : l'application me renvoie l'écran suivant cette authentification. Si j'active (je décommente dans le script php) la fonction qui fait le submit, la connexion ne se fait pas.
Voici quelques idées en vrac.
1) Est-ce que le code javascript attend bien la fin de l'affichage de la page avant de s'exécuter ?
2) Si je comprends bien, après validation c'est le même script qui est rappelé, avec donc le code javascript qui est soit inactif les deux fois, soit actif les deux fois. Ce ne serait pas ça le problème ?
3) Sinon, quand la connexion ne se fait pas, est-ce que les champs sont toujours pré-remplis, et dans ce cas est-ce que cliquer manuellement sur le bouton valider fait réussir la connexion ?
Et si ces quelques idées ne t'aident pas, tu peux toujours publier le code en question (bien sûr en masquant le mot de passe s'il est en clair).
Bonjour,
Le 01/05/2012 20:17, Didier a écrit :
[...]
Lorsque je veux automatise le clic sur le bouton Valider par une
fonction javascript, la connexion semble ne pas se faire, et je retourne
au formulaire de login avec les champs vides, mais sans le message
d'erreur correspondant à un mauvais couple login/mot de passe. [...]
Si j'ai bien compris le php de l'application, après validation par le
bouton Valider, on revient au script login.php de l'application, qui
voit qu'on est connecté, et qui appelle le sript accueil.php.
Effectivement je n'ai pas été clair, toutes mes excuses.
Dans mon script php, je préremplis (à l'aide de leur propriété value)
les champs login et mot de passe avec des valeurs valides.
Si je n'active pas la fonction javascript qui fait le submit, j'ai donc
à l'écran mon formulaire, avec des champs remplis, et je clique sur le
bouton Valider, et la connexion se fait : l'application me renvoie
l'écran suivant cette authentification.
Si j'active (je décommente dans le script php) la fonction qui fait le
submit, la connexion ne se fait pas.
Voici quelques idées en vrac.
1) Est-ce que le code javascript attend bien la fin de l'affichage de la
page avant de s'exécuter ?
2) Si je comprends bien, après validation c'est le même script qui est
rappelé, avec donc le code javascript qui est soit inactif les deux
fois, soit actif les deux fois. Ce ne serait pas ça le problème ?
3) Sinon, quand la connexion ne se fait pas, est-ce que les champs sont
toujours pré-remplis, et dans ce cas est-ce que cliquer manuellement
sur le bouton valider fait réussir la connexion ?
Et si ces quelques idées ne t'aident pas, tu peux toujours publier le
code en question (bien sûr en masquant le mot de passe s'il est en
clair).
Lorsque je veux automatise le clic sur le bouton Valider par une fonction javascript, la connexion semble ne pas se faire, et je retourne au formulaire de login avec les champs vides, mais sans le message d'erreur correspondant à un mauvais couple login/mot de passe. [...] Si j'ai bien compris le php de l'application, après validation par le bouton Valider, on revient au script login.php de l'application, qui voit qu'on est connecté, et qui appelle le sript accueil.php.
Effectivement je n'ai pas été clair, toutes mes excuses. Dans mon script php, je préremplis (à l'aide de leur propriété value) les champs login et mot de passe avec des valeurs valides. Si je n'active pas la fonction javascript qui fait le submit, j'ai donc à l'écran mon formulaire, avec des champs remplis, et je clique sur le bouton Valider, et la connexion se fait : l'application me renvoie l'écran suivant cette authentification. Si j'active (je décommente dans le script php) la fonction qui fait le submit, la connexion ne se fait pas.
Voici quelques idées en vrac.
1) Est-ce que le code javascript attend bien la fin de l'affichage de la page avant de s'exécuter ?
2) Si je comprends bien, après validation c'est le même script qui est rappelé, avec donc le code javascript qui est soit inactif les deux fois, soit actif les deux fois. Ce ne serait pas ça le problème ?
3) Sinon, quand la connexion ne se fait pas, est-ce que les champs sont toujours pré-remplis, et dans ce cas est-ce que cliquer manuellement sur le bouton valider fait réussir la connexion ?
Et si ces quelques idées ne t'aident pas, tu peux toujours publier le code en question (bien sûr en masquant le mot de passe s'il est en clair).
Didier
Le 01/05/2012 22:04, Olivier Miakinen a écrit :
Bonjour,
Le 01/05/2012 20:17, Didier a écrit :
[...]
Lorsque je veux automatise le clic sur le bouton Valider par une fonction javascript, la connexion semble ne pas se faire, et je retourne au formulaire de login avec les champs vides, mais sans le message d'erreur correspondant à un mauvais couple login/mot de passe. [...] Si j'ai bien compris le php de l'application, après validation par le bouton Valider, on revient au script login.php de l'application, qui voit qu'on est connecté, et qui appelle le sript accueil.php.
Effectivement je n'ai pas été clair, toutes mes excuses. Dans mon script php, je préremplis (à l'aide de leur propriété value) les champs login et mot de passe avec des valeurs valides. Si je n'active pas la fonction javascript qui fait le submit, j'ai donc à l'écran mon formulaire, avec des champs remplis, et je clique sur le bouton Valider, et la connexion se fait : l'application me renvoie l'écran suivant cette authentification. Si j'active (je décommente dans le script php) la fonction qui fait le submit, la connexion ne se fait pas.
Voici quelques idées en vrac.
1) Est-ce que le code javascript attend bien la fin de l'affichage de la page avant de s'exécuter ?
2) Si je comprends bien, après validation c'est le même script qui est rappelé, avec donc le code javascript qui est soit inactif les deux fois, soit actif les deux fois. Ce ne serait pas ça le problème ?
3) Sinon, quand la connexion ne se fait pas, est-ce que les champs sont toujours pré-remplis, et dans ce cas est-ce que cliquer manuellement sur le bouton valider fait réussir la connexion ?
Et si ces quelques idées ne t'aident pas, tu peux toujours publier le code en question (bien sûr en masquant le mot de passe s'il est en clair).
OK, merci, j'essaie de regarder ça demain et je vous dis. Lors du passage sur la partie connexion dans mon script (il y aura d'autres parties, destinées à simuler une saisie), je positionne une variable pour éviter de resoumettre le formulaire une deuxième fois. Mon script est destiné à ne se dérouler qu'une seule fois. C'est celui de l'application cible qui s'appelle lui-même, pour soit demander login/mdp, soit vérifier que c'est Ok et passer à la page d'accueil proprement dite. Didier. Quand la connexion ne se fait pas, je reçois effectivement à nouveau la page de login avec les champs vides.
Le 01/05/2012 22:04, Olivier Miakinen a écrit :
Bonjour,
Le 01/05/2012 20:17, Didier a écrit :
[...]
Lorsque je veux automatise le clic sur le bouton Valider par une
fonction javascript, la connexion semble ne pas se faire, et je retourne
au formulaire de login avec les champs vides, mais sans le message
d'erreur correspondant à un mauvais couple login/mot de passe. [...]
Si j'ai bien compris le php de l'application, après validation par le
bouton Valider, on revient au script login.php de l'application, qui
voit qu'on est connecté, et qui appelle le sript accueil.php.
Effectivement je n'ai pas été clair, toutes mes excuses.
Dans mon script php, je préremplis (à l'aide de leur propriété value)
les champs login et mot de passe avec des valeurs valides.
Si je n'active pas la fonction javascript qui fait le submit, j'ai donc
à l'écran mon formulaire, avec des champs remplis, et je clique sur le
bouton Valider, et la connexion se fait : l'application me renvoie
l'écran suivant cette authentification.
Si j'active (je décommente dans le script php) la fonction qui fait le
submit, la connexion ne se fait pas.
Voici quelques idées en vrac.
1) Est-ce que le code javascript attend bien la fin de l'affichage de la
page avant de s'exécuter ?
2) Si je comprends bien, après validation c'est le même script qui est
rappelé, avec donc le code javascript qui est soit inactif les deux
fois, soit actif les deux fois. Ce ne serait pas ça le problème ?
3) Sinon, quand la connexion ne se fait pas, est-ce que les champs sont
toujours pré-remplis, et dans ce cas est-ce que cliquer manuellement
sur le bouton valider fait réussir la connexion ?
Et si ces quelques idées ne t'aident pas, tu peux toujours publier le
code en question (bien sûr en masquant le mot de passe s'il est en
clair).
OK, merci, j'essaie de regarder ça demain et je vous dis.
Lors du passage sur la partie connexion dans mon script (il y aura
d'autres parties, destinées à simuler une saisie), je positionne une
variable pour éviter de resoumettre le formulaire une deuxième fois.
Mon script est destiné à ne se dérouler qu'une seule fois. C'est celui
de l'application cible qui s'appelle lui-même, pour soit demander
login/mdp, soit vérifier que c'est Ok et passer à la page d'accueil
proprement dite.
Didier.
Quand la connexion ne se fait pas, je reçois effectivement à nouveau la
page de login avec les champs vides.
Lorsque je veux automatise le clic sur le bouton Valider par une fonction javascript, la connexion semble ne pas se faire, et je retourne au formulaire de login avec les champs vides, mais sans le message d'erreur correspondant à un mauvais couple login/mot de passe. [...] Si j'ai bien compris le php de l'application, après validation par le bouton Valider, on revient au script login.php de l'application, qui voit qu'on est connecté, et qui appelle le sript accueil.php.
Effectivement je n'ai pas été clair, toutes mes excuses. Dans mon script php, je préremplis (à l'aide de leur propriété value) les champs login et mot de passe avec des valeurs valides. Si je n'active pas la fonction javascript qui fait le submit, j'ai donc à l'écran mon formulaire, avec des champs remplis, et je clique sur le bouton Valider, et la connexion se fait : l'application me renvoie l'écran suivant cette authentification. Si j'active (je décommente dans le script php) la fonction qui fait le submit, la connexion ne se fait pas.
Voici quelques idées en vrac.
1) Est-ce que le code javascript attend bien la fin de l'affichage de la page avant de s'exécuter ?
2) Si je comprends bien, après validation c'est le même script qui est rappelé, avec donc le code javascript qui est soit inactif les deux fois, soit actif les deux fois. Ce ne serait pas ça le problème ?
3) Sinon, quand la connexion ne se fait pas, est-ce que les champs sont toujours pré-remplis, et dans ce cas est-ce que cliquer manuellement sur le bouton valider fait réussir la connexion ?
Et si ces quelques idées ne t'aident pas, tu peux toujours publier le code en question (bien sûr en masquant le mot de passe s'il est en clair).
OK, merci, j'essaie de regarder ça demain et je vous dis. Lors du passage sur la partie connexion dans mon script (il y aura d'autres parties, destinées à simuler une saisie), je positionne une variable pour éviter de resoumettre le formulaire une deuxième fois. Mon script est destiné à ne se dérouler qu'une seule fois. C'est celui de l'application cible qui s'appelle lui-même, pour soit demander login/mdp, soit vérifier que c'est Ok et passer à la page d'accueil proprement dite. Didier. Quand la connexion ne se fait pas, je reçois effectivement à nouveau la page de login avec les champs vides.
Olivier Miakinen
Avant-hier, Didier a écrit :
OK, merci, j'essaie de regarder ça demain et je vous dis.
Dois-je supposer que le problème est résolu ? ;-)
Cordialement, -- Olivier Miakinen
Avant-hier, Didier a écrit :
OK, merci, j'essaie de regarder ça demain et je vous dis.
OK, merci, j'essaie de regarder ça demain et je vous dis.
Dois-je supposer que le problème est résolu ? ;-)
Cordialement, -- Olivier Miakinen
Didier
Le 03/05/2012 23:21, Olivier Miakinen a écrit :
Avant-hier, Didier a écrit :
OK, merci, j'essaie de regarder ça demain et je vous dis.
Dois-je supposer que le problème est résolu ? ;-)
Cordialement,
Non, pas encore, mais dos bloqué -> je ne vais pas au boulot -> je n'ai pas essayé. Les bugs se logent à des endroits parfois ... Je vous tiens au courant, d'autant que j'ai eu un contact avec le développeur de l'application cible, qui va regarder de son côté. Merci. Didier.
Le 03/05/2012 23:21, Olivier Miakinen a écrit :
Avant-hier, Didier a écrit :
OK, merci, j'essaie de regarder ça demain et je vous dis.
Dois-je supposer que le problème est résolu ? ;-)
Cordialement,
Non, pas encore, mais dos bloqué -> je ne vais pas au boulot -> je n'ai
pas essayé.
Les bugs se logent à des endroits parfois ...
Je vous tiens au courant, d'autant que j'ai eu un contact avec le
développeur de l'application cible, qui va regarder de son côté.
Merci.
Didier.
OK, merci, j'essaie de regarder ça demain et je vous dis.
Dois-je supposer que le problème est résolu ? ;-)
Cordialement,
Non, pas encore, mais dos bloqué -> je ne vais pas au boulot -> je n'ai pas essayé. Les bugs se logent à des endroits parfois ... Je vous tiens au courant, d'autant que j'ai eu un contact avec le développeur de l'application cible, qui va regarder de son côté. Merci. Didier.
Didier
Le 01/05/2012 22:04, Olivier Miakinen a écrit :
Bonjour,
Le 01/05/2012 20:17, Didier a écrit :
[...]
Lorsque je veux automatise le clic sur le bouton Valider par une fonction javascript, la connexion semble ne pas se faire, et je retourne au formulaire de login avec les champs vides, mais sans le message d'erreur correspondant à un mauvais couple login/mot de passe. [...] Si j'ai bien compris le php de l'application, après validation par le bouton Valider, on revient au script login.php de l'application, qui voit qu'on est connecté, et qui appelle le sript accueil.php.
Effectivement je n'ai pas été clair, toutes mes excuses. Dans mon script php, je préremplis (à l'aide de leur propriété value) les champs login et mot de passe avec des valeurs valides. Si je n'active pas la fonction javascript qui fait le submit, j'ai donc à l'écran mon formulaire, avec des champs remplis, et je clique sur le bouton Valider, et la connexion se fait : l'application me renvoie l'écran suivant cette authentification. Si j'active (je décommente dans le script php) la fonction qui fait le submit, la connexion ne se fait pas.
Voici quelques idées en vrac.
J'ai pu faire quelques essais cet après-midi :
1) Est-ce que le code javascript attend bien la fin de l'affichage de la page avant de s'exécuter ?
J'ai mis l'appel de la fonction javascript après l'affichage de l'ensemble du formulaire, donc elle ne devrait pas s'exécuter avant (elle est déclarée dans le head de la page).
2) Si je comprends bien, après validation c'est le même script qui est rappelé, avec donc le code javascript qui est soit inactif les deux fois, soit actif les deux fois. Ce ne serait pas ça le problème ?
Le formulaire a comme action un script login.php de l'application ciblée. Quand ce script est appelé avec les données du formulaire passées en POST, il contrôle l'authentification et si ok appelle un script accueil.php, sinon il se rappelle lui-même avec le formulaire vide.
3) Sinon, quand la connexion ne se fait pas, est-ce que les champs sont toujours pré-remplis, et dans ce cas est-ce que cliquer manuellement sur le bouton valider fait réussir la connexion ?
Non, la page s'affiche avec les champs vides, mais sans le message d'erreur d'une authentification echouée, donc comme une première demande d'authentification.
Et si ces quelques idées ne t'aident pas, tu peux toujours publier le code en question (bien sûr en masquant le mot de passe s'il est en clair).
Pour ne pas trop vous mobiliser pour rien, j'ai pris contact avec le développeur de l'application ciblée, qui va regarder ce qui se passe. C'est certainement une finasserie de son script, et une mauvaise programmation de ma part.
Merci. Didier.
Le 01/05/2012 22:04, Olivier Miakinen a écrit :
Bonjour,
Le 01/05/2012 20:17, Didier a écrit :
[...]
Lorsque je veux automatise le clic sur le bouton Valider par une
fonction javascript, la connexion semble ne pas se faire, et je retourne
au formulaire de login avec les champs vides, mais sans le message
d'erreur correspondant à un mauvais couple login/mot de passe. [...]
Si j'ai bien compris le php de l'application, après validation par le
bouton Valider, on revient au script login.php de l'application, qui
voit qu'on est connecté, et qui appelle le sript accueil.php.
Effectivement je n'ai pas été clair, toutes mes excuses.
Dans mon script php, je préremplis (à l'aide de leur propriété value)
les champs login et mot de passe avec des valeurs valides.
Si je n'active pas la fonction javascript qui fait le submit, j'ai donc
à l'écran mon formulaire, avec des champs remplis, et je clique sur le
bouton Valider, et la connexion se fait : l'application me renvoie
l'écran suivant cette authentification.
Si j'active (je décommente dans le script php) la fonction qui fait le
submit, la connexion ne se fait pas.
Voici quelques idées en vrac.
J'ai pu faire quelques essais cet après-midi :
1) Est-ce que le code javascript attend bien la fin de l'affichage de la
page avant de s'exécuter ?
J'ai mis l'appel de la fonction javascript après l'affichage de
l'ensemble du formulaire, donc elle ne devrait pas s'exécuter avant
(elle est déclarée dans le head de la page).
2) Si je comprends bien, après validation c'est le même script qui est
rappelé, avec donc le code javascript qui est soit inactif les deux
fois, soit actif les deux fois. Ce ne serait pas ça le problème ?
Le formulaire a comme action un script login.php de l'application
ciblée. Quand ce script est appelé avec les données du formulaire
passées en POST, il contrôle l'authentification et si ok appelle un
script accueil.php, sinon il se rappelle lui-même avec le formulaire vide.
3) Sinon, quand la connexion ne se fait pas, est-ce que les champs sont
toujours pré-remplis, et dans ce cas est-ce que cliquer manuellement
sur le bouton valider fait réussir la connexion ?
Non, la page s'affiche avec les champs vides, mais sans le message
d'erreur d'une authentification echouée, donc comme une première demande
d'authentification.
Et si ces quelques idées ne t'aident pas, tu peux toujours publier le
code en question (bien sûr en masquant le mot de passe s'il est en
clair).
Pour ne pas trop vous mobiliser pour rien, j'ai pris contact avec le
développeur de l'application ciblée, qui va regarder ce qui se passe.
C'est certainement une finasserie de son script, et une mauvaise
programmation de ma part.
Lorsque je veux automatise le clic sur le bouton Valider par une fonction javascript, la connexion semble ne pas se faire, et je retourne au formulaire de login avec les champs vides, mais sans le message d'erreur correspondant à un mauvais couple login/mot de passe. [...] Si j'ai bien compris le php de l'application, après validation par le bouton Valider, on revient au script login.php de l'application, qui voit qu'on est connecté, et qui appelle le sript accueil.php.
Effectivement je n'ai pas été clair, toutes mes excuses. Dans mon script php, je préremplis (à l'aide de leur propriété value) les champs login et mot de passe avec des valeurs valides. Si je n'active pas la fonction javascript qui fait le submit, j'ai donc à l'écran mon formulaire, avec des champs remplis, et je clique sur le bouton Valider, et la connexion se fait : l'application me renvoie l'écran suivant cette authentification. Si j'active (je décommente dans le script php) la fonction qui fait le submit, la connexion ne se fait pas.
Voici quelques idées en vrac.
J'ai pu faire quelques essais cet après-midi :
1) Est-ce que le code javascript attend bien la fin de l'affichage de la page avant de s'exécuter ?
J'ai mis l'appel de la fonction javascript après l'affichage de l'ensemble du formulaire, donc elle ne devrait pas s'exécuter avant (elle est déclarée dans le head de la page).
2) Si je comprends bien, après validation c'est le même script qui est rappelé, avec donc le code javascript qui est soit inactif les deux fois, soit actif les deux fois. Ce ne serait pas ça le problème ?
Le formulaire a comme action un script login.php de l'application ciblée. Quand ce script est appelé avec les données du formulaire passées en POST, il contrôle l'authentification et si ok appelle un script accueil.php, sinon il se rappelle lui-même avec le formulaire vide.
3) Sinon, quand la connexion ne se fait pas, est-ce que les champs sont toujours pré-remplis, et dans ce cas est-ce que cliquer manuellement sur le bouton valider fait réussir la connexion ?
Non, la page s'affiche avec les champs vides, mais sans le message d'erreur d'une authentification echouée, donc comme une première demande d'authentification.
Et si ces quelques idées ne t'aident pas, tu peux toujours publier le code en question (bien sûr en masquant le mot de passe s'il est en clair).
Pour ne pas trop vous mobiliser pour rien, j'ai pris contact avec le développeur de l'application ciblée, qui va regarder ce qui se passe. C'est certainement une finasserie de son script, et une mauvaise programmation de ma part.