PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : Forum Général PHP » fonction de test avec retour via include » 22-04-2010 20:44:10

Dans le tableau de la page index.php j'ai :

   'calculettephp' => 'theorie_initialize_calculette_conversion.inc.php',                        (initialisation du formulaire)
   'calculconversion' => 'theorie_calcul_conversion.inc.php',                                      (formulaire)
   'theorie_calculette_conversion.inc.php' => 'theorie_calculette_conversion.inc.php',  (fonction de contrôle)

Si j'ai bien compris dans le formulaire je mets un champs texte de type hidden

Sur la fonction de contrôle j'envoie via $GET[index.php?page=calculconversion]

Qui remplira le champs texte du formulaire.

Ce qui fait qu'index.php va pouvoir comparer la page avec les valeurs de son tableau.

merci encore de l'aide

#2 Re : Forum Général PHP » fonction de test avec retour via include » 22-04-2010 20:44:10

La question

Comment faire pour rappeler le formulaire avec la fonction contenant les variables de reponse

et que la page s'insère correctement dans l'index.php  avec contrôle de la page par le tableau de vérification des pages.

#3 Forum Général PHP » fonction de test avec retour via include » 22-04-2010 20:44:10

andarius40
Réponses : 6

Bonjour,


j'utilise les includes pour intégrer les pages.

avec un tableau dans index.php afin de vérifier les pages a inclure.

Si la page n'existe pas alors la page d'accueil est charge.

j'obtiens donc des liens du type :

index.php?page=nom

et dans le tableau index.php :

'nom' => 'nom.inc.php'


J'ai un formulaire avec une fonction gérant les champs saisie, dont la vérifications se fait en php .

Lorsque la vérification est faites et que je rappelle le formulaire avec les résultats (bon ou les erreurs)

cela me recharge le formulaire sous la page d'accueil.

Voici le code des pages :

index.php

<html xmlns="http://www.w3.org/1999/xhtml"  xml:lang="fr" lang="fr">

<head>

  <title>Astuces informatique</title>

  <meta http-equiv="content-type" content="text/html; charset=utf-8" ></meta>
  <link rel="stylesheet" href="./styles/index.css" media="screen" type="text/css" ></link>

   <link rel="stylesheet" href="./styles/menu.css"media="screen" type="text/css" ></link>
   <link rel="stylesheet" href="./styles/style.css" media="screen" type="text/css" ></link>
   <!-- une feuille de style pour l'impression. elle rend
    le texte noir sur blanc et éliminant les couleurs de fond -->
    <link rel="stylesheet" href="impression.css" media="print" />


  <script type="text/javascript" src="./scripts/menu.js"></script>
  <script type="text/javascript" src="./scripts/pages.js"></script>

</head>

<body>
<div id="banniere">
<span class="centrer">
  <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="700" height="90">
  <param name="movie" value="flashvortex.swf" />
  <param name="quality" value="best" />
  <param name="menu" value="true" />
  <param name="allowScriptAccess" value="always" />
  <embed src="./flash/flashvortex.swf" quality="best" menu="true" width="700" height="90" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" allowScriptAccess="always">
  </embed>
  </obj>
</span>
</div>


<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/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',
              'wifi' => 'theorie_wifi.inc.php',
              'os' => 'theorie_os.inc.php',
              'virtualisation' => 'theorie_virtualisaion.inc.php',

              ); 

// On teste que le paramètre d'url existe et qu'il est bien autorisé
// -----------------------------------------------------------------
    if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) )
         {
           include($pageOK[$_GET['page']]);  
     }
    else
     {
           include('accueil.inc.php'); // page par defaut
         }
        }
 
?>
</div>

</body>

</html>

La page d'initialisation du formulaire :

<?php

require_once ('theorie_calculette_conversion.inc.php');

conversion("","","","","","hidden","hidden","submit");

?>

le formulaire :

<?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" action='index.php?page=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
}
?>

la page de controle :

<?php

require_once ('index.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 =strtoupper( 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 =strtoupper(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 = strtoupper($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";

 echo ( conversion ($nombre, $resultat_binaire, $resultat_decimale, $resultat_hexadecimale, $message, $type, $type_resultat, $type_bouton));
?>

Voici le lien vers le site :
site

Merci de votre aide

Pied de page des forums

Propulsé par FluxBB