PHP Je n'arrive pas a récupérer ma variable

Résolu/Fermé
chtilolo Messages postés 91 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 4 juillet 2009 - 22 mai 2009 à 22:09
dodoecchi Messages postés 454 Date d'inscription samedi 9 septembre 2006 Statut Membre Dernière intervention 26 avril 2012 - 23 mai 2009 à 18:53
Bonjourà tous,

Alors sur ma page contact. PHP que j'inclus dans l'index à l'aide de menu.php lui-même inclus dans index.php

Je n'arrive pas a récupérer la variable que je passe dans l'url.

Voici le script de la page contact.php :

<script type="text/javascript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");          <!--Script du menu de routage formulaire-->
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>
<!--Début du menu pour routé les visiteur sur le formulaire de contact approprié-->
<fieldset>
  <legend>Type de contact</legend>
  <form class="formulaire"  method="get">
    <select name="RoutingContact" id="RoutingContact" onchange="MM_jumpMenu('parent',this,1)">
      <option>Sélectionnez un formulaire...</option>
      <option value="index.php?page=contact&amp;form=formulaire_mastering">Mastering</option>
      <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>
    </select>
  </form>
</fieldset>


Et voici se que j'ai fais dans index.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_exists ($_GET['form'], $form_array))
	
	{
		include('.includes/'.$page_array[$_GET['page']].''.$page_array[$_GET['form']].'.php');
	}
	else
	{
		include('./includes/accueil.php');
	}


Le problème est que quand je selectionne un formulaire dans ma liste (celui mastering) il se passe rien pourtant la variable vas bien dans l'URL.

Où est mon erreur dans index.php

Merci beaucoup de votre aide.
A voir également:

15 réponses

dodoecchi Messages postés 454 Date d'inscription samedi 9 septembre 2006 Statut Membre Dernière intervention 26 avril 2012 29
22 mai 2009 à 22:18
et les balises <?php et ?> ?
elles sont où dans index.php? à moins que tu n'ai pas copié le fichier entier, je l'espère
si en méthode GET ça ne passe pas, essaye en méthode POST ($_POST[])

Dorian
0
chtilolo Messages postés 91 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 4 juillet 2009 2
22 mai 2009 à 22:26
Merci pour ta réponse,

Oui j'ai pas mis tous dons les tags.

Donc tous mes $_GET en rapport avec les formulaires je les met en $_POST?

Car la ou je comprend pas c'est que pour les $_GET['page'] sa marche bien même a l'origine j'avais les formulaire qui passai directement en ?page=leformulaire (comme les autre formulaire car pour les test j'ai changé que mastering)

Donc pourquoi pour le passage de la 2ème variable sa passe plus, j'ai dus louper un truc.

[Màj]

Sa change rien, mais mon script dans index.php doit être mauvais car comme tu peux le voir pour les test j'ai changé que le lien du premier formulaire, et les autre sont d'origine.

Et bien le premier envoi la variable dans l'url.

Et les autre eux reviennent sur l'accueil (donc eux ne marche plus)

Donc c'est dans index qu'il y a un loup.
0
dodoecchi Messages postés 454 Date d'inscription samedi 9 septembre 2006 Statut Membre Dernière intervention 26 avril 2012 29
22 mai 2009 à 22:31
index.php?variable1=valeur1&var2=val2
tu as bien fait comme ça?
0
chtilolo Messages postés 91 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 4 juillet 2009 2
22 mai 2009 à 22:32
J'ai pas compris ce que tu veux dire.

Ou dois-je faire ce que tu me dis

j'ai fais pour contact.php

dans la liste des formulaire :

<fieldset>
  <legend>Type de contact</legend>
  <form class="formulaire"  method="post">
    <select name="RoutingContact" id="RoutingContact" onchange="MM_jumpMenu('parent',this,1)">
      <option>Sélectionnez un formulaire...</option>
      <option value="index.php?page=contact&amp;form=formulaire_mastering">Mastering</option>


