Script PHP ou mes valeurs pourront aller vers la bonne page HTML

Résolu/Fermé
bighawa Messages postés 23 Date d'inscription samedi 20 janvier 2018 Statut Membre Dernière intervention 4 mars 2018 - Modifié le 25 janv. 2018 à 11:13
bighawa Messages postés 23 Date d'inscription samedi 20 janvier 2018 Statut Membre Dernière intervention 4 mars 2018 - 24 févr. 2018 à 21:08
Bonjour, je cherche a me créer un script qui devra utiliser "3 champs" et un bouton "Submit" et dépendemment des valeurs aux 3 champs devra aller a une page en particulier.
exemple:

CHAMP 1 = DES ANIMAUX
CHAMP 2 = DES CHIFFRES
CHAMP 3 = VOITURE

alors le script devra faire en sorte que :

SI CHAMP #1 = CHIEN
et CHAMP #2 = 123
et CHAMP #3= HONDA
+ Appuyer sur bouton submit ira sur PAGE#1 = "chien123honda.html"

ou 

SI CHAMP #1 = CHAT
et CHAMP #2 = 456
et CHAMP #3= TOYOTA
+ Appuyer sur bouton submit ira sur PAGE #2 = "chat456toyota.html"

etc etc



(mes PAGES sont déjà prédéfini avec les bons résultats mais c'est juste de préparer le script en PHP pour aller à la bonne page)
Une bonne aide serait fortement apprécié !!!! ;-) Merci d'avance.
A voir également:

2 réponses

jordane45 Messages postés 38347 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 décembre 2024 4 719
20 janv. 2018 à 18:41
Bonjour,

Sur quoi bloques tu exactement ? La création du formulaire html ? L'utilisation des variables POST ou GET ? la concaténation de variables en PHP ? La redirection elle même ???

Montres nous ce que tu as commencé à faire.

Sachant que .. pour une redirection en php :
header('location : lapageoualler.php');
exit();


Pour concaténer :
$var1 = "Bonjour ";
$var2 =" Jordane";
$varcomplete = $var1 . $var2 ;
echo $varcomplete ;
 


Pour récupérer des variables en POST
$varTruc = !empty($_POST['name']) ? $_POST['name'] : NULL;



Au passage, je t'invite à lire ceci :https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
0
bighawa Messages postés 23 Date d'inscription samedi 20 janvier 2018 Statut Membre Dernière intervention 4 mars 2018
21 janv. 2018 à 00:23
Merci Jordane!.. en fait je n'ai pas encore écris de script, car j'ai énormément de difficulté a en faire. Merci pour la lecture, ceci pourrait certainement m'aider un peu plus ;-)
0
jordane45 Messages postés 38347 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 décembre 2024 4 719
21 janv. 2018 à 00:29
Autre lecture
https://www.commentcamarche.net/contents/493-formulaires-html-cours-et-exemples
0
bighawa Messages postés 23 Date d'inscription samedi 20 janvier 2018 Statut Membre Dernière intervention 4 mars 2018
Modifié le 25 janv. 2018 à 11:13
Salut Jordane, j'ai essayé de scripter avec les infos suivantes mais je reste bloqué à la ligne 6, saurais tu ce qui ne va pas dans mon code? Merci d'avance.

