Page 1 sur 1

fonction controle formulaire et include fichier reponse

Posté : 21 avr. 2010, 09:02
par andarius40
Bonjour,

Je fonctionne avec PHP Version 5.2.13

j'utilise un fichier index :

Code : Tout sélectionner

<html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="./styles/index.css" type="text/css" /> <link rel="stylesheet" href="./styles/menu.css" type="text/css" /> <link rel="stylesheet" href="./styles/style.css" type="text/css" /> <script type="text/javascript" src="./scripts/menu.js"></script> <script type="text/javascript" src="./scripts/pages.js"></script> </head> <body> <div id="menu"> <?php include('menu.inc.php'); ?> </div> <div id="pages"> <?php // On définit le tableau contenant les pages autorisées // ---------------------------------------------------- $pageOK = array('accueil' => 'accueil.inc.php', 'mathematiques' => 'theorie_mathematiques.inc.php', 'calculettephp' => 'theorie_initialize_calculette_conversion.inc.php', 'calculconversion' => 'theorie_calcul_conversion.inc.php', 'theorie_calculette_conversion.inc.php' => 'theorie_calculette_conversion.inc.php', 'calculettejava' => 'theorie_mathematiques.inc.php', 'reseaux' => 'theorie_reseaux.inc.php', 'theoriereseau' => 'theorie_introduction_reseau.inc.php', 'theorieethernet' => 'theorie_ethernet.inc.php', 'theorietcpip' => 'theorie_tcpip.inc.php', 'theorieipv4' => 'theorie_ipv4.inc.php', 'theorieipv6' => 'theorie_ipv6.inc.php', ); // On teste que le paramètre d'url existe et qu'il est bien autorisé // ----------------------------------------------------------------- if ((isset($_GET['calculconversion']))&& (isset($pageOK[$_GET['calculconversion']]))){ include('theorie_calcul_conversion.inc.php'); } else { if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) { //AND file_exists($_GET['page'].'.php') include($pageOK[$_GET['page']]); // Nous appelons le contenu central de la page } else { include('accueil.inc.php'); // page par defaut } ?> </div> </body> </html>
Le menu me permet de naviguer entre mes pages avec comme type de lien :

Code : Tout sélectionner

<li><a href="index.php?page=mathematiques" title="Mathematiques">Mathématique</a></li>
Je vais sur la page calculette php avec le lien vers :
'calculettephp' => 'theorie_initialize_calculette_conversion.inc.php',

qui me permet d'initialiser la fonction conversion.
puis j'arrive sur ce code :

Code : Tout sélectionner

<?php function conversion ($nombre, $resultat_binaire, $resultat_decimale, $resultat_hexadecimale, $message, $type, $type_resultat, $type_bouton) { global $nombre; global $resultat_binaire; global $resultat_decimale; global $resultat_hexadecimale; global $message; ?> <h1>Calculette PHP</h1> <?php include('theorie_math_menu.inc.php'); ?> <form method="POST" action="theorie_calcul_conversion.inc.php"> <p class="centrer"> <input type="<?=$type?>" name="message" size="36" value="<?=$message?>"></input> <br /> <br /> <b>Nombre</b> <input type="text" name="Nombre" size="30" value="<?=$nombre?>"></input> <br /> <br /> Type du nombre : <br /> <select name="choix"> <option value="1" >Binaire</option> <option value="2" >decimale</option> <option value="3" >Hexadecimale</option> </select> <br /> <br /> <input type="reset" name="reinitialise" onclick="theorie_initialize_calculette_conversion.inc.php"></input> <input type="<?=$type_bouton?>" name="conversion" value="Conversion"></input><br><br> <br /> <br /> <input type="<?=$type_resultat?>" name="message" size="36" value="<?=$resultat_binaire?>"> <br /> <input type="<?=$type_resultat?>" name="message" size="36" value="<?=$resultat_decimale?>"> <br /> <input type="<?=$type_resultat?>" name="message" size="36" value="<?=$resultat_hexadecimale?>"> <br /> <br /> </form> </p> <?php } ?>
Lorsque je valide la page j'arrive sur la page de vérification :

Code : Tout sélectionner

