Garder mes get aprés validation d'un formulaire
Résolu
Wmalain
-
Wmalain -
Wmalain -
Bonjour,
je vais essayer d’Être clair mais ce n'est pas gagné d'avance...
mon petit problème. je suis censé faire un formulaire pour pouvoir modifier des donnée dans ma bdd.
pour info les données sont répartis dans 4 tables.
lorsque j'arrive sur la page du formulaire j'ai récupéré (avec des GET) les id dont j'avais besoin!
mon problème étant que lorsque je cliques sur le bouton de mon formulaire les gets disparaissent de mon url. et je me retrouve d'un coup d'un seul avec des Undefined index.
la logique php est sur la même page que le formulaire.
mon code est dégueulasse car j'ai fais plusieurs test pour regler le probleme donc mes excuses a l'avance. je n'ai aussi que 2 semaine de php derriere moi du coup des chose qui peuvent vous sembler logique ne le sont pas forcement pour moi
mon url quand j'arrive sur la page du formulaire
http://localhost/mycave/modify_article.php?id=22&produitid=19&descriptionid=19&localid=19
mon url des que je cilques sur le bouton modifier
http://localhost/mycave/modify_article.php
je vous mets aussi le résultat du var_dump
avant de cliquer string(2) "19"
aprés avoir cliqué NULL
et les messages d'erreur
Notice: Undefined index: id in C:\xampp\htdocs\mycave\modify_article.php on line 8
Notice: Undefined index: produitid in C:\xampp\htdocs\mycave\modify_article.php on line 9
Notice: Undefined index: descriptionid in C:\xampp\htdocs\mycave\modify_article.php on line 10
Notice: Undefined index: localid in C:\xampp\htdocs\mycave\modify_article.php on line 11
la logique sql en elle même marche vue que si je vire le where de ma condition sql alors toute ma table est modifié, je n'arrive juste pas a cibler la ligne de l'article en particulier.
Merci par avance pour le coup de main ^^!
je vais essayer d’Être clair mais ce n'est pas gagné d'avance...
mon petit problème. je suis censé faire un formulaire pour pouvoir modifier des donnée dans ma bdd.
pour info les données sont répartis dans 4 tables.
lorsque j'arrive sur la page du formulaire j'ai récupéré (avec des GET) les id dont j'avais besoin!
mon problème étant que lorsque je cliques sur le bouton de mon formulaire les gets disparaissent de mon url. et je me retrouve d'un coup d'un seul avec des Undefined index.
la logique php est sur la même page que le formulaire.
mon code est dégueulasse car j'ai fais plusieurs test pour regler le probleme donc mes excuses a l'avance. je n'ai aussi que 2 semaine de php derriere moi du coup des chose qui peuvent vous sembler logique ne le sont pas forcement pour moi
mon url quand j'arrive sur la page du formulaire
http://localhost/mycave/modify_article.php?id=22&produitid=19&descriptionid=19&localid=19
mon url des que je cilques sur le bouton modifier
http://localhost/mycave/modify_article.php
je vous mets aussi le résultat du var_dump
avant de cliquer string(2) "19"
aprés avoir cliqué NULL
et les messages d'erreur
Notice: Undefined index: id in C:\xampp\htdocs\mycave\modify_article.php on line 8
Notice: Undefined index: produitid in C:\xampp\htdocs\mycave\modify_article.php on line 9
Notice: Undefined index: descriptionid in C:\xampp\htdocs\mycave\modify_article.php on line 10
Notice: Undefined index: localid in C:\xampp\htdocs\mycave\modify_article.php on line 11
la logique sql en elle même marche vue que si je vire le where de ma condition sql alors toute ma table est modifié, je n'arrive juste pas a cibler la ligne de l'article en particulier.
require('asset/inc/connect.php');
require('asset/inc/function.php');
require('asset/head.php');
require('asset/header.php');
$sql = $db->query("SELECT *, produit.id AS produit_id, description.id AS description_id, local.id AS local_id, ids.id AS ids_id FROM ids LEFT JOIN produit ON ids.idproduit = produit.id LEFT JOIN description ON ids.iddescription = description.id LEFT JOIN local ON ids.idlocal = local.id
");
$idids = $_GET['id'];
$idproduit = $_GET['produitid'];
$iddescription = $_GET['descriptionid'];
$idlocal = $_GET['localid'];
var_dump($idlocal);
$sql->setFetchMode(PDO::FETCH_ASSOC);
if(isset($_POST['btnmodify'])){
$id1 = $idids;
$id2 = $idproduit ;
$id3 = $iddescription ;
$id4 = $idlocal;
// $id = ($_POST['id']);
$modifytitre = htmlspecialchars($_POST['modifytitre']);
$modifycepage = htmlspecialchars($_POST['modifycepage']);
$modifyannee = htmlspecialchars($_POST['modifyannee']);
$modifypays = htmlspecialchars($_POST['modifypays']);
$modifyregion = htmlspecialchars($_POST['modifyregion']);
$modifydescription = htmlspecialchars($_POST['modifydescription']);
$modifyimg = ($_FILES['modifyimg']);
if($modifyimg['size'] <= 1000000){
$valid_ext = array('jpg','jpeg','gif','png');
$check_ext = strtolower(substr(strrchr($modifyimg['name'], '.'),1));
if(in_array($check_ext, $valid_ext)){
$imgname = uniqid() . '_' . $modifyimg['name'];
$upload_dir = "./asset/uploads/";
$upload_name = $upload_dir . $imgname;
$move_result = move_uploaded_file($modifyimg['tmp_name'], $upload_name);
if($move_result){
$sth1 = $db->prepare("UPDATE description SET annees=:modifyannee,description=:modifydescription, photo=:modifyimg WHERE id=$id2");
$sth1->bindValue(':modifyimg',$imgname);
$sth1->bindValue(':modifydescription',$modifydescription);
$sth1->bindValue(':modifyannee',$modifyannee);
$sth1->execute();
$sth2 = $db->prepare("UPDATE local SET pays=:pays,region=:region WHERE id=$id3");
$sth2->bindValue(':pays',$modifypays);
$sth2->bindValue(':region',$modifyregion);
$sth2->execute();
$sth3 = $db->prepare("UPDATE produit SET nom=:modifytitre,cepage=:modifycepage WHERE id=$id1");
$sth3->bindValue(':modifytitre',$modifytitre);
$sth3->bindValue(':modifycepage',$modifycepage);
$sth3->execute();
echo "coucou";
// header("Location:liste_user.php");
}
}
}
}
?>
<h1 class="titremodifyarticle">Modifier un article</h1>
<form action="modify_article.php" method="POST" id="formmodifyproduit" class="formmodifyproduit" enctype="multipart/form-data">
<div>
<input type="text" id="modifytitre" name="modifytitre" placeholder="Titre" class="modifytitre">
</div>
<div>
<input type="text" id="modifycepage" name="modifycepage" placeholder="cepage" class="modifycepage">
<input type="text" id="modifyannee" name="modifyannee" placeholder="année" class="modifyannee">
</div>
<div>
<input type="text" id="modifypays" name="modifypays" placeholder="Pays" class="modifypays">
<input type="text" id="modifyregion" name="modifyregion" placeholder="région" class="modifyregion">
</div>
<div>
<textarea name="modifydescription" id="modifydescription" rows="8" cols="50">
Ajoutez la description du produit
</textarea>
</div>
<div class="form-group">
<input type="file" name="modifyimg" id="modifyimg" accept=".png,.jpeg,.jpg,.gif">
</div>
<input type="hidden" name ="idids" value="<?php echo $idids; ?> "/>
<input type="hidden" name ="idproduit" value="<?php echo $idproduit; ?> "/>
<input type="hidden" name ="iddescription" value="<?php echo $idlocal; ?> "/>
<input type="hidden" name ="produit_id" value="<?php ?> ">
<input type="submit" name="btnmodify" class="btnmodify" value="modifier">
<input type="submit" name="retour" class="btnretour3" value="Retour">
</form>
<div class="imggrapes1"><img src="asset/img/grapes1.jpg" alt=""></div>
Merci par avance pour le coup de main ^^!
Configuration: Windows / Chrome 85.0.4183.121
A voir également:
- Garder mes get aprés validation d'un formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Get data back - Télécharger - Récupération de données
- Formulaire de reclamation instagram - Guide
- Temps validation annonce le bon coin - Forum Hotmail / Outlook.com
merci pour la réponse ^^!
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1 in C:\xampp\htdocs\mycave\modify_article.php:47 Stack trace: #0 C:\xampp\htdocs\mycave\modify_article.php(47): PDOStatement->execute() #1 {main} thrown in C:\xampp\htdocs\mycave\modify_article.php on line 47
ce qui correspond a cette partie la
je ne vois pas ou est l'erreur...