les autres ne sont pas fait car pour testé j'en fais que un et je travail les test dessus et quand sa sera bon je les mettrai tous.

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dodoecchi Messages postés 454 Date d'inscription samedi 9 septembre 2006 Statut Membre Dernière intervention 26 avril 2012 29
22 mai 2009 à 22:40
ce que je veux dire
c'est que quand tu passes des variables à travers l'url
tu fais :
point d'interrogation à la fin de l'adresse, nom de la variable, signe égal, valeur de la variable
après, si tu veux en rajouter d'autres,
tu fais le signe & en brut, pas en htlm, et tu recommence : variable = valeur etc....

dis donc, où est ce que tu as appris le php toi?

et puis je comprend pas trop pourquoi mettre ton lien dans une balise option dans le champ value....
je met ça dans action (balise form)
0
chtilolo Messages postés 91 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 4 juillet 2009 2
22 mai 2009 à 22:55
En PHP je suis un débutant j'ai appris sur le site du zéros mais je suis resté a zéro .

En fait je met dans le formulaire qui est juste une liste déroulante de routing pour les 4 formulaire voir premier post.

Donc en valeur de liste je met l'url du formulaire qui marchais avant mais comme je veux passer le formulaire en deuxième variable et bien sa veut plus marcher.

Avant l'url était :

index.php?page=formulaire_mastering


puis dans index.php le script était un peu différent, mais du coup l'onglets contact perdait l'état current.

Donc moi je veux donc passer le formulaire comme ceci :

index.php?page=contact&form=formulaire_mastering //je met &amp; car dans le sript il faut mettre &amp; pour qu'il s'affiche & dans la barre d'adresse.


Bref donc en ayant cette adresse comme j'aurais en variable page=contact avant la variable form, alors mon onglet contact restera en état current quand on est sur les formulaire chose que je n'avais pas avant.

D'ailluer voici le menu.php que j'inclu dans l'index pour que tu comprenne l'histoire avec l'état current :

<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>


voilà le menu sans tags PHP

Et je te remet la page contact.php avec la liste déroulante de routing qui a du javascript (fait avec Dreamweaver)
<!--DEBUT-->
<script type="text/javascript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");          <!--Script du menu de routage formulaire-->
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>
<!--Début du menu pour routé les visiteur sur le formulaire de contact approprié-->
<fieldset>
  <legend>Type de contact</legend>
  <form class="formulaire"  method="get">
    <select name="RoutingContact" id="RoutingContact" onchange="MM_jumpMenu('parent',this,1)">
      <option>Sélectionnez un formulaire...</option>
      <option value="index.php?page=contact&amp;form=formulaire_mastering">Mastering</option>
      <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>
    </select>
  </form>
</fieldset>


Y a qu'un lien de fais(le premier) car pour testé inutile de faire les autre et en plus tu vois comment il étai quand sa marchais.

Si tu veu le script d'origine de index.php quand sa marchai dis le moi car je l'ai gardé.

Merci de l'aide que tu m'apporte.
0
dodoecchi Messages postés 454 Date d'inscription samedi 9 septembre 2006 Statut Membre Dernière intervention 26 avril 2012 29
22 mai 2009 à 23:18
d'accord, tu es grand débutant

j'ai reprogrammé ton index parce que c'était très lourd :

<?php
// élements du menu
$liste = array("accueil","mastering","d'autres pages...");
$temp = '';
echo '<ul class="menu">';
foreach ( $listes as $A ) // boucle pour aléger le code
{
	if ( $_GET['page'] == $A )
		$temp = ' class="current"';
	echo '<li' . $temp . '><a href = "index.php?page="' . $A . '">' . $A . '</a></li>'; // interêt du title? je l'ai viré, tu le remettra si ça te plait
}
echo '</ul>';
?>


et je te dis qu'il n'y a pas besoin de mettre le & en html...
regarde donc mon javascript : https://www.1pix.org/multi/images/rsi7fy55dj92038oo48z.png

dreamweaver, javascript... c'est de ton niveau ça?
tu le comprend ton script javascript au moins? sinon tout ce que tu fais ça sert à rien
c'est pour ça que je préfere TOUT coder, même le javascript, pour être sûr de tout comprendre. ça prend 10 fois plus de temps mais ça vaut le coup (surtout pour l'expérience)

