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

Langage PHP Discussion :

Bonne utilisation des variable transmis dans l'URL. [PHP 5.2]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mai 2009
    Messages : 69
    Par défaut Bonne utilisation des variable transmis dans l'URL.
    Bonjours à tous,

    Merci de l'aide que vous m'apporterez.

    Donc j'ai vu un post similaire mais il ne m'as pas apportez la réponse que je cherche, du moins les conseils dont j'ai besoin.

    Donc la situation :

    Mon site(construction en local) marche au tour de index.php tous viens s'inclure dedans :

    le menu

    les page de contenu.

    parmis mes pages j'en ai une qui s'appel contact.php, cette page a une liste déroulante de routing, pour selectionner(afficher) un formulaire.

    Le soucis c'est que pour le moment l'appel d'un formulaire se fait sous cette URL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://localhost/monsite/index.php?page=formulaire_choisi
    Mais je voudrais avoir cette URL a la place :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://localhost/monsite/index.php?page=contact&form=formulaire_choisi
    Ainsi j'aurais la présence de page=contact dans l'URL qui me permettra de garder l'état current de Contact(dans le menu) lorsque on est sur un formulaire.

    Donc j'ai commencer par regardé si

    avais bien la valeur du formulaire choisi.

    Et c'est OK.

    mon problème est maintenat de rajouté dans le script suivant :

    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
    31
    32
    33
    <?php
    echo $_GET['form'];
    // On liste les pages
    $page_array = array(
    'accueil' => 'index',
    'accueil' => 'accueil',
    'mastering' => 'mastering',
    'mixing' => 'mixing',
    'tarifs' => 'tarifs',
    'a_propos' => 'a_propos',
    'contact' => 'contact',
    'formulaire_mastering' => 'formulaire_mastering',
    'formulaire_mixing' => 'formulaire_mixing',
    'formulaire_informations' => 'formulaire_informations',
    'formulaire_essai_offert' => 'formulaire_essai_offert'
    );
    // On vérifie si la variable $_GET['page'] existe bien
    if (empty ($_GET['page']))
    {
            // On inclue la page d'accueil
            include('./includes/accueil.php');
    		exit;
    }
    if (array_key_exists ($_GET['page'], $page_array))  // On vérifie si la page demandé ce situe dans l'array
    	{
    	// On inclue la page demandé
            include('./includes/'.$page_array[$_GET['page']].'.php');	
       	}
    	else
    	{
    		include('./includes/accueil.php');
    	}
    ?>
    Cette 2ème variable présente avec la page contact.php.

    Donc pour commencer j'avais fais ceci pour le début(les array):
    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
     
    <?php
    // On liste les pages
    $page_array = array(
    'accueil' => 'index',
    'accueil' => 'accueil',
    'mastering' => 'mastering',
    'mixing' => 'mixing',
    'tarifs' => 'tarifs',
    'a_propos' => 'a_propos',
    'contact' => 'contact'
    );
    //on liste les formulaire
    $form_array = array(
    'formulaire_mastering' => 'formulaire_mastering',
    'formulaire_mixing' => 'formulaire_mixing',
    'formulaire_informations' => 'formulaire_informations',
    'formulaire_essai_offert' => 'formulaire_essai_offert'
    );
    ?>
    Mais ensuite je ne trouve pas la bonne syntaxe pour cette partie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    if (array_key_exists ($_GET['page'], $page_array))  // On vérifie si la page demandé ce situe dans l'array
    	{
    	// On inclue la page demandé
            include('./includes/'.$page_array[$_GET['page']].'.php');	
       	}
    ?>
    Comment puis-je ajouté ma nouvelle variable présente avec la page contact.php une fois que l'on selectionne un formulaire.

    Si vous souhaité voir le menu de routing pour la selection du formulaire dites le moi.

    Voici une ligne qui le compose et envoi l'URL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      <legend>Type de contact</legend>
      <form class="formulaire"  action="" method="get">
        <select name="form" id="RoutingContact" onchange="MM_jumpMenu('parent',this,1)">
          <option>Sélectionnez un formulaire...</option>
          <option value="&amp;form=formulaire_mastering">Mastering</option>
    Je pense pas que le Javascript génè car la variable form= est bien envoyé sur index.php.

    C'est juste que j'arrive pas a l'exploité, du moins a formulé la synthax.

    Merci beaucoup pour votre aide et vos conseils.

    ['Màj']

    Alors il y a du nouveau mais sa bloque encore un peu

    voici le code de Index qui marche presque :

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    <?php
    echo $_GET['form'];//echo pour être sur que la variable "form=" fonctionne
    // On liste les pages
    $page_array = array(
    'accueil' => 'accueil',
    'mastering' => 'mastering',
    'mixing' => 'mixing',
    'tarifs' => 'tarifs',
    'a_propos' => 'a_propos',
    'contact' => 'contact'
    );
    //on liste les formulaire
    $form_array = array(
    'formulaire_mastering' => 'formulaire_mastering',
    'formulaire_mixing' => 'formulaire_mixing',
    'formulaire_informations' => 'formulaire_informations',
    'formulaire_essai_offert' => 'formulaire_essai_offert'
    );
    $form = htmlspecialchars($_GET['form']);
    // On vérifie si la variable $_GET['page'] existe bien
    if (empty ($_GET['page']))
    {
            // On inclue la page d'accueil
            include('./includes/accueil.php');
    		exit;
    }
    if (array_key_exists ($_GET['page'], $page_array) AND $_GET[''] !='contact' )// On vérifie si la page demandé ce situe dans l'array
    	{
    	// On inclue la page demandé
            include('./includes/'.$page_array[$_GET['page']].'.php');	
       	}
    	elseif (array_key_exists($_GET['page'], $page_array)AND $_GET['page']== 'contact')
     
    	switch($form)
    		{
    			case "formulaire_mastering": //cas:on veut le formulaire Mastering
    		include('./includes/'.$form_array[$_GET['form']].'.php');//on inclu le form
    		break;
     
    	case "formulaire_mixing": //cas:on veut le formulaire Mixing
    		include('./includes/'.$form_array[$_GET['form']].'.php');//on inclu le form
    		break;
    	case "formulaire_informations": //cas:on veut le formulaire infos
    		include('./includes/'.$form_array[$_GET['form']].'.php');//on inclu le form
    		break;
     
    	case "formulaire_essai_offert": //cas:on veut le formulaire essai offert
    		include('./includes/'.$form_array[$_GET['form']].'.php');//on inclu le form
    		break;
     
    		default;
    		includes('./includes/'.$page_array[$_GET['page']].'.php');//si rien selectionner on reste sur contact.php
    		}
    	else 
    	{
    		include('./includes/accueil.php');
    	}
     
    ?>
    Donc sa m'as bien fait avancer toute fois deux chose persiste.
    1. Impossible d'avoir accè a contact donc de selectionné un formulaire.(mais si je tape l'adresse c'est OK)

      Voici l'erreur quand je clique sur contact dans ma barre de menu :

      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      Notice: Undefined index: form in C:\wamp\www\ITB.AUDIO\index.php on line 24
       
      Notice: Undefined index: form in C:\wamp\www\ITB.AUDIO\index.php on line 41
       
      Fatal error: Call to undefined function includes() in C:\wamp\www\ITB.AUDIO\index.php on line 74
    2. Quand je vais sur les autre pages j'ai toujours cette erreurs :

      Sur chaque page en navigant avec le menu :

      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      Notice: Undefined index: form in C:\wamp\www\ITB.AUDIO\index.php on line 24
       
      Notice: Undefined index: form in C:\wamp\www\ITB.AUDIO\index.php on line 41


    Donc voici mes avancé jusque maintenant meric de votre aide et de vos conseils.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Etant donné que je suppose que tous tes formulaires s'inscrustent dans une présentation commune, il serait plus simple de mettre un switch($_GET['form']) dans ta page contact.php qui decline les differents formulaires que tu veux.

    Ce que tu veux faire (inclusion de fichiers de sous-rubriques) c'est une usine a gaz.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mai 2009
    Messages : 69
    Par défaut
    Bonjours et merci de ta réponse.

    En fait c'est des pseudo-frame.

    La seul page c'est index.php et ensuite tous s'inclu dans l'index.

    Mais le formulaire selectionné ne s'inclu pas dans contact.php, il s'inclue dans index.php.

    Pour la selection du formulaire, en fait Dreamweaver a créer un Menu de Routing qui contien du Javascript.

    Etant donné que je suppose que tous tes formulaires s'inscrustent dans une présentation commune, il serait plus simple de mettre un switch($_GET['form']) dans ta page contact.php qui decline les differents formulaires que tu veux.
    Pourquoi dans contact.php? et pas index.php.

    Ce que tu veux faire (inclusion de fichiers de sous-rubriques) c'est une usine a gaz.
    Oui, du moins depuis que je voulai changer un truc sa a compliqué tous et de plus dépasé mes maigre connaissance. Mais sa commence presque a marché.
    Mais effectivement c'est du tordu au final.


    Alors là j'ai tous mis plus ou moins car un truc persiste.

    quand je vien sur la page contact.php et ceux tant que je n'ai pas choisi un formulaire dans le menu, j'ai cette NOTICE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Notice: Undefined index: form in C:\wamp\www\ITB.AUDIO\index.php on line 55
    Donc je suis en train de me demandé :

    Puis-je lui donner une valeur bidon en attendant de selectionné un formulaire?

    Puis-je mettre rien? sera-t-elle initialisé sur NULL?

    Ou dois-je choisir untruc n'importe lequel mais pas rien?

    Merci beaucoup pour l'aide que vous m'apporterez.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu peux juste tester si isset($_GET['form']) avant de continuer.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mai 2009
    Messages : 69
    Par défaut
    Alors j'ai mis

    if(isset($_GET['form']))
    $form = htmlspecialchars($_GET['form']);

    Mais alors sa m'ajoute ça quand je vais sur contact.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Notice: Undefined variable: form in C:\wamp\www\ITB.AUDIO\index.php on line 61
     
    Notice: Undefined variable: form in C:\wamp\www\ITB.AUDIO\index.php on line 65
     
    Notice: Undefined variable: form in C:\wamp\www\ITB.AUDIO\index.php on line 68
     
    Notice: Undefined variable: form in C:\wamp\www\ITB.AUDIO\index.php on line 72
    Et idem en déplaçant se test juste avant le switch.

    C'est pour ça que je voudrai te,té de initialisé le

    Puis ensuite il prendra la bonne valeur plus bas.

    Quand pense - tu?

    Bon le mieux je vais essayer!

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Le test doit tout englober
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. utiliser des variables contenues dans des boucles While
    Par Fbertran-pro dans le forum LabVIEW
    Réponses: 1
    Dernier message: 18/02/2011, 00h32
  2. Performance et bonne utilisation des variables de session
    Par Benoit7114 dans le forum Langage
    Réponses: 3
    Dernier message: 29/01/2010, 14h56
  3. récupérer des variables dynamique dans l'URL
    Par goldor dans le forum ActionScript 3
    Réponses: 9
    Dernier message: 19/09/2009, 02h41
  4. Utiliser des variables applications dans une classe
    Par soso78 dans le forum VB.NET
    Réponses: 1
    Dernier message: 13/10/2008, 22h21
  5. utilisation des variables global dans tout le projet
    Par EYENGA Joël dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 12/01/2006, 10h55

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