Page 1 sur 1

Redirection de mes POST avec une vérification PHP

Posté : 22 juin 2010, 16:30
par wwwbillgates
bonjour, je souhaiterai faire des vérification diverse en PHP sur une page qui me permet de selectionner des articles. Comme vérifier si les champs sont bien remplis etc. Lorsque toute mes vérifications sont ok sur ma page, ca me redirige vers la page panier grace à :
redirige("../../templates/pages/etape4_supports.php" );
Mon probleme est que je ne parvien pas à envoyer mes variables $_POST, je ne sais pas si c'est possible car si j'indique une adresse dans le action="" de mon form alors la vérif ne peut évidement pas se faire. 8-|

PS. : je ne souhaite pas les envoyer en GET ni en SESSIONS.

Re: Redirection de mes POST avec une vérification PHP

Posté : 22 juin 2010, 16:49
par jojolapine
Si tu ne souhaites pas utiliser les SESSION, les GET ou les COOKIES,
le seul moyen c'est de les enregistrer temporairement dans une table sql ou un fichier texte sur ton serveur...

Ou alors tu peux aussi afficher un mini-formulaire dans ta page de vérification et reporter toutes tes données POST en <input> de type "hidden"...

Mais pourquoi ne pas vouloir utiliser les sessions?

Re: Redirection de mes POST avec une vérification PHP

Posté : 22 juin 2010, 17:09
par wwwbillgates
Mais pourquoi ne pas vouloir utiliser les sessions?
J'aurais bien utiliser des sessions mais je rencontrais d'autre problème et comme personne n'a pus m'aider à la question php-debutant/des-sessions-place-post-pl ... 53969.html et que je suis débutant alors je tente autre chose :?

Re: Redirection de mes POST avec une vérification PHP

Posté : 22 juin 2010, 19:49
par wwwbillgates
Ou alors tu peux aussi afficher un mini-formulaire dans ta page de vérification et reporter toutes tes données POST en <input> de type "hidden"...

ca veut dire que je peu envoyer des post à partir d'un form à la place de ma redirection? Et comment on peut faire ca?

Re: Redirection de mes POST avec une vérification PHP

Posté : 22 juin 2010, 20:48
par stopher
Slt ,

Ou tout simplement réécrire un requête http , avec le données en POST ...

-> curl
-> fsockopen
-> ...

Exemple :

        $out = "POST / HTTP/1.1\r\n";
        $out .= "Host: www.monsite.fr\r\n";
        $out .= "Content-type: application/x-www-form-urlencoded\r\n";
        $out .= "Content-length: ".strlen("varA=valueA&varB=valueB")."\r\n";
        $out .= "User-Agent : Mozilla/4.0 (compatible; MSIE 5.0; Windows 95)\r\n";
        $out .= "Connection: close\r\n\r\n";
        $out .= "varA=valueA&varB=valueB\r\n\r\n";


        $fp = fsockopen("www.monsite.fr", 80, $errno, $errstr, 15);
        if (!$fp) {
            echo "Erreur : $errstr ($errno)<br />\n";

        }else{
            
            //connexion effectué envoie des entetes
            fwrite($fp, $out);

             while (!feof($fp)) {
                $result .=   fgets($fp, 128);
            }
            fclose($fp);

        }

Ce qui te permet de faire n'importe quelle requête en POST depuis ton code PHP.

Maintenant , si c'est juste pour vérifier que le formulaire est bien remplis , il y a peut être plus simple .. voir javascript.

Ch.

Re: Redirection de mes POST avec une vérification PHP

Posté : 22 juin 2010, 21:27
par stealth35
Slt ,

Ou tout simplement réécrire un requête http , avec le données en POST ...

-> curl
-> fsockopen
-> ...

Exemple :

        $out = "POST / HTTP/1.1\r\n";
        $out .= "Host: http://www.monsite.fr\r\n";
        $out .= "Content-type: application/x-www-form-urlencoded\r\n";
        $out .= "Content-length: ".strlen("varA=valueA&varB=valueB")."\r\n";
        $out .= "User-Agent : Mozilla/4.0 (compatible; MSIE 5.0; Windows 95)\r\n";
        $out .= "Connection: close\r\n\r\n";
        $out .= "varA=valueA&varB=valueB\r\n\r\n";


        $fp = fsockopen("www.monsite.fr", 80, $errno, $errstr, 15);
        if (!$fp) {
            echo "Erreur : $errstr ($errno)<br />\n";

        }else{
            
            //connexion effectué envoie des entetes
            fwrite($fp, $out);

             while (!feof($fp)) {
                $result .=   fgets($fp, 128);
            }
            fclose($fp);

        }

Ce qui te permet de faire n'importe quelle requête en POST depuis ton code PHP.

Maintenant , si c'est juste pour vérifier que le formulaire est bien remplis , il y a peut être plus simple .. voir javascript.

Ch.
old school tout ca y'a plus simple quand même, un simple file_get_contents avec le contexte et ca roule
$opts = array(
            'http'=>array(
                'method'  => "POST",
                'header'  => "Content-type: application/x-www-form-urlencoded",
                'content' => http_build_query(array('valA' => 'valueA')
        )));
            
echo file_get_contents('http://exemple.com', false, stream_context_create($opts));

Re: Redirection de mes POST avec une vérification PHP

Posté : 22 juin 2010, 21:38
par stopher
Old school old school ..

Nannnnn pas déjà .. c'est juste un petit manque au niveau des flux hein .. oui oui .. :D

Re: Redirection de mes POST avec une vérification PHP

Posté : 22 juin 2010, 21:41
par stealth35
Old school old school ..

Nannnnn pas déjà .. c'est juste un petit manque au niveau des flux hein .. oui oui .. :D
:?:

Re: Redirection de mes POST avec une vérification PHP

Posté : 22 juin 2010, 21:54
par jojolapine
Tout en rappelant que tout oldschool que ce soit, les file_get_contents() avec contexte et/ou sur des urls n'est pas autorisé partout, loin de là!
Donc on a une alternative au moins ;)

Re: Redirection de mes POST avec une vérification PHP

Posté : 22 juin 2010, 21:56
par stopher
Ce n'est rien .. quand je suis fatigué il n'y a pas toujours de véritables cohérences dans ce que je raconte .. :boire4:
d'ailleurs je vais de ce pas me coucher ..

En espérant que les derniers posts aient répondu à ta problématique wwwbillgates

Bonne soirée a tous ..

Ch.