Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5771 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Comment faire quand pas de name à un submit

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment faire quand pas de name à un submit

n°1253501
idy
Posté le 25-11-2005 à 20:46:52  profilanswer
 

J'essaye de remplir automatiquement un formulaire login/pass avec cURL, mais le bouton submit du site internet n'a pas de champ name  :
<input tabindex="4" type="submit" value="OK">
 
comment passer la valeur submit en paramètre ? par Submit=OK ?
 
Merci pour votre aide.

mood
Publicité
Posté le 25-11-2005 à 20:46:52  profilanswer
 

n°1253506
olivthill
Posté le 25-11-2005 à 20:55:09  profilanswer
 

Si le formulaire s'appelle le_formulaire, s'il n'y a qu'un seul bouton submit, et si tu utilises Javacript, tu peux énumérer les controls :

  for(i = 0; i <le_formulaire.elements.length ; i++)
      if (le_formulaire.elements[i].type == "submit" )
          le_formulaire.elements[i].value = "nouveau libellé pour le bouton";

Cela dit, je ne vois pas bien l'intérêt de changer le nom d'un bouton submit d'une page que l'on a pas créé soi-même (et même d'une page que l'on a créé). Si le problème est de simuler l'appui sur le bouton, au lieu de remplir le bouton, alors c'est une autre question.


Message édité par olivthill le 25-11-2005 à 20:57:25
n°1253509
idy
Posté le 25-11-2005 à 21:01:32  profilanswer
 

Merci pour ta réponse. Mais il s'agit bien de simuler l'appui sur le bouton.
Car j'utilise précisément cURL pour entrer sur un site Internet où mon login et mon mot de passe sont nécessaires, avant de pouvoir accéder et récupérer les pages Internet protégées... mais je n'arrive pas à passer le stade du login :
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.SITE.com/');
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'login=MON_LOGIN&password=MON_PASSWORD');
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
echo $store = curl_exec ($ch);
curl_close ($ch);

n°1253534
olivthill
Posté le 25-11-2005 à 21:53:04  profilanswer
 

Simuler l'appui sur la touche submit revient au même que d'envoyer les données du formulaire en mode post (ou get si le formulaire est en méthode get).
 
Il y a plusieurs exemples de code similaires au tien sur la page du manuel php pour les fonctions curls http://us2.php.net/manual/en/function.curl-setopt.php . Une page complémentaire qui est intéressante est http://curl.haxx.se/libcurl/php/examples/ qui donne l'exemple suivant :

Citation :

<?php
//
// A very simple PHP example that sends a HTTP POST to a remote site
//
 
$ch = curl_init();
 
curl_setopt($ch, CURLOPT_URL,"http://www.mysite.com/tester.phtml" );
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
            "postvar1=value1&postvar2=value2&postvar3=value3" );
 
curl_exec ($ch);
curl_close ($ch);  
?>

Donc, je pense que ton idée d'envoyer CURLOPT_URL, CURLOPT_POST, et CURLOPT_POSTFIELDS doit être la bonne, mais qu'un détail doit empêcher ton code de marcher. Par exemple, par hasard, est-ce que ce ne serait pas tout bêtement à cause du vieux piège de l'apostrophe au lieu du guillemet dans la ligne du CURLOPT_POSTFIELDS, car

Code :
  1. curl_setopt ($ch, CURLOPT_POSTFIELDS, 'login=$mon_login&password=$mon_password');
  2.     est très différent de
  3. curl_setopt ($ch, CURLOPT_POSTFIELDS, "login=$mon_login&password=$mon_password" );


n°1253539
idy
Posté le 25-11-2005 à 21:57:00  profilanswer
 

Merci beaucoup poir ton aide. L'erreur provenait en fait de l'url indiquait. Je pointais vers la page où il y avait le formulaire, et non vers la page où le formulaire se valide (action=...). J'espère que cette remarque en aidera d'autres !
Merci encore pour t'être penché sur mon souci !
Bonne soirée.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Comment faire quand pas de name à un submit

 

Sujets relatifs
[JavaScript] xhtml et attribut name d'un formulaire incompatibleProblemes d'affichage meta name.
[VBA] PivotField et nameEnvoyer des valeur en post sans passer pas JS et bouton submit ?
[RESOLU] 2 submit pour un formbouton submit qui en entraine un autre
bouton submit qui modifie une variable phpinput file changer name of file
action submit[html] comment submit un form sans name ?
Plus de sujets relatifs à : Comment faire quand pas de name à un submit


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)