<?php 
if(isset($_POST['submit'])){ // this is option 1
 $var1 = "Chien";
 $var2 = "250";
 $var3 = "Honda"
 $varcomplete1 = $var1 & $var2 & $var3; 
echo $varcomplete ;
 header('location: page1.html');
} elseif {(isset($_POST['submit'])){  // this is option 2
 $var1 = "Chat";
 $var2 = "500";
 $var3 = "Toyota"
 $varcomplete2 = $var1 . $var2 . $var3; 
echo $varcomplete ;
 header('location: page2.html');
} elseif {(isset($_POST['submit'])){ // this is option 3
 $var1 = "Poisson";
 $var2 = "750";
 $var3 = "GMC"
 $varcomplete3 = $var1 . $var2 . $var3; 
echo $varcomplete ;
 header('location: page3.html');
} else {
 header('location: page10.html');
}
?>
0
bighawa Messages postés 23 Date d'inscription samedi 20 janvier 2018 Statut Membre Dernière intervention 4 mars 2018
Modifié le 25 janv. 2018 à 11:14
ReBonjours Jordane,

Il y a du progrès dans mon script, mais ce n'est pas encore totalement réglé. J'ai retirer le POST pour le remplacer par un GET, et aussi l'erreur de ligne 6 a été résolu suite a un oublie de ";" a la fin de la ligne 5.
Voici ou je suis actuellement rendu :

<?php 
if(isset($_GET['submit'])){ // this is option 1
 $var1 = "Chien";
 $var2 = "250";
 $var3 = "Honda";
 $option1 = $var1 . $var2 . $var3; 
 header('location: PAGE1.html');
} elseif(isset($_GET['submit'])){  // this is option 2
 $var1 = "Chat";
 $var2 = "500";
 $var3 = "Toyota";
 $option2 = $var1 . $var2 . $var3; 
 header('location: PAGE2.html');
} elseif(isset($_GET['submit'])){ // this is option 3
 $var1 = "Poisson";
 $var2 = "750";
 $var3 = "Mazda";
 $option3 = $var1 . $var2 . $var3; 
 header('location: PAGE3.html');
} else {
 header('location: PAGE10.html');
}
?>


J'arrive a me dirigé à la PAGE1, mais le problème c'est que c'est peu importe quel valeur que je met il me dirige toujours à la même PAGE.
Une aide serait fortement apprécié à partir de la. :-(
0
jordane45 Messages postés 38347 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 décembre 2024 4 719
21 janv. 2018 à 07:29
Il me faut le code de ton formulaire
0
jordane45 Messages postés 38347 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 décembre 2024 4 719
23 janv. 2018 à 12:48
<?php
//Activation des erreurs PHP
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);


//récupération PROPRE des variables AVANT de les utiliser
$var1 = !empty($_GET['var1']) ? $_GET['var1'] : NULL;
$var2 = !empty($_GET['var2']) ? $_GET['var2'] : NULL;
$var3 = !empty($_GET['var3']) ? $_GET['var3'] : NULL;


//If en fonction des valeurs de ton formulaire
if($var1 == "Chien" && $var2 == "250" && $var3 == "Honda") {
	header('location: PAGE1.html');
	exit();
	
} elseif($var1 == "Chat" && $var2 == "500" && $var3 == "Toyota") {
	header('location: PAGE2.html');
	exit();
} elseif($var1 == "Poisson" && $var2 == "750" && $var3 == "Mazda") {
	header('location: PAGE3.html');
	exit();
} else {
	header('location: PAGE10.html');
	exit();
}
?>


0
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 150
Modifié le 23 janv. 2018 à 13:13
Hello,

Je crois qu'il s'attend plus à qq chose comme ça :)

<?php
//Activation des erreurs PHP
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

if ( !empty($_GET['var1']) && !empty($_GET['var2']) && !empty($_GET['var3']))
{
        $location = "location: " . $_GET['var1'] . $_GET['var2'] . $_GET['var3'] . ".html";
        header("$location");
}

else
{
        echo "error";
}

?>
0
jordane45 Messages postés 38347 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 décembre 2024 4 719 > Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022
23 janv. 2018 à 13:48
Bonjour Exileur,
C'est en effet ce à quoi sa question initiale laissait penser.... mais vu les échanges d'après.. ce n'est plus aussi certain.

Au passage... ton code meriterait quelques ajustements.
1 - On récupère PROPREMENT les variables avant de les utiliser
2 - On met toujours un EXIT après une redirection

Je t'invite à lire et à appliquer ce qui est contenu ici pour tes prochains codes :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
0
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 150
23 janv. 2018 à 14:07
Hello Jojo (pour la rime),

ça sera mieux comme ça :)

<?php
//Activation des erreurs PHP
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

$animal = !empty($_GET['var1']) ? $_GET['var1'] : NULL;
$quantity = !empty($_GET['var2']) ? $_GET['var2'] : NULL;
$car = !empty($_GET['var3']) ? $_GET['var3'] : NULL;

if ( !is_null($animal) && !is_null($quantity) && !is_null($car) )
{
        $location = "location: " . $animal . $quantity . $car . ".html";
        header("$location");
        exit();
}

else
{
        echo "error";
}
?>


On doit méme pouvoir amélioré en vérifiant quel champs n'a pas été remplie !

Merci du tuyaux ! Et bel article au passage !

Pour pousser un peu, s'il est encessaire de passer les variables en minuscule.

Pas correcte ->
$animal = !empty($_GET['var1']) ? strtolower($_GET['var1']) : NULL;

Correcte ? ->
$animal = !empty($_GET['var1']) ? $_GET['var1'] : NULL;
$animal =strtolower($animal);


J'ai bien compris ?

D'habitude, j'applique plus le contenu qui est ici : http://www.la-rache.com/ .....
0
jordane45 Messages postés 38347 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 décembre 2024 4 719 > Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022
23 janv. 2018 à 14:17
Les deux codes :
animal = !empty($_GET['var1']) ? strtolower($_GET['var1']) : NULL;

$animal = !empty($_GET['var1']) ? $_GET['var1'] : NULL;
$animal =strtolower($animal);

sont valables.
Même si j'ai une préférence pour le premier.

Après.. pour la récupération des variables POST et GET on peut faire avec un ternaire comme dans mon exemple (qui s'applique de cette façon à toutes les variables ) .. ou, plus spécifiquement pour les GET et POST utiliser les fonctions de php filter_input
https://www.php.net/manual/fr/function.filter-input.php
mais personnellement j'utilise ma méthode plus régulièrement plutot queles input_filter.

Pour ce qui est du site que tu proposes... heu.... ben... après y avoir jeter un oeil.. je peux te dire qu'il ne me plait pas du tout...
On dirait un truc codé en 1990 ... alors qu'il existe depuis 2016 ... il n'est pas ergonomique, le contenu est pauvre ... et hormis se venter d'être certifié je ne sais quel organisme bidon... je n'en vois pas intérêt..
Tu devrais pouvoir trouver mieux sans souci...
0
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 150
Modifié le 23 janv. 2018 à 14:29
Je savais pas que ça s'appeler ternaire.
J'ai était ammener a utiliser ces méthode sur de la crypto en bash.

Tu voudrais utiliser du ternaire pour remplacer :
if ( !is_null($animal) && !is_null($quantity) && !is_null($car) )
?

Haha, le site est vieux :) C'est du pur troll ->
http://www.la-rache.com/images.html
http://www.la-rache.com/temoignages.html

Le pauvre "bighawa", j'lui pouri son post :/
0