Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 20-09-2010 12:38:00

gmifsud
Membre
Date d'inscription: 29-04-2010
Messages: 75

[RÉSOLU] Script cgi avec Zend ?

Bonjour à tous,


J'ai besoin qu'un formulaire exécute un script cgi (pour être plus précis, il s'agit d'une authentification pour un achat en ligne, le script cgi est fourni par le prestataire).
Comment dois-je procéder avec zend, sachant que j'utilise le pattern MVC ?

J'ai lu ce thread : http://www.z-f.fr/forum/viewtopic.php?id=808 mais il n'est pas très explicite malheureusement.


Voilà où j'en suis : j'ai ajouté l'action $this->setAction("/path vers le script.cgi/") à mon formulaire.
Mais je ne sais pas où mettre le script (dans un dossier /application/cgi-bin/ ou bien à côté du script de la vue qui l'appelle, ou autre ?), ni comment faire en sorte qu'il soit "protégé" (illisible par les utilisateurs).

Mon serveur apache exécute déjà les scripts cgi, j'ai testé sur une page web sans zend.


Merci d'avance.



EDIT : pour le moment, j'ai une belle erreur "Action "cgiBin" does not exist and was not trapped in __call() " tout à fait logique.

En gros comment dois-je faire pour que le formulaire appelle ce script cgi dans sa balise ACTION="" ?

Dernière modification par gmifsud (21-09-2010 10:07:58)

Hors ligne

 

#2 21-09-2010 10:07:12

gmifsud
Membre
Date d'inscription: 29-04-2010
Messages: 75

Re: [RÉSOLU] Script cgi avec Zend ?

Je ne sais pas si c'est la bonne solution, mais en mettant l'adresse complète dans le paramètre ACTION du formulaire ça semble fonctionner.

En d'autres termes au lieu de mettre l'adresse relative, il faut mettre l'adresse complète.

J'ai donc procédé ainsi :
- un dossier /public/cgi-bin/ protégé par un .htaccess qui empêche de le parcourir.
À ce sujet, avez-vous un .htaccess qui renvoie à la page d'index du site, à proposer ? Ma méthode provoque l'affichage de la page d'erreur de l'application.
Je fais comme ça : DirectoryIndex index.php index.html index.phtml ../index.php
Merci.

- Dans ma définition du formulaire, je mets :

Code:

class Form_MonFormulaire extends Zend_Form
{

    public function init()
    {
        $this->setName("form_monform");
        $this->setAttrib('id','form_monform);
        $this->setAction("http://monsite/cgi-bin/le_script_cgi.cgi");
        $this->setMethod('post');
        // La légende du formulaire
        $this->setAttrib('legende', "Mon beau formulaire");

// Les éléments du formulaires
...

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages