cs_zoubis
Messages postés5Date d'inscriptionmardi 25 mars 2003StatutMembreDernière intervention14 novembre 2008
-
12 nov. 2005 à 11:38
dami27
Messages postés20Date d'inscriptionmardi 18 mars 2003StatutMembreDernière intervention17 octobre 2006
-
13 nov. 2005 à 19:31
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.
dami27
Messages postés20Date d'inscriptionmardi 18 mars 2003StatutMembreDernière intervention17 octobre 2006 12 nov. 2005 à 13:37
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
//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 = "codePageSerie";
$redir = codePageSerie($serie).'.php';
Header("Location : ".$redir);
// Ici : 01.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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
dami27
Messages postés20Date d'inscriptionmardi 18 mars 2003StatutMembreDernière intervention17 octobre 2006 13 nov. 2005 à 12:35
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)...
//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";
}
//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
cs_zoubis
Messages postés5Date d'inscriptionmardi 25 mars 2003StatutMembreDernière intervention14 novembre 2008 13 nov. 2005 à 14:43
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.
cs_zoubis
Messages postés5Date d'inscriptionmardi 25 mars 2003StatutMembreDernière intervention14 novembre 2008 13 nov. 2005 à 18:50
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.