au lieu de faire un truc bizarre en javascript, pourquoi tu fais pas

<form name="goto" action="destination.php" method="GET">
<select name="RoutingContact">
	<option value="une page">Je suis une page</option>
	<option value="deuxieme">Je suis une autre page</option>
</select>


EDIT: j'ai oublié le bouton Go : <input type="submit" value="Go">
et </form>

avec la méthode GET les urls seront (je pense) automatiquement générés avec les ? et mes & pour la variable qui apparaitra sous la forme $_GET['RoutingContact']
mais je suis pas sûr que ça marche avec la méthode GET, essaye plutot avec POST

Dorian


0
chtilolo Messages postés 91 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 4 juillet 2009 2
23 mai 2009 à 00:09
Tous d'abord merci beaucoup pour l'aide que tu m'apporte.

Effectivement pour le javascript je m'y suis pas plongé dessus et puis quand je cré ma liste il me propose ce routing javascript qui du coup evite le bouton submit.

Car le système sans bouton pour un site professionnel (pour mon boulot) sa sera mieu que de déroulé la liste puis appuyer sur envoyé.

Après pour les connaissance dison que un script en prenant le temps je vais le comprendre mais comment dire c'est comme l'anglais je sais le lire et écrire mais pour parler je suis vraiment nul.

Là c'est pareil je peux comprendre un script au bout de plusieur lecture mais je n'ai pas la bonne reflexion pour ensuite faire quelque chose que j'ai besoin.

Alors par contre enfait le menu lui il est pas dans l'index.php, il est juste inclus et marchais bien. c'était pour te montré que les $_GET marchait pour les page qui faisait parti du menu mais pas pour les formulaire qui eux ne sont accessible que en étant dans contact.php.

Donc là où j'ai mal fait ma modif c'est en dessous de l'include du menu, c'est à dire l'include des pages.

Mais c'est moi qui est porté cette confussion en mettant tous les script

En fait avec ce que j'ai modifié l'url que je souhaite se met bien dans la barre d'adresse mais n'ammène a aucune page car ce script (qui gére les include des page de contenu) je l'ai mal modifié :

<?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_exists ($_POST['form'], $form_array))

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

Par contre si tu souhaite voir ce script avant ma modif dis le moi

Pour le code du menu que tu viens d'écrire je vais bien le regardé car effectivement il vas allégé mon fichier menu que j'inclu dans l'index.php

Par contre le javascript je tiens a vraiment garder le routing déjà en place par contre je consoit parfaitement se que tu dis par rapport a l'apprentissage.

Mais la j'ai besoin d'un site pour mon travail donc je dois du coup passer moins de temps sur l'apprentissage mais je suis pas dansle copier/coller pure et dur je cherche a comprendre mais lire un script est une chose mais comme je te le disai en faire un soit même pas évident au début.

Donc pour revenir au get je crois vraiment que j'ai loupé un truc pour afficher la page du formulaire car comme je te le disai l'adresse se met dans la barre d'adresse quand je selectionne un formulaire donc j'ai loupé un truc .

Sinon dans le formulaire en action j'ai mis index.php car c'est lui qui as le script pour inclure les page et méthode j'ai mis post.

Donc mon script que j'ai réécris a un loupé.

Merci beaucoup de ton aide et tes conseils.

je te mets le script d'origine qui fonctionnai pour que tu compare a mes changement :
ce script c'est pour inclure les page de contenu :
<?php
// 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'
);
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 la différence avec ma modif
En fait pour la variable2 j'ai fai un deuxième array pour les formulaires

