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

C Discussion :

Textboxes et HTTPExecCmd pour récuperer des informations puis les stocker


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    384
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 384
    Par défaut Textboxes et HTTPExecCmd pour récuperer des informations puis les stocker
    Bonjour,


    Je cherche à créer sur une page web plusieurs textbox afin d'y rentrer des informations puis lorsque le bouton "envoyer" est cliqué, je voudrai récuperer ces informations pour les utiliser ensuite.

    j'ai crée un fichier cgi ( contenu dans le fichier zip attaché ci-joint )

    Ensuite j'ai créé ce code en C pour pouvoir récuperer le contenu des arguments puis les traiter avec HTTPExecCmd

    mais cela ne fonctionne pas ...


    Pourriez vous m'aider ou me proposer une autre méthode afin de capturer les infos entrées dans mes textbox lorsqu'on appui sur le bouton 'envoyer' .

    je me suis inspiré de la page 82 de cette note d'application, mais je ne parviens pas à faire fonctionner le code ( j'obtiens beaucoup d'erreurs que je ne sais pas résoudre )

    http://ww1.microchip.com/downloads/e...tes/00833c.pdf

    Merci beaucoup pour votre aide,



    ...

    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
    25
    26
    27
    28
    29
    30
     
    case CGI_CMD_TIMER:
     
    // Go through each parameters for current form command.
    // We are skipping form action name, so i starts at 1...
    for (i = 1; i < argc; i++ )
    {
    // Identify parameter.
    if ( argv[i][0] == ‘Hour’ ) // Is this Hour Setting?
    {
    // Next parameter is the Hour.
    set_hour = atoi(argv[++i]);
    }
    else if ( argv[i][0] == ‘Min’ ) // Is this Minutes Setting?
    set_minute = atoi(argv[++i]);
    else if ( argv[i][0] == ‘Sec’ ) // Is this Seconds Setting?
    set_second = atoi(argv[++i]);
    else if ( argv[i][0] == ‘Out’ ) // Is this Output select Setting?
    set_second = atoi(argv[++i]);
    }
     
    // If another page is to be displayed as a result of this command, copy
    // its upper case name into argv[0]
     
    // Renvoi les données capturées dans le fichier SEETIMER.cgi
     
    memcpypgm2ram((void*)argv[0], (ROM void*)SEETIMER_PAGE, SEETIMER_PAGE_LEN);
     
     
    break;
    Fichiers attachés Fichiers attachés

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    Ton fichier CGI n'est pas valide :
    Un fichier CGI est en fait un petit programme, souvent écrit en C qui va être appelé par le serveur http quand l'utilisateur cliquera sur le bouton qui appelle la méthode post.

    Exemple minimal :
    La page html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <html>
        <body>
            <form method=POST action=hello.cgi>
                <input type=SUBMIT value=Lancer>
            </form>
        </body>
    </html>
    L'exécutable hello.cgi doit se trouver dans le même répertoire que la page html. Cet exécutable sera lancé par le serveur qui renverra la sortie standard du programme.

    Un peu de doc sur le CGI : http://nospam.chez.com/cgi.html

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    384
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 384
    Par défaut
    J'ai écrit mon CGI en m'inspirant de la doc d'application Microchip.
    Y aurait-il une erreur ?
    Celle ci utilise <FORM METHOD=GET action=>

    Actuellement le code qui doit traiter les données envoyées par le CGI me retourne pleins d'erreurs :

    Error [1128] compatible scalar operands required for comparison

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ( argv[i][0] == ‘Hour’ ) // Is this Hour Setting?

    Error [1153] cannot assign array type objects
    Error [1102] cannot assign to 'const' modified object
    Error [1131] type mismatch in assignment

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set_hour = atoi(argv[++i]);
    Error [1128] compatible scalar operands required for comparison
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    else if ( argv[i][0] == ‘Min’ ) // Is this Minutes Setting?
    Error [1153] cannot assign array type objects
    Error [1102] cannot assign to 'const' modified object
    Error [1131] type mismatch in assignment

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set_minute = atoi(argv[++i]);

    Pourriez vous m'aider à les résoudre ?
    je ne suis pas à l'aise avec cette fonctionnalité.

    Merci à vous,

  4. #4
    Invité(e)
    Invité(e)
    Par défaut
    Error [1128] compatible scalar operands required for comparison
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ( argv[i][0] == ‘Hour’ ) // Is this Hour Setting?
    Tu compares des choux et des caisses de fanes de carottes :

    Une chaine de caractères s'écrit "chaine" et non 'chaine'.
    Deux chaines de caractères se comparent par str[n]cmp.

    Error [1153] cannot assign array type objects
    Error [1102] cannot assign to 'const' modified object
    Error [1131] type mismatch in assignment
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set_hour = atoi(argv[++i]);
    De quel type est set_hour ?

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    384
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 384
    Par défaut
    j'ai défini set_hour ainsi :

    Je suis un peu perdu

    Pourriez vous me donner un petit exemple de cgi associé un code C qui utilise HTTPExecCmd , mon but est d'entrer 2 ou données dans des textboxes et récuperer le contenu de celles ci dans le code en C pour ensuite les exploiter.

    sur le site de mabu à donné les exemples de codes ne sont plus disponibles .

  6. #6
    Invité(e)
    Invité(e)
    Par défaut
    Citation Envoyé par lcoulon Voir le message
    j'ai défini set_hour ainsi :
    Supposons qu'argv contienne : {"power.cgi", "Hour", "15", "Min", "45"}...
    Tu pourras écrire :
    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
     
    char * set_hour = NULL;
    char * set_min = NULL;
    size_t i;
    for(i = 1; i < argc; ++i) {
        if(0 == strcmp("Hour", argv[i])) {
            set_hour = strdup(argv[i+1]);
            ++i;
        }
        if(0 == strcmp("Min", argv[i])) {
            set_min = strdup(argv[i+1]);
            ++i;
        }
    }
    /* Ici, set_min contient "45\0"n set_hour "15\0" */
     
    /* ... */
     
    free(set_min);
    free(set_hour);
    Sinon, avant d'essayer de faire des choses compliquées avant ton programme cgi, arrives tu à lui faire afficher un simple hello world ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include <stdio.h>
    int main(void)
    {
        printf("Content-Type: text/html\r\n\r\n");
        printf("<html> <body>\n");
        printf("Hello World\n");
        printf("</body></html>\n");
        return 0;
    }
    Une fois que tu auras fait ça, la suite sera plus facile.

Discussions similaires

  1. Script SNMP pour récupérer des information de la MIB
    Par patchiko dans le forum Développement
    Réponses: 4
    Dernier message: 23/05/2011, 18h31
  2. Réponses: 3
    Dernier message: 06/01/2007, 19h11
  3. Réponses: 8
    Dernier message: 13/07/2006, 01h17
  4. [VB6]Comment faire pour récuperer des donnée sur un mp3 ou wav ?
    Par MegaBigBoss dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 13/06/2006, 16h08
  5. Comment récuperer des informations d'un .swf (flash) ?
    Par diado dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 12/01/2004, 21h32

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