Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

[PHP]affectation de variable dans une URL


Messages recommandés

Posté(e)

Bonjours à tous.

 

Merci à tous ceux qui pourron me conseillez dans la résolution de mon blocage.

 

Donc mon site s'articule autour de mon index.php grace des include donc je me retrouve avec un menu dynamique pour pouvoir mettre un état "current(CSS") a l'onglet en court de lecture.

 

Voici ce menu.php qui marche sauf pour le menu contact qui est le lieu de mon soucis :

 

<ul class="menu">
  <li<?php if ($_GET['page'] == 'accueil') {echo ' class="current"';} ?>><a href="index.php?page=accueil" title="Accueil">Accueil</a></li>
  <li<?php if ($_GET['page'] == 'mastering') {echo ' class="current"';} ?>><a href="index.php?page=mastering" title="Mastering">Mastering</a></li>
  <li<?php if ($_GET['page'] == 'mixing') {echo ' class="current"';} ?>><a href="index.php?page=mixing" title="Mixing">Mixing</a></li>
  <li<?php if ($_GET['page'] == 'tarifs') {echo ' class="current"';} ?>><a href="index.php?page=tarifs" title="Tarifs">Tarifs</a></li>
  <li<?php if ($_GET['page'] == 'a_propos') {echo ' class="current"';} ?>><a href="index.php?page=a_propos" title="A Propos">A propos</a></li>
  <li<?php if ($_GET['page'] == 'contact') {echo ' class="current"';} ?>><a href="index.php?page=contact" title="Contact">Contact</a></li>
</ul>

 

Donc ensuite dans ma page Contact.php j'ai une liste déroulante qui amène sur 4 formulaire(on en choisi un), mais du coup pour le moment ces formulaire passe en url comme ceci:(voici quelque un des formulaire :

	  <option value="index.php?page=formulaire_mixing">Mixing</option>
  <option value="index.php?page=formulaire_essai_offert">Essai offert</option>
  <option value="index.php?page=formulaire_informations">Informations complémentaire</option>

 

Donc là les formulaire sont reconnu au navigateur sous cette url :

http://localhost/monsite/index.php?page=formulaire_celuichoisi

 

Donc par rapport a mon menu l'onglet Contact ne se met plus en current.

 

Je me suis dis il me faudrai que l'url soit plutôt comme ceci :

http://localhost/monsite/index.php?page=contact&form=formulaire_nomchoisi

.

 

Ainsi ayant la variable ?page=contact l'onglet sera donc en état "current".

 

Mais le soucis c'est que je n'arrive pas a introduire sa dans mon code existant :

<?php
$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'
);
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');
}
?>

 

Donc voici se que j'ai essayer de faire mais sa ne marche pas il ne m'appele pas le formulaire avec l'url :

<?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'
);

// 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');	
  	}
elseif (array_key_exist ($_GET['form'], $form_array))

{
	include('.includes/'.$page_array[$_GET['page']].''.$page_array[$_GET['form']].'.php');
}
else
{
	include('./includes/accueil.php');
}
?>

 

Donc voilà mon soucis je n'arrive pas a dire que formulaire_etc est dépendant de contact.

 

Merci a vous pour votre aide si quelque chose vous semble pas clair faite le moi savoir je vous dirais ça car étant débutant j'ai vraiment du mal a bien expliqué mon bloquage..

 

Merci.

Posté(e)

tu dois tester ta variable $_GET['form'] dans contact.php et non index.php

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...