begin process at 2010 02 09 17:49:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

PB de variable


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

PB de variable

samedi 12 novembre 2005 à 11:38:28 | PB de variable

zoubis

Bonjour, je dois mettre en place une page web, qui doit permettre d'afficher le modèle et la fonction d'un produit grace à son n° de série. j'ai donc effectuer un formulaire où le client indique son n° de serie et en retour je dois le rediriger vers une page web avec le descriptif de l'article qu'il détient. le nombre de modéles est très reduit de l'ordre de 20 modéles différents, j'ai don créé autant de page web que de modèle. Le n° de série comporte 12 chiffres, soit 2134KE012565 le type de modéle se trouve toujours après le KE et je ne sais pas comment faire pour que lorsqu'un client tappe son N° il soit rediriger ver la page 01.html ou 02.html selon le modéle. Avez vous un exemple de code complet que je pourrais mettre en oeuvre. Dans l'attente de vous lire, je vous souhaite un bon week-end à tous.
samedi 12 novembre 2005 à 13:37:12 | Re : PB de variable

dami27

Membre Club
Bonjour Zoubis !

Donc pour ta redirection, tu peux couper ta variable en deux et rechercher les deux premier chiffres dans la deuxième partie... Soit :
<?php

   //Variable initial : 
   $numSerie = "2134KE012565";

   //On met la variable tous en minuscule (au cas où la personne ai tapé en majuscule...)
   $numSerie = strtolower($numSerie);

   //On sépare en deux la variable
   $separation_numSerie = explode('ke',$numSerie);

   //Maintenant, on a deux données, AVANT et APRES le KE...
   // On va s'occuper du APRES pour n'y prendre que les deux 1er chiffres...
   $codePage = substr($separation_numSerie[1],0,2);

?>

Voilà, ou dans une fonction, ca peux donner ca :

<?php


//Fonction pour retourner le code de la page...
   function codePageSerie($numSerie)
  {

   //On met la variable tous en minuscule (au cas où la personne ai tapé en majuscule...)
   $numSerie = strtolower($numSerie);

   //On sépare en deux la variable
   $separation_numSerie = explode('ke',$numSerie);

   //Maintenant, on a deux données, AVANT et APRES le KE...
   // On va s'occuper du APRES pour n'y prendre que les deux 1er chiffres...
   $codePage = substr($separation_numSerie[1],0,2);

  }

//Puis dans ton code, pour la redirection, tu tape :
$serie = "2134KE012565";
$redir = codePageSerie($serie).'.php';
Header("Location : ".$redir);
// Ici : 01.php

?>


Voilà, j'espère avoir répondu à ta question ;)

Bonne journée,
@+
Damien
samedi 12 novembre 2005 à 21:00:41 | Re : PB de variable

zoubis

Merci Damien, je vais tester ce soir et reviendrais vers toi si je rencontre un problème. Bonne soirée et bon week-end à toi Cordialement Olivier
samedi 12 novembre 2005 à 23:43:56 | Re : PB de variable

zoubis

Je craque, après de nombreux essais ans gloire, je reviens vers toi. Voila j'ai donc effectué une page avec le formulaire que j'ai nommé serial.php dont voici le contenu: Serial Serial number : --------------------------------- et une autre nommé resultat.php : --------------------------------- ------------- Cela ne marche pas et je me prend la tête pour info mes pages 01.php jusqu' 20.php se trouvent toutes dans le même repertoire que ces deux pages. De plus je voudrais forcer les gens a saisir quelque chose et indiquer que la saisie et obligatoire et que dans le cas ou le champs reste vide un message leur indique qu'ils n'ont rien tapés. Que dois-je modifier d'après toi. Merci d'avance pour ta réponse.
dimanche 13 novembre 2005 à 12:35:19 | Re : PB de variable

dami27

Membre Club
Salut !

Excuse du retard...

Le code que je t'ai donner, je l'ai fait sans le tester (tous de tete)... La j'éai créer les fichier, et je me suis apercçu de deux erreurs, une de moi, et une de toi (Désolé)
Alors, pour le fichier resultat.php il faut rajouter un petit élément que j'ai oublier (en rouge) et modifier le nom de ta variable (en bleu)...

<?php
//Variable initial :
   $numSerie = "codePageSerie";

//Fonction pour retourner le code de la page...
   function codePageSerie($numSerie)
  {

   //On met la variable tous en minuscule (au cas où la personne ai tapé en majuscule...)
   $numSerie = strtolower($numSerie);

   //On sépare en deux la variable
   $separation_numSerie = explode('ke',$numSerie);

   //Maintenant, on a deux données, AVANT et APRES le KE...
   // On va s'occuper du APRES pour n'y prendre que les deux 1er chiffres...
   $codePage = substr($separation_numSerie[1],0,2);

      return $codePage;
  }

//Puis dans ton code, pour la redirection, tu tape :
$serie = $codePageSerie;
$redir = codePageSerie($serie).'.php';
Header("Location : ".$redir);
// Ici : 01.php

