Executer function automatiquement

Résolu
laubro Messages postés 186 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 9 juillet 2013 - 29 janv. 2008 à 18:23
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 - 30 janv. 2008 à 00:42
Bonjour

Voilà, j'ai un form qui envoi la selection (date) dans une requette en AJAX via un control button

et j'affiche mon resultat dans une

donc ça pour le moment roule dans la mesure ou on est sur la page du form et que l'on selectionne manuellement les valeur dans le formulaire et qu'on "click" sur le bouton.

Mais j'aimerais pour également , récupérer ces valeur via des POST (php) arrivant d'un formulaire externe et les passer automatiqment.

En fait, on est sur la page, on fait sa selection, on click = ça marche, pas de probleme
MAIS si
Le form est sur un site externe, j'envoi mes données par un POST : www.monsite.com/mapage.php

dans ma page.php, je recupere les données par des POST

Et donc, à l'ouverture de cette page, si $_POST['arriveej']!="" je simule le click sur le bouton en javascript (je pense) et donc ça execute : verifDispo(arriveej.value, arriveem.value, nbnuits.value, a.value)
sinon
on laisse la page de base

j'espere être claire
Merci

Laubro

3 réponses

helorem Messages postés 49 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 3 février 2008
29 janv. 2008 à 21:17
Zalut laubro,

A la fin de ta page, mets un truc de ce genre :

<?php
if (isset($_POST['arriveej']) && ...)
{
    echo "<script language='javascript'>\n";
    echo "verifDispo('$_POST[arriveej]', '$_POST[arriveem]', '$_POST[nb_nuits]', '$_POST[a]');\n";
    echo "</script>\n";
}
?>

Ce code a pour effet d'appeller la fonction javascript si on lui donne les champ en POST.
Cela sous-entend que dans ta fonction il y a un window.location.replace(...);, sinon il faut l'ajouter en dessous de l'appel (en dessous du deuxieme echo).

Si ca te va, pense a valider la reponse.
3
laubro Messages postés 186 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 9 juillet 2013
29 janv. 2008 à 22:35
Bonsoir et merci de ta contribution
En fait je suis en ajx et je remonte un résultat via un php
Dans ma fonction je n'ai pas exactement ton "window.location.replace(...); mais
mon code pour la fonction ajax est le suivant :

<script type= "text/javascript">
function writediv(texte)
{
document.getElementById('dispobox').innerHTML = texte;
}


function verifDispo(arriveej, arriveem, nbnuits, a)
{


if(arriveej !='')
{
if(arriveej=="Jour")
alert("Choisissez un jour d'arrivée !");


else if(arriveem=="Mois")
alert("choisissez un mois d'arrivée !");


else if(nbnuits=="Nuits")
alert("Indiquez un nombre de nuits !");


else if((a == anneetoday) && (arriveem < moistoday))
alert("Date d'arrivée trop petite, minimum j+1 et nous sommes le : " + jourtoday +"/"+moistoday +"/"+anneetoday);


else if(a > anneetoday2)
alert("Date d'arrivée trop loingtaine, maximum " +moistoday2 +"/"+anneetoday2);


else if((a >= anneetoday2) && (arriveem > moistoday))
alert("Date d'arrivée trop loingtaine, maximum "+moistoday2 +"/"+anneetoday2);


else if((a >anneetoday2) && (arriveem moistoday) && (arriveej >= 1))
alert("Date d'arrivée trop loingtaine, maximum " +moistoday2 +"/"+anneetoday2);


else if((a anneetoday) && (arriveem moistoday) && (arriveej <= jourtoday))
alert("Date d'arrivée trop petite, minimum j+1 et nous sommes le : " + jourtoday +"/"+moistoday +"/"+anneetoday);




else if(texte = file('verifdispo.php?ih=14&arriveej='+escape(arriveej)+'&nbnuits='+escape(nbnuits)+'&arriveem='+escape(arriveem)+'&a='+escape(a)))
{


if(texte == 1)
writediv(' '+arriveej+' : Pas de dispos !!!!');


else
writediv(texte);
}
}
}


function file(fichier)
{
if(window.XMLHttpRequest) // FIREFOX
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // IE
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else
return(false);
xhr_object.open("GET", fichier, false);
xhr_object.send(null);
if(xhr_object.readyState == 4) return(xhr_object.responseText);
else return(false);
}
</script>

Tu pense que c'est suffisant ou il faut que j'ajoute le window.replace.........

Encore merci (je testerai demain)
Laubro
0
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
30 janv. 2008 à 00:42
Perso je prefere verifier les valeurs avant du coter php...

$monVar = (!isset($_POST['monVar'])||empty($_POST['monVar'])) ? false : $_POST['monVar'];

et aussi par mesure de securite...

if(is_array($HTTP_POST_VARS)&&!get_magic_quotes_gpc())
    {
        while( list($k, $v) = each($HTTP_POST_VARS) )
        {
            if( is_array($HTTP_POST_VARS[$k]) )
            {
                while( list($k2, $v2) = each($HTTP_POST_VARS[$k]) )
                {
                    $HTTP_POST_VARS[$k][$k2] = addslashes($v2);
                }
                @reset($HTTP_POST_VARS[$k]);
            }
            else
            {
                $HTTP_POST_VARS[$k] = addslashes($v);
            }
        }
        @reset($HTTP_POST_VARS);
    }

a toi de voir

<hr size="2" width="100%" />  zen69 aka Ortho Le Profett
  [site web]
0
Rejoignez-nous