Formulaire methode GET et résultat du fichier PHP

Résolu/Fermé
JC_8280 Messages postés 78 Date d'inscription jeudi 19 mars 2020 Statut Membre Dernière intervention 7 février 2021 - 19 avril 2020 à 20:50
JC_8280 Messages postés 78 Date d'inscription jeudi 19 mars 2020 Statut Membre Dernière intervention 7 février 2021 - 20 avril 2020 à 00:01
Bonjour,
J'ai fait un formulaire GET avec un boutton "submit" vers un fichier PHP.
Le traitement du PHP a l'air de bien se passer , mais je ne sais pas exploiter le résultat dans le Java Script, pour actualiser ma page web.

Quelle est la bonne technique?

Ci dessous mon code:


<!--  ******   FORMULAIRE 1: SELECTION OUTIL A MODIFIER  ******  -->    
    <form id='idFormModifier1' action="modifier1.php"  method="get"
     target="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
          <div class = legendeM >
              <p id = 'legendeM1'>Indiquer n° ordre ou réference magasin</p>
              <!--  ******   CHOIX NUMERO ORDRE    ******  --> 
              <div class="classNumIdM">
                <label id='idLblNumIdM' For='idInputNumIdM'>N° ORDRE: </label>
                <input id = "idInputNumIdM"  name = "IdM" onchange = "blockRefMag" 
                 type = "number"  min = "100001" max = "102000" placeholder = 'Numéro Ordre: '>      
              </div>
              <!--  ******   CHOIX NUMERO MAGASIN    ******  --> 
              <div class="classNumMagM">
                <label id='idLblRefMagM' For='idInputRefMagM'>REF MAGASIN</label>
                <input id = "idInputRefMagM"  name = "refMagM" onchange = "blockNumId" 
                 type = "number"  step = "1" min = "0" placeholder = 'Référence magasin: '>      
              </div>
               <!--  BOUTON VALIDER RECHERCHE  --> 
                <button id = "idboutonRechercheModif" class = 'classboutonRechercheModif'
                 type = "submit">CHOIX</button>
                <p class="error">UNE ENTREE EST DEMANDEE</p>  
          </div>
    </form>


Le PHP:


<?php
header("Content-Type: application/json; charset=UTF-8");

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

//--------------------------------------------------------------------------//
// fonctions diverses...
//--------------------------------------------------------------------------//
$entreeErr = $errIdM =  $errRefMagM = 0;
if (empty($_GET["IdM"]) && empty($_GET["refMagM"])){
    $entreeErr = "UNE ENTREE EST DEMANDEE";
  };

if (!filter_input(INPUT_GET, "IdM", FILTER_VALIDATE_INT,
    array("options" => array("min_range"=>100001, "max_range"=>102000))) === false){
    $errIdM = ("IdM NON VALIDE");
    };
if (!filter_input(INPUT_GET, "refMagM", FILTER_VALIDATE_INT)){
    $errRefMagM = ("refMag NON VALIDE");
    };

//--------------------------------------------------------------------------//
// Variables ..
//--------------------------------------------------------------------------//
$VM = $VM0 = $VM1= "";   
$VM0 = $_GET["IdM"];                                  
$VM1 = $_GET["refMagM"];

if ($VM0==""){
    $VM = $VM1;
    $condition = "REF_MAG";
    }else{$VM = $VM0;
    $condition = "id";
    };
//echo $VM ;
$datas = array();
$datas[":IdM"] = $VM0;
$datas[":refMag"] = $VM1;

//--------------------------------------------------------------------------//
//connexion à la bdd
//--------------------------------------------------------------------------//
require_once "cnxbdd.php";
        
//--------------------------------------------------------------------------//
//  REQUETE                                       
//--------------------------------------------------------------------------//

$sql = 'SELECT id FROM cutting_tools_01
        WHERE NOT ' .$condition .' = ' .$VM;

try{             
	$requete = $connexion->prepare($sql); // A corriger en fonction du contenu de ton fichier cnxbdd.php  
	$requete->execute($datas);                                                                    
	$resultatM1 = $requete->fetchAll(PDO::FETCH_ASSOC);      
}catch(PDOException $e){
	echo 'ECHEC  : ' .$e->getMessage();
}

print_r($resultatM1);




Configuration: Windows / Firefox 75.0
A voir également:

3 réponses

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
Modifié le 19 avril 2020 à 21:16
Bonjour,

Le fichier qui contient ton formulaire se nomme comment ?

Tu parles également de javascript..... mais tu ne nous le montres pas ??!
Si ton but est de faire comme dans ta question précédente... c'est de l'ajax qui était utilisé.... pas un submit !
Et donc.. en gros.. tu as juste à coder de la même façon que dans ta question précédente.



Au passage .... dans le traitement de ton formulaire.. ta requête est mal écrite et ta variable $data est fausse !
if ($VM0==""){
    $VM = $VM1;
    $condition = ":REF_MAG";
} else {
     $VM = $VM0;
    $condition = ":id";
};
//echo $VM ;
$datas = array(':'.$condition => $VM);



$sql = 'SELECT id FROM cutting_tools_01
        WHERE NOT  ' .$condition .' =  :'.$condition ;


1
JC_8280 Messages postés 78 Date d'inscription jeudi 19 mars 2020 Statut Membre Dernière intervention 7 février 2021
Modifié le 19 avril 2020 à 22:03
En fait, j'aurai pu faire comme avant certes vu que le principe se ressemble, mais je voulais savoir si on peux utiliser la technique du GET/Submit pour faire le même genre de chose. En essayant cette voie je me retrouve dans un cul de sac en sortie de PHP.
Le fichier qui contient le formulaire se nomme modification.php

Merci pour la correction.
JC
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
19 avril 2020 à 23:08
Tu peux faire le submit sur le même fichier que celui qui contient ton formulaire
pour ça, tu mets le "action" à vide
 <form id='idFormModifier1' action=""  method="get">


et tu mets ton code PHP dans ce même fichier ( avant le HTML .. c'est plus propre et c'est le conseil que tu trouves dans les liens que je t'avais donné : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code )

De là, tu peux utiliser ta variable $resultatM1 dans ton JS
 var  resultatM1 = '<?php echo !empty($resultatM1) ? json_encode($resultatM1) : "" ;?>';

pour l'utiliser il te faudra faire comme dans ta question précédente.. avec du parse json et une boucle.
0
JC_8280 Messages postés 78 Date d'inscription jeudi 19 mars 2020 Statut Membre Dernière intervention 7 février 2021
20 avril 2020 à 00:01
Et oui, maintenant que tu le dit... :-)
Merci.
Bonne nuit.
JC
0