?>

Donc à ce stade, la fonction CodePageSerie retourne les les 2 caractères apres ton KE...
Si tu veux, on ne peux rediriger que vers les pages qui sont de 0 à 20 (et le reste vers une page d'erreur par exemple, dans ce cas, remplace la ligne $redir = codePageSerie($serie).'.php'; par celle là :

$code_page= codePageSerie($serie); // Ici, on a le 01, 02...
//On teste voi si on a les bonnes infos...
if ($code_page!='')
{ // On a bien eu un KE dans la série...
   
   //On regarde si c'est bien un chiffre entre 0 et 20
   if (intval($code_page) >= 0 && intval($code_page)<=20)
   {   
      //Le code Päge est bon, on redirige...
      $redir = $code_page;
   }
   else
   {
      //Redirection vers une page erreur : erreur.php
      $redir = "erreur";
   }
}
else
{
   //Redirection vers une page erreur : erreur.php
   $redir = "erreur";
}



SOIT EN TOUS :

<?php
//Variable initial :
   $numSerie = "codePageSerie";

//Fonction pour retourner le code de la page...
   function codePageSerie($numSerie)
  {

   //On met la variable tous en minuscule (au cas où la personne ai tapé en majuscule...)
   $numSerie = strtolower($numSerie);

   //On sépare en deux la variable
   $separation_numSerie = explode('ke',$numSerie);

   //Maintenant, on a deux données, AVANT et APRES le KE...
   // On va s'occuper du APRES pour n'y prendre que les deux 1er chiffres...
   $codePage = substr($separation_numSerie[1],0,2);

      return $codePage;
  }

//Puis dans ton code, pour la redirection, tu tape :
$serie = $codePageSerie;
$code_page= codePageSerie($serie); // Ici, on a le 01, 02...
//On teste voi si on a les bonnes infos...
if ($code_page!='')
{ // On a bien eu un KE dans la série...
   
   //On regarde si c'est bien un chiffre entre 0 et 20
   if (intval($code_page) >= 0 && intval($code_page)<=20)
   {   
      //Le code Päge est bon, on redirige...
      $redir = $code_page;
   }
   else
   {
      //Redirection vers une page erreur : erreur.php
      $redir = "erreur";
   }
}
else
{
   //Redirection vers une page erreur : erreur.php
   $redir = "erreur";
}
Header("Location : ".$redir);
// Ici : 01.php

?>



Voilà, bonne aprem ;)

@+Damien
dimanche 13 novembre 2005 à 14:43:05 | Re : PB de variable

zoubis

Je suis au bord de la crise de nerfs... Cela fait une 1h30 que je ne parvient pas à faire ces deux petites pages, malgrés tes conseils je restes bloqué. Nous somme d'accord que si j'utilise ma page serial.php sans modification et que je crée une nouvelle page résultat en copiant collant tes infos cela doit fonctionner non ? Malheureusement je suis au point mort et j'ai pourtant essayé de nombreuse possibilités mais là je sèche. Peut tu me faire si tu en as le temps un copier collé de deux pages fonctionnelles testées. Merci d'avance Olivier.
dimanche 13 novembre 2005 à 17:14:25 | Re : PB de variable

dami27

Membre Club
Alors là, je vais me faire taper sur les doigs !!
Désolé, j'ai encore fait une erreur, à la dernière ligne HEADER, remplace la par celle la :

Header("Location: ".$redir.".php");
Ce qui donne pour le fichier resultat.php :




<?php
//Variable initial :
   $numSerie = "codePageSerie";

//Fonction pour retourner le code de la page...
   function codePageSerie($numSerie)
  {

   //On met la variable tous en minuscule (au cas où la personne ai tapé en majuscule...)
   $numSerie = strtolower($numSerie);

   //On sépare en deux la variable
   $separation_numSerie = explode('ke',$numSerie);

   //Maintenant, on a deux données, AVANT et APRES le KE...
   // On va s'occuper du APRES pour n'y prendre que les deux 1er chiffres...
   $codePage = substr($separation_numSerie[1],0,2);

      return $codePage;
  }

//Puis dans ton code, pour la redirection, tu tape :
$serie = $codePageSerie;
$code_page= codePageSerie($serie); // Ici, on a le 01, 02...
//On teste voi si on a les bonnes infos...
if ($code_page!='')
{ // On a bien eu un KE dans la série...

   //On regarde si c'est bien un chiffre entre 0 et 20
   if (intval($code_page) >= 0 && intval($code_page)<=20)
   {
      //Le code Päge est bon, on redirige...
      $redir = $code_page;
   }
   else
   {
      //Redirection vers une page erreur : erreur.php
      $redir = "erreur";
   }
}
else
{
   //Redirection vers une page erreur : erreur.php
   $redir = "erreur";
}

Header("Location: ".$redir.".php");
// Ici : 01.php

?>

Et là, ca doit être bon, 1000 excuses !

Bonne fin d'aprem ;)
@+
Damien


