[php] url

jul -  
 jul -
Bonjour

J'ai essayer de passer les paramètres de mon formuilaire par l'url.

Mon code est celui ci:

<? 
$url="?mode=formulaire&objet=sequences&action=visualiser?";
foreach ($champs as $cle=>$valeur){
$url.= "$cle=$valeur&";
}
echo $url;
?>


Ce code fonctionne mais ne prend les valeurs de mon formulaire seulement lorsque je valide celui ci.

Hors moi jveux conservé les valeurs de chaque champs mais sans avoir besoin de submit le formulaire.

Je sais pas si c très clair........

11 réponses

  1. reinearthur Messages postés 59 Date d'inscription   Statut Membre 8
     
    Bonjour

    Il faut que tu mette le nom de ta nouvelle page d'abord:
    Ton url doit être de la forme:
    truc.html?nom1=valeur1&nom2=valeur2...
    et pas de ? à la fin
    bon courage!
    0
  2. jul
     
    Mais le nom de ma page correspond a la ligne

    $url="?mode=formulaire&objet=sequences&action=visualiser?";

    Et il n'y a donc pas une technique pour que l'on conserve les valeurs entré par l'utilisateur sans envoyer le formulaire ni le valider???
    0
  3. Erwan
     
    Salut Jul,

    je sais pas trop si ca peut t'aider mais regarde la fonction : http_build_query.

    Recherche ca quelque part ca peut peut etre t'aider.
    0
  4. jul
     
    Oui cette fonction pourrait bien m'aider mais quand je l'utilise j'ai un message d'erreur du type:

    Fatal error: Call to undefined function: http_build_query() in /usr/local/apache/serveurs/formulaires/sequences.cgi on line 105

    le code que j'ai écrit est juste un test pour voir si la fonctin marche:

    echo http_build_query($champs);
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
     
    juste une petite remarque :
    Ce n'est pas :
    $url="?mode=formulaire&objet=sequences&action=visualiser?";
    

    mais :
    $url="?mode=formulaire&objet=sequences&action=visualiser&";
    


    ++
    0
  7. jul
     
    Dans un autre post kij tu m'a écri
    "
    Et c'est cette url que tu passe en param à ta popup

    Dans la popup, tu la modifie en ajoutant la valeur qu'est sencé selectionner l'utilisateur dans ta popup :
    $url = $_POST['url'];
    $url .="&data=".$data; // Ou d'une autre facon (JS par exemple)

    Puis tu fais le changement dans la fenetre appellante de la popup avec une redirection sur l'url que tu obtient, et tu ferme la popup. "

    Je ne comprend pas bien ce qui est entendu par un changement dans la fenetre appellante.
    Et si je redirige l'utilisateur sur l'url obtenu encore une nouvelle page va s'ouvrir non??
    0
    1. kij_82 Messages postés 4102 Date d'inscription   Statut Contributeur Dernière intervention   857
       
      et bien je voualais dire par la qu'il faut que depuis ta popup tu fasse appelle à une fonction (présente dans le script de ta popup) qui s'occupe d'afficher l'url que tu as transformée (qui normalement est l'url avec les paramètres passée de la page qui a fait la popup) dans la fenetre numéro 1 (fenetre mère de la popup = fenetre ou il y a le script qui a créer la popup donc pour toi celle ou tu as ton premier formulaire).

      La fonction que tu dois avoir dans le script de la page qui s'affiche dans ta popup doit avoir les phases suivante :
      1 - prendre l'objet fenetre parent (this.parent)
      2 - y faire une redirection : location

      Ce qui donne qqchose comme ca :
      <script language="javascript">
      function raffraichi ( url ) {
        // Tu complete l'url comme tu as fait (avec modif que j'ai dit)
        // Puis :
        this.parent.location = url;
        // Ici détruire la fenetre popup avec une fonction javascript existante ressembalnt à close().
      }
      </script> 
      


      Comme je l'ai déjà dit : pour fermer la popup, je sais pas comment on fait : demander à qq d'autre.
      La fonction ci-dessu tu l'appelle en passsant l'url modifiée comme tu as fait.

      Voilà, j'espère avoir été clair cette fois.. ?
      0
  8. jul
     
    Autre demande:

    j'ai un lien vers un formulaire 2

    et j'ai dans mon formulaire 1 défini une url

    je veux donc la récuperer dans mon formulaire 2

    en faisant $url=$_POST['url'];

    mais le $url ne contient plus rien dans mon formulaire 2

    Une idée??
    0
    1. reinearthur Messages postés 59 Date d'inscription   Statut Membre 8
       
      Il faut que tu passe $url en paramètre,
      il te suffit d'ajouter ?url=ton url que tu veux passer
      à la fin de ton lien vers le formulaire 2, dans le formulaire 1
      tu as compris?

      Et après dans le formulaire 2 tu utilise $_GET
      $_POST c'est pour les envoi par les formulaires
      0
  9. jul
     
    ben si j'ai bien compris dans mon formulaire 1 je dois avoir un truc de ce type:

    <a href="......?url" >lien</a>

    mon probleme est que si je fais ca j'ai mon formulaire 2 qui est modifier (il lui manque le bouton ajouter)
    0
    1. reinearthur Messages postés 59 Date d'inscription   Statut Membre 8
       
      pas forcément mais comment tu fais pour passer ta variable url d'un formulaire à l'autre?
      0
  10. jul
     
    Ben justement elle ne passe pas d'un formulaire a l'autre et c'est ce que je veux arriver a faire.

    Faut il obligatoirement que le lien ouvre une popup???

    Jpe avoir des info sur le passage de l'url please
    0