Ensuite 2 fois :
if (array_key_exists

1pour juste $_GET['page'], donc l'url avec index.php?page=la_page_voulu

et 1 pour avoir index.php?page=laa_page_voulu&form=leformulaire_voulu

Mes c'est là que j'ai du mal écrire se que je veux faire a mon avis.

Vois-tu ce que je parle?

En fait le but c'est de garder la structure actuelle , mais en fait je me dis que si j'ai l'URL des formulaire ainsi:

index.php?page=laa_page_voulu&form=leformulaire_voulu


alors le fait d'avoir dans l'URL page=la_page avant le form=

le menu verra dans l'url du formulaire : page=contact

Donc en lisant la page d'un formulaire on auras l'onglet contact en étant current.

Chose que je n'avais pas avec le script d'origine(avant mes modifs), le formulaire passait en valeur de page=

Donc comme je ne veu pas mes formulaire dans les menu du coup je n'avais pas l'état current sur Contact.

Voilà la raison pour laquel je veux ajouté cette variable dans l'URL.

N'hésite pas a me demander de te r'expliquer un truc qui ne serai pas clair.

Merci de l'aide que tu m'apporte.

Bon je vais me reposer le cerveau qui est plein pour aujourd'hui.
0
chtilolo Messages postés 91 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 4 juillet 2009 2
23 mai 2009 à 00:15
Pour le menu que tu as écrit je vais allez relire la doc PHP pour bien cerné le foreach , mais de souvenir, sa va recréer la liste comme je l'avais .

Sauf que là le code est plus court donc?

Bien vu j'y aurais pas pensé du tous, en plus mon CSS reste valable du coup.

Le title je sais pas a quoi i l était su le tuto que j'ai lu donc je l'avais mis pensant que sa devai servir.
0
dodoecchi Messages postés 454 Date d'inscription samedi 9 septembre 2006 Statut Membre Dernière intervention 26 avril 2012 29
23 mai 2009 à 00:27
wouhou, minuit passé, je suis majeur ! =D

bref...
je vais te dire qu'il est minuit passé, que demain je fête mon anniversaire
je vais rester encore un peu pour toi, parce que je sais pas quand tu pars

ensuite,
je peux pas sérieusement t'aider avec des bouts de code
le mieux serait qu'on se retrouve ailleurs comme par exemple msn ou par mail, avec tous les fichiers, que tu m'explique en détails et tout et tout ce que tu veux précisément. parce que là, ça m'a l'air bien complexe tout ça, juste pour charger ... une page!
là ça fait 2 heures que je suis sur CCM, je m'ennuie pas mais je pense que ma productivité va chuter à mort si je continue comme ça

ensuite,
je suis lycéen, pas programmeur pro. Je programme du python, du php, et autres langages web (html, css, javascript) pour mon seul bon plaisir, parce que je trouve ça chouette, ça me sert aussi à me simplifier la vie etc...
je pense que pour faire des site pro, tu auras besoin de quelqu'un de meilleur quoi moi. je crois qu'il existe des services spécifique, avec une programmation de haut niveau, beaucoup mieux que je peux offrir.
voilà donc le deal (enfin.... pas vraiment un deal mais bon)
je veux bien continuer à aider, si les services pro te dérange, mais je suis en pleine préparation du bac, et le temps m'est un peu compté. Donc ce sera un peu long.

voilà, bon maintenant, j'ai survolé ton énorme message,
j'y ai attrapé quelques erreurs :
* pour vérifier si une variable est déclarée, on n'utilise par empty mais isset. et puis, dans le cas d'un get/post; il me semble qu'elle sera déclarée même si elle est vide. donc, je ferais if ($var != '')
* et l'autre j'ai oublié, désolé

bref voilà,
Dorian
0
chtilolo Messages postés 91 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 4 juillet 2009 2
23 mai 2009 à 10:34
Hello

Bonne anniverssaire, je comprend ta contrainte de temps, aucun soucis.

Ah en fait j'ai du mal a expliqué en quelque mot ce dont je veux faire et où je bloque pour la mise en place.

Pour le isset en je met empty car au début c'est si il y a pas de page choisi on tombe sur l'accueil.

Alors que isset (docPHP)
Détermine si une variable est définie et est différente de NULL.


Mais effectivement a donner plein de code j'embrouille tous le monde.

Amors que là avec ton aide je commence a mieux pouvoir expliquer mon soucis.

Lequel est que j'arrive pas a utilisé la variable (form=le formulaire_choisi) que j'envoi dans l'URL a partir de contact.php.

Et ensuite pourvoir l'utilisé dans mon code qui est sur index.php.

Du moins j'arrive pas a l'intégré au code existant.

Le code d'origine qui inclu mes page dans l'index.php est :

<?php
// 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 si $_GET['page'] est vide

        include('./includes/accueil.php');
		exit;
}
//c'est à partir d'ici que je n'arrive pas a intégré la 2ème variable qui existera que avec la page contact.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');	
   	}
	else
	{
		include('./includes/accueil.php');
	}