dimanche 13 novembre 2005 à 18:50:08 | Re : PB de variable

zoubis

Yes !!!!!!!!! Tout marche à merveille avec ton code, juste une dernière petite question après le KE il peut aussi y avoir ce genre de duo 0A jusqu'à 0Z, comment puis-je faire pour insérer une autre condition intégrant ces données supplémentaires. c'est ma dernière question après je ne te dérange plus avec mon problème qui n'en ai plus un grace à ton intervention remarquable. Merci d'avance si tu a encore quelques minutes à me consacrer. Amicalement Olivier.
dimanche 13 novembre 2005 à 19:31:19 | Re : PB de variable

dami27

Membre Club
Réponse acceptée !
Voici les dernières modifs du ficher resultat :



<?php
//Variable initial :
   $numSerie = "codePageSerie";

//Fonction pour retourner le code de la page...
   function codePageSerie($numSerie)
  {

   //On met la variable tous en minuscule (au cas où la personne ai tapé en majuscule...)
   $numSerie = strtolower($numSerie);

   //On sépare en deux la variable
   $separation_numSerie = explode('ke',$numSerie);

   //Maintenant, on a deux données, AVANT et APRES le KE...
   // On va s'occuper du APRES pour n'y prendre que les deux 1er chiffres...
   $codePage = substr($separation_numSerie[1],0,2);

      return $codePage;
  }

//Puis dans ton code, pour la redirection, tu tape :
$serie = $codePageSerie;
$code_page= codePageSerie($serie); // Ici, on a le 01, 02...


/*
    En faite, on regarde si la page existe, si oui, on y va... si non, c'est une erreur...
*/
if (file_exists($code_page.'.php'))
{
    //Le fichier existe, on redirige dessus...
    $redir = $code_page;
}
else
{
    //La page n'existe pas, on va sur une page d'erreur...
    $redir = "erreur";
}

//Redirection...
Header("Location: ".$redir.".php");

?>

Tu peux avoir n'importe quoi comme page :
01.php, 02.php.... 0a.php, zz.php...
Si la page existe, la personne sera redirigé dessus, sinon, vers la page d'erreur...

NB : Les caractères des fichiers sont en minuscules, meme si on a taper en majuscule !

Sinon, dernière chose pour la page de saisie :
Si la personne n'a rien tapé, un message s'affiche (C'est juste comme ca si tu as besoin )


<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Serial</title>
</head>

<body>
<form id="serial" name="serial" method="post" action="resultat.php"
onsubmit="if (document.serial.codePageSerie.value=='') { alert('Veuillez entrer le N° de Série'); return false; }">
  Serial number :
  <label>
  <input name="codePageSerie" type="text" id="codePageSerie" />
  </label>
</form>
</body>
</html>


Voilà, je pense avoir fait le tours, si ca te plait, valide mon message ;)
Et n'hésite pas si tu as un problème !

@+
Damien


Cette discussion est classée dans : pb, web, page, variable, modèle


Répondre à ce message

Sujets en rapport avec ce message

Pb recupération d'une variable [ par ASPerix ] Salut,dans une page j'ai ceci:print("Nom");?>sachant que le nom que je rentre est da Pb session ! [ par coolboy78 ] Bonjour les amis,J'ai un petit pb, g une page d'accueil avec 2 champs : Compte et mot de passe. Ken le client se logue, j'ouvre une session, mais le p Pb avec variable de session [ par griese ] J'ai mis en place une page qui permet de se loger. J'ai donc utilisé une session pour pouvoir récupérer le nom de login dans les autres pages. Mais le Pb menu déroulant avec renvoie d'une variable [ par ASPerix ] Bonjour,Voila mon problème:J'ai une liste déroulante de ce type $var_a pb d'insertion de graph jpgraph dans une page web [ par niel50 ] je souhaiterais créer des graphiques dynamiques à l'aide de jpgraphvoilà j'arrive bien à afficher un graphique tout bete avec des valeurs non dynamiqu pb de récupération d'informations d'une page web! [ par joduak ] Hey, un petit pb que je me pose... Je souhaiterai lorsqu'une personne est sur ma page internet, récupérer les valeurs de sa saisie sans qu'il valide l récupération de variable [ par coolboarder17bzh ] salut, j'ai un petit problème et je vous demande une petite aide alors voilà, je voudrais que le changement dans une liste déroulante provoque un i comment passer une variable d'une page a l'autre ? [ par nagrom_om ] Re-Bonjour,Alors voila, j'ai une page qui contient un bouton qui sert de lien vers une autre page.j'aimerai passer une variable $numConge de la page a Comment lire le contenu d'une page web ? [ par poiuytrez3 ] Bonjour, je cherche comment lire le contenu d'une page web distante avec PHP, sachant que je n'ai aucune autorisation sur cette page à part la lire. Comment lire le contenu d'une page web ? [ par poiuytrez3 ] Bonjour, je cherche comment lire le contenu d'une page web distante avec PHP, sachant que je n'ai aucune autorisation sur cette page à part la lire.


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales