Update table via Formulaire

Eléphanteau du PHP | 18 Messages

06 déc. 2021, 12:19

Bonjour à tous,

Je suis dans une impasse, j'ai créé un formulaire dans lequel je récupère les données de mes enregistrements, et dans ce formulaire je n'ai laissé que 3 champs modifiable, les quantités.

Jusque là tout va bien, je récupère bien les données de mon article précédemment sélectionné, le problème vient de l'envoi du formulaire dans la base, quand je clique sur mon bouton envoyé, j'arrive sur une page blanche, pas d'envoi dans ma bdd et le header ne fonctionne même pas.

Voici mon code :

Formulaire d'affichage et de modification :

Code : Tout sélectionner

<html> <body> <table width="1024" height="768" align="center" border="0"> <td align="center"> <table width="1000" height="300" border="0"> <?php $serverName = "localhost"; $userName = "root"; $password = "xxxxxxxx"; $dbName = "consommables"; $connexion = mysqli_connect($serverName, $userName, $password, $dbName); if ($connexion) { // Effectuer la requête $variable = $_GET['numarticle']; ?> <form name='modification' action='modification.php' method='POST'> <?php $query = "SELECT * FROM ARTICLE INNER JOIN FOURNISSEUR ON ARTICLE.num_four=FOURNISSEUR.num_four WHERE num_article = $variable "; $result = mysqli_query($connexion, $query); // Afficher les lignes du tableau en fonction de la réponse à la requête if ($result) { if (mysqli_num_rows($result) > 0) { while($row = mysqli_fetch_assoc($result)) { echo "<tr>"; echo "<td height='1%' align='right'></td>"; echo "<td height='1%' align='left'><font size='6'>Mettre &agrave; jour un article</font></td>"; echo "</tr>"; echo "<tr>"; echo "<td height='1%' align='right'>R&eacute;f&eacute;rence de l'article : </td><td><input type='text' disabled='disabled' name='ref' value='".$row['ref_article']."'/></td>"; echo "</tr>"; echo "<tr>"; echo "<td height='1%' align='right'>Description de l'article : </td><td><textarea disabled='disabled' name='nomart' rows='5' cols='50'>".$row['nom_article']."</textarea></td>"; echo "</tr>"; echo "<tr>"; echo "<td height='1%' align='right'>Quantit&eacute; de Vincent :</td> <td><input type='text' name='qtevince' value='".$row['qte_vincent']."'/></td>"; echo "</tr>"; echo "<tr>"; echo "<td height='1%' align='right'>Quantit&eacute; de Peggy :</td> <td><input type='text' name='qtepeggy' value='".$row['qte_peggy']."'/></td>"; echo "</tr>"; echo "<tr>"; echo "<td height='1%' align='right'>Quantit&eacute; de Benoit :</td><td> <input type='text' name='qtebenoit' value='".$row['qte_benoit']."'/></td>"; echo "</tr>"; echo "<tr>"; echo "<td height='1%' align='right'>Image :</td><td> <input type='text' disabled='disabled' name='imgart' value='".$row['img_article']."'/></td>"; echo "</tr>"; echo "<tr>"; echo "<td height='1%' align='right'>Fournisseur :</td>"; echo "<td height='1%' align='left'> <input disabled='disabled' type='text' name='fournisseur' value='".$row['nom_four']."'/> </td>"; echo "</tr>"; echo "<tr height='1'>"; echo "<input type='hidden' name='numart' value='".$row['num_article']."'/>"; echo "</tr>"; echo "<tr>"; echo "<td height='1%' align='right'><input name='submit' type='submit' value='Envoyer'></td>"; echo "</tr>"; } } } ?> </form> <?php // Fermer la connexion mysqli_close($connexion); } ?> </table> </td> </table> </body> </html>
Page d'envoi des données dans ma table

Code : Tout sélectionner

<?php $serverName = "localhost"; $userName = "root"; $password = "xxxxxxxx"; $dbName = "consommables"; $connexion = mysqli_connect($serverName, $userName, $password, $dbName); $num_article = $_POST['numart']; $qte_vincent = $_POST['qtevincent']; $qte_peggy = $_POST['qtepeggy']; $qte_benoit = $_POST['qtebenoit']; $sql = "UPDATE ARTICLE SET qte_vincent = $qte_vincent, qte_peggy = $qte_peggy, qte_benoit = $qte_benoit WHERE num_article = $num_article"; header("Location: index.php); ?>
Je précise que je ne suis pas développeur d'appli, j'ai fais un peu de php pendant mes études il y a longtemps ;-)

Merci d'avance

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

06 déc. 2021, 12:21

Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 337 Messages

06 déc. 2021, 13:14

J'ai pas pris le temps de lire le script en entier, mais il y a quand même un truc qui saute aux yeux

Code : Tout sélectionner

header("Location: index.php);
Il manque des guillemets après index.php.
Et aussi un "exit" après la redirection header pour éviter que la suite du script soit interprétée.

Mammouth du PHP | 2703 Messages

06 déc. 2021, 14:36

et ne pas exécuter la requête ne va pas aider à ce que la table soit mise à jour.

Eléphant du PHP | 337 Messages

06 déc. 2021, 16:37

et ne pas exécuter la requête ne va pas aider à ce que la table soit mise à jour.
Ah oui c'est vrai tiens :D
Il manque un mysqli_query après le sql = "UPDATE...."