?>


Donc moi je voudrai intégré la 2émé variable qui est form=leformulairechoisi qui est envoyé a partir de la page contact.

Et dans quel but?

Celui de pouvoir garder l'état current de l'onglet Contact quand je suis sur un formulaire.

Voilà un beau résumé. j'ai enfin réussi.

Les test que j'ai déjà essayé :

Je créer un 2ème array dans lequel je met les formulaire

ensuite voici comment je modifie le script, mais c'est pas bon , sa marche pas.

<?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 pour la variable form=
$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;
}
//c'est là que jintégre mal ma variable du coup
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_exists ($_POST['form'], $form_array))
	
	{
		include('.includes/'.$page_array[$_GET['page']].''.$page_array[$_POST['form']].'.php');
	}
	else
	{
		include('./includes/accueil.php');
	}
?>


Merci à tous de l'aide que vous pourrez m'apporté.
0
chtilolo Messages postés 91 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 4 juillet 2009 2
23 mai 2009 à 11:01
Le menu que tu as écrit marche mais le problème c'est qu'il mets l'état current a chaque onglet .

Au lieu de mettre l'état current que sur l'onglet de la page qu'on lit.

Je vais regarder si je peux arrangé sa mais je vais déjà me concentré sur mon problème de variable.
0
chtilolo Messages postés 91 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 4 juillet 2009 2
23 mai 2009 à 17:26
Hello.

Bah écoute si tu repasse sache que j'ai beaucoup avancé (on m'as aidé un peu )

Voici donc actuellement ce script qui est sur index.php pour inclure mes page :

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

// 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['page'] !='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');
        exit;	
   	}
	elseif (array_key_exists($_GET['page'], $page_array)AND $_GET['page']== 'contact')
	$form = htmlspecialchars($_GET['form']);
	
	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;
		
		include('./includes/'.$page_array[$_GET['page']].'.php');//si rien selectionner on reste sur contact.php
		}
?>


Le seul rebell de tous ça c'est quand je suis sur la page contact.php et que j'ai pas encore selectionné de formulaire.

A cause de

<?php
$form = htmlspecialchars($_GET['form']);// juste avant le switch
?>

J'ai un :
Notice: Undefined index: form in C:\wamp\www\ITB.AUDIO\index.php on line 55


Voilà je pense que sa pourra aidé les autre.

Par contre si quelqu'un a une idée pour ce petit truc je suis preneur.
0
chtilolo Messages postés 91 Date d'inscription dimanche 12 août 2007 Statut Membre Dernière intervention 4 juillet 2009 2
23 mai 2009 à 18:44
Et voilà la dernière touche et sa marche, mais j'en ai bien chier.


Alors comme l'URL de la page contact.php elle ne contient pas de variable form=

Du coup au regard du script sur la page contact etavant selection d'un formulaire cette variable se retrouvai non définie.

Donc du coup je suis aller dans mon menu.inc.php

et j'ai changé l'URL de contact qui étai :


http://localhost/monsite/index.php?page=contact</code>


en :



http://localhost/monsite/index.php?page=contact&form=choix</code>




Et voilà quand je suis sur contact j'ai une valeur dans la variable form=.

Je sais pas si c'est très catholique mais bon sa marche.
0
dodoecchi Messages postés 454 Date d'inscription samedi 9 septembre 2006 Statut Membre Dernière intervention 26 avril 2012 29
23 mai 2009 à 18:53
n'étant pas chez moi, et n'ayant qu'une connexion bas débit (ça existe encore...; et oui) je ne peux pas vraiment analyser les changements
mais s'il y a bien un truc que je suis persuadé, c'est que tout ton système est bien complexe pour pas grand chose, et que je suis sûr qu'il est possible de faire plus simple.
Vérifie ta boite de messages CCM

Dorian
0