<?php require_once ('theorie_calculette_conversion.inc.php'); $nombre=$_POST['Nombre']; $choix=$_POST['choix']; $nombre = strtoupper ($nombre); function verifier_base ($nombre, $base) { global $rep1; switch($base) { case "2": $taille = strlen($nombre); $chiffre = "23456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; $var = (strcspn ($nombre, $chiffre)); if ($var != $taille) { $rep1="1"; } else { $rep1="0"; } break; case "10": $taille = strlen($nombre); $chiffre = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; $var = (strcspn ($nombre, $chiffre)); if ($var != $taille) { $rep1="1"; } else { $rep1="0"; } break; case "16": $taille = strlen($nombre); $chiffre = "GHIJKLMNOPQRSTUVWXYZ"; $var = (strcspn ($nombre, $chiffre)); if ($var != $taille) { $rep1="1"; } else { $rep1="0"; } break; } } if (($choix)=="1") { verifier_base($nombre, 2); $resultat_binaire = $nombre; $resultat_decimale = number_format(base_convert($nombre,2,10),'',',',' '); $resultat_hexadecimale = base_convert($nombre,2,16); } if (($choix)=="2") { verifier_base($nombre, 10); $resultat_binaire = base_convert($nombre,10,2); /*$taille = strlen($resultat_binaire_0); $i = "0"; for ($i="0"; $i = $taille; $i=$i+4) { $resultat_binaire[i]=$resultat_binaire[i]+" "; } */ $resultat_decimale = number_format($nombre, '', ',', ' '); $resultat_hexadecimale =base_convert($nombre,10,16); } if (($choix)=="3") { verifier_base($nombre, 16); $resultat_binaire = base_convert($nombre,16,2); $resultat_decimale = base_convert($nombre,16,10); $resultat_hexadecimale = $nombre; } if ($rep1=="1") { $type="text"; $message="non binaire"; $type_resultat="hidden"; $type_bouton="submit"; conversion ($nombre, $resultat_binaire, $resultat_decimale, $resultat_hexadecimale, $message, $type, $type_resultat, $type_bouton); } if ($rep1=="2") { $type="text"; $message="non decimale"; $type_resultat="hidden"; $type_bouton="submit"; conversion ($nombre, $resultat_binaire, $resultat_decimale, $resultat_hexadecimale, $message, $type, $type_resultat, $type_bouton); } if ($rep1=="3") { $type="text"; $message="non hexadecimale"; $type_resultat="hidden"; $type_bouton="submit"; conversion ($nombre, $resultat_binaire, $resultat_decimale, $resultat_hexadecimale, $message, $type, $type_resultat, $type_bouton); } if (($rep1)=="0") $type = "hidden"; $type_resultat = "text"; $type_bouton = "hidden"; conversion ($nombre, $resultat_binaire, $resultat_decimale, $resultat_hexadecimale, $message, $type, $type_resultat, $type_bouton); ?>
Mon problème, je n'arrive pas a interroger mon fichier index pour charger la page avec le css.
Je pense qu'il faut que j'envoie une interrogation a index :
index.php?page='theorie_calculette_conversion.inc.php' => 'theorie_calculette_conversion.inc.php',

qui correspond à :
'theorie_calculette_conversion.inc.php'
dans le tableau $pageOK du fichier index

Merci de votre aide.

Re: fonction controle formulaire et include fichier reponse

Posté : 21 avr. 2010, 09:05
par Aureusms
Quelle est la question ?

Re: fonction controle formulaire et include fichier reponse

Posté : 21 avr. 2010, 09:34
par andarius40
La question est comment sur la fonction de contrôle de saisie des données en fonction des erreurs et saisie je peux appeler la page :
'calculconversion'

afin de recharger la page avec le menu et le css via le tableau de verification des pages a inclure sur index.

voir :

http://www.astuces-informatique.info

Re: fonction controle formulaire et include fichier reponse

Posté : 21 avr. 2010, 14:55
par Invité
En résumé le souci,

j'utilise des includes pour mes différentes pages.

je vérifie les includes via un tableau dans index.php

J'appelle mon formulaire calculette

Lorsque je le valide, je recharge le formulaire calculette avec champs résultats si pas d'erreur de saisie ou avec indication de l'erreur.

Or après la vérification des données saisie cela me renvoi le formulaire dans ma page index mais tout en incluant la page accueil

De plus le formulaire se met après la balise </html>

Je pense que la vérification de la pages a inclure est du type :

index.php=?page=nom

Je ne sais pas comment renvoyer les valeurs de la fonction dans la page en utilisant cette syntaxe