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

Langage PHP Discussion :

Utiliser une url pour transmettre données d'un formulaire


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 29
    Par défaut Utiliser une url pour transmettre données d'un formulaire
    Bonjour,

    Je suis un débutant en php et je cherche à écrire un script pour obtenir des données grâce à un formulaire, puis à passer ces valeurs dans une url qui me servira à effectuer une recherche dans une base de données.

    Mon but est d'obtenir une url de ce type:
    http://toolserver.org/~kolossos/temp...CAS&is=67-66-3

    Il s'agit d'une requête. Je ne suis pas l'auteur du système de recherche et cette url m'a été donnée par le développeur du système.
    Mon but de construire cette url en utilisant un formulaire afin d'éviter de devoir taper l'url. Dans ce but, j'aimerais pouvoir faire varier les valeurs des paramètres lang, where et is.

    J'ai écrit un script avec le formulaire, maintenant je voudrais construire l'url et l'envoyer, mais je ne vois pas comment faire ces 2 dernières étapes. Comme déjà dit, je suis débutant (c'est mon premier script php) et la structure est peut-être complètement à côté de la plaque, mais on fait comme on peut avec les moyens qu'on a (si vous avez des idées, je suis preneur).

    <?PHP

    # Main code

    $language = $_GET['lang1'] ; // en prinicpe une url serait utilisé pour
    // passer la variable lang1 qui peut être
    // être différente de la variable lang

    $tool_title = array (
    'de' => 'Chemikaliensuche' ,
    'en' => 'Chemical search' ,
    'fr' => 'Recherche des composés chimiques'
    ) ;

    $tool_description = array (
    'de' => 'Dieses Tool ermöglicht die Suche von Artikeln über Chemikalien mit den gespeicherten Informationen in der Infobox' ,
    'en' => 'This tool allows the search of articles about chemicals using information stored in the infobox.' ,
    'fr' => 'Cet outil permet la recherche des articles concernant les composants chimiques en utilisant les information stockées dans l'infoboîte.'
    ) ;

    $form_language = array (
    'de' => 'Sprache' ,
    'en' => 'Language' ,
    'fr' => 'Langue'
    ) ;

    $form_parameter = array (
    'de' => 'Suchparameter' ,
    'en' => 'Search parameter' ,
    'fr' => 'Paramètre de recherche'
    ) ;

    $form_parameter_name = array (
    'de' => 'Name' ,
    'en' => 'Name' ,
    'fr' => 'Nom'
    ) ;

    $form_parameter_iupac = array (
    'de' => 'IUPAC Name' ,
    'en' => 'IUPAC Name' ,
    'fr' => 'Nom IUPAC'
    ) ;

    $form_parameter_cas = array (
    'de' => 'IUPAC Name' ,
    'en' => 'IUPAC Name' ,
    'fr' => 'Nom IUPAC'
    ) ;

    $form_parameter_einecs = array (
    'de' => 'EINECS-Nummer' ,
    'en' => 'EINECS number' ,
    'fr' => 'Numéro EINECS'
    ) ;

    $form_parameter_forumula = array (
    'de' => 'Summenformel' ,
    'en' => 'Chemical formula' ,
    'fr' => 'Formule brute'
    ) ;

    $form_value = array (
    'de' => 'Suchwert' ,
    'en' => 'Search value,
    'fr' => 'Valeur de recherche'
    ) ;

    print "<html><body>" ;
    print '<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>' ;
    printf ("<h1>%s</h1>", $tool_title[$language]) ;

    printf ("<h3>%s</h3>", $tool_description[$language]) ;

    printf ("
    <form method='post' Action="http://tools.wikimedia.de/~kolossos/templatetiger/tt-table4.php">
    <table>
    <tr><th>%s</th>
    <td>
    <input type='text' name='lang' value=''/>
    </td>
    </tr>
    <tr><th>%s</th>
    <td>
    <select name='where'/>
    <OPTION VALUE="Name">%s</OPTION>
    <OPTION VALUE="IUPAC">%s</OPTION>
    <OPTION VALUE="CAS">%s</OPTION>
    <OPTION VALUE="EINECS">%s</OPTION>
    <OPTION VALUE="Formula">%s</OPTION>
    </td>
    </tr>
    <tr><th>%s</th>
    <td>
    <input type='text' name='is' value=''/>
    </td>
    </tr>
    </table>
    <input type='submit' name='search' value='Search' />
    </form>
    ", $form_language[$language], $form_parameter[$language], $form_parameter_name[$language],$form_parameter_iupac[$language], $form_parameter_cas[$language], $form_parameter_einecs[$language], $form_parameter_formula[$language], $form_value[$language]) ;

    print "</body></html>" ;


    ?>

  2. #2
    Membre chevronné Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Par défaut
    Bonjour,

    Tu es tout pret du but...
    il faut juste remplacer method='post' par method='get'

    Gillou

  3. #3
    Membre chevronné Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Par défaut
    et ajouter un champ de type "hidden"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type='hidden' name='template' value='Infobox Chemikalie' />
    pour ne pas oublier le paramètre 'template'

    Gillou

  4. #4
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 29
    Par défaut
    Merci de répondre aussi vite.

    Reste le problème de la valeur du paramètre template qui reste constant: template=Infobox%20Chemikalie que je ne sais pas comment intégrer: je ne peux pas l'ajouter sous Action du formulaire à cause du problème du point d'interrogation.

    Idée pour résoudre ce problème?

  5. #5
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 29
    Par défaut
    On voit qu'il existe des experts qui voient du premier coup les problèmes. Encore merci

  6. #6
    Membre chevronné Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Par défaut
    C'est le champ hidden dont je viens de parler

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

Discussions similaires

  1. [JpGraph] Passage d'un tableau en paramètre dans une URL pour JPgraph
    Par crazydiver_e2 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 16/01/2006, 16h15
  2. Utiliser une touche pour appeller une fonction
    Par Hide dans le forum Langage
    Réponses: 2
    Dernier message: 13/10/2005, 16h59
  3. Utiliser le C pour récuperer données d'un capteur
    Par Malek_BAKLOUTI dans le forum C
    Réponses: 12
    Dernier message: 05/10/2005, 10h40
  4. [XSL] utiliser une variable pour nom d'élément
    Par luta dans le forum XSL/XSLT/XPATH
    Réponses: 13
    Dernier message: 07/09/2004, 13h58
  5. Réponses: 36
    Dernier message: 13/05/2004, 18h22

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