Page 1 sur 1

Formulaire de mise à jour

Posté : 22 mars 2021, 10:55
par JAG11
Bonjour, j'ai fais quelques formulaire de mise à jour qui fonctionne tous très bien, et là je bute sur un formulaire sans trouver l'erreur.
Toutes les rubriques ont une valeur à l'issue de la mise à jour.
Je retrouve les valeurs avec un:

Code : Tout sélectionner

echo '<pre>'; print_r($_POST); echo '</pre>';
Voici mon code, que je comprends, mais ne trouve pas l'erreur si il y a en une, sinon je fais quelque chose de mal.
Code du $_POST

Code : Tout sélectionner

if (isset($_POST)) { if ( isset($_POST['Id_Assos']) && !empty($_POST['Id_Assos']) && isset($_POST['Id_Type_Assos']) && !empty($_POST['Id_Type_Assos']) && isset($_POST['Id_Assos_Mere']) && !empty($_POST['Id_Assos_Mere']) && isset($_POST['Nom_Assos']) && !empty($_POST['Nom_Assos']) && isset($_POST['Nom_Court']) && !empty($_POST['Nom_Court']) && isset($_POST['Email']) && !empty($_POST['Email']) && isset($_POST['Telephone']) && !empty($_POST['Telephone']) ) { $Id_Assos = strip_tags($_GET['Id_Assos']); $Id_Type_Assos = strip_tags($_POST['Id_Type_Assos']); $Id_Assos_Mere = strip_tags($_POST['Id_Assos_Mere']); $Nom_Assos = strip_tags($_POST['Nom_Assos']); $Nom_Court = strip_tags($_POST['Nom_Court']); $Email = strip_tags($_POST['Email']); $Telephone = strip_tags($_POST['Telephone']); $sql = "UPDATE `t_associations` SET `Id_Type_Assos`=:Id_Type_Assos,`Id_Assos_Mere`=:Id_Assos_Mere,`Nom_Assos`=:Nom_Assos,`Nom_Court`=:Nom_Court,`Email`=:Email,`Telephone`=:Telephone, WHERE `Id_Assos`=:Id_Assos"; $query = $db->prepare($sql); $query->bindValue(':Id_Type_Assos', $Id_Type_Assos, PDO::PARAM_INT); $query->bindValue(':Id_Assos_Mere', $Id_Assos_Mere, PDO::PARAM_INT); $query->bindValue(':Nom_Assos', $Nom_Assos, PDO::PARAM_STR); $query->bindValue(':Nom_Court', $Nom_Court, PDO::PARAM_STR); $query->bindValue(':Email', $Email, PDO::PARAM_STR); $query->bindValue(':Telephone', $Telephone, PDO::PARAM_STR); $query->bindValue(':Id_Assos', $Id_Assos, PDO::PARAM_INT); $query->execute(); header('Location: index.php'); } }
Code de la variable $_GET

Code : Tout sélectionner

//passage de la variable $_GET pour l'afficher des données à modifier if (isset($_GET['Id_Assos']) && !empty($_GET['Id_Assos'])) { $sql = "SELECT * FROM t_associations INNER JOIN t_type_assos ON t_associations.Id_Type_Assos = t_type_assos.Id_Type_Assos INNER JOIN t_assos_mere ON t_associations.Id_Assos_Mere = t_assos_mere.Id_Assos_Mere WHERE Id_Assos=:Id_Assos;"; $query = $db->prepare($sql); $query->bindValue(':Id_Assos', $_GET['Id_Assos'], PDO::PARAM_INT); $query->execute(); $result = $query->fetch(); } include("../close.php"); ?>
Code du formulaire

Code : Tout sélectionner

<section> <div class="container-fluid table-responsive"> <h3 class="TitreH1">Modification des informations d'une association</h3> <form method="post"> <div class="form-group row"> <label style="background-color:darkseagreen" for="Id_Type_Assos" class="col-md-3 col-form-label">Type d'association:</label> <div class="col-md-9"> <select required name="Id_Type_Assos">; <option value="<?= $result['Id_Type_Assos'] ?>"> <?= $result['Type_Long'] ?> </option> <?php // On inclut la connexion à la base try { include("../connect.php"); } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); } $resultat = $db->query('SELECT Id_Type_Assos, Type_Long FROM t_type_assos where Id_Type_Assos =1 or Id_Type_Assos =5'); while ($donnees = $resultat->fetch()) { echo '<option value="' . $donnees['Id_Type_Assos'] . '">' . $donnees['Type_Long'] . '</option>'; }; $resultat->execute(); $resultat->closeCursor(); require_once('../close.php'); ?> </select> </div> </div> <div class="form-group row"> <label style="background-color:darkseagreen" for="Id_Assos_Mere" class="col-md-3 col-form-label">Nom association mère:</label> <div class="col-md-9"> <select name="Id_Assos_Mere">; <option value="<?= $result['Id_Assos_Mere'] ?>"> <?= $result['Nom_Long'] ?> <?php // On inclut la connexion à la base try { include("../connect.php"); } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); } $resultat = $db->query('SELECT Id_Assos_Mere, Nom_Long FROM t_assos_mere order by Nom_Long asc'); while ($donnees = $resultat->fetch()) { echo '<option value="' . $donnees['Id_Assos_Mere'] . '">' . $donnees['Nom_Long'] . '</option>'; }; $resultat->execute(); $resultat->closeCursor(); require_once('../close.php'); ?> </select> </div> </div> <!--Modification du logo--> <div class="form-group row"> <label style="background-color:darkseagreen" for="file" class="col-md-3 col-form-label">Modifiez le logo: <br />(Poids maxi de l'image=2 Mo.)</label> <div class="col-md-4"> <input type="file" name="file"> <p class="text-danger"> Uniquement les fichiers de type PNG.</p> </div> <div class="col-md-2"> <td><?php echo "<img src='" . $result['Logo_Reduit'] . "' />"; ?></td> </div> </div> <!--Modification du Nom de l'association--> <div class="form-group row"> <label style="background-color:darkseagreen" for="Nom_Assos" class="col-md-3 col-form-label">Nom de l'association:</label> <div class="col-md-5"> <input type="text" class="form-control" name="Nom_Assos" id="Nom_Assos" value="<?= $result['Nom_Assos'] ?>" maxlength="150" required> </div> <label style="background-color:darkseagreen" for="Nom_Court" class="col-md-2 col-form-label">Nom abrégé:</label> <div class="col-md-2"> <input type="text" class="form-control" name="Nom_Court" id="Nom_Court" value="<?= $result['Nom_Court'] ?>" maxlength="15" required> </div> </div> <!--Email--> <div class="form-group row"> <label style="background-color:darkseagreen" for="Email" class="col-md-3 col-form-label">Email:</label> <div class="col-md-5"> <input type="Email" class="form-control" name="Email" id="Email" value="<?= $result['Email'] ?>" maxlength="150" required> <?php function isValidEmail($email) { if (preg_match("/^([\w-\.]+)@((?:[\w]+\.)+)([a-zA-Z]{2,4})/i", $email)) { return true; } else { return false; } } ?> <!--Telephone--> </div> <label style="background-color:darkseagreen" for="Telephone" class="col-md-2 col-form-label">Telephone:</label> <div class="col-md-2"> <input type="tel" class="form-control" name="Telephone" id="Telephone" value="<?= $result['Telephone'] ?>" maxlength="20" required> </div> </div> <!--Facebook--> <div class="form-group row"> <label style="background-color:darkseagreen" for="Facebook" class="col-md-3 col-form-label">Facebook:</label> <div class="col-md-9"> <input type="URL" class="form-control" name="Facebook" id="Facebook" value="<?= $result['Facebook'] ?>" maxlength="200"> </div> </div> <!--WEB--> <div class="form-group row"> <label style="background-color:darkseagreen" for="WEB" class="col-md-3 col-form-label">Site WEB:</label> <div class="col-md-9"> <input type="tel" class="form-control" name="WEB" id="WEB" value="<?= $result['WEB'] ?>" maxlength="200"> </div> </div> <!--Adresse--> <div class="form-group row"> <label style="background-color:darkseagreen" for="Adresse" class="col-md-3 col-form-label">N° et nom rue:</label> <div class="col-md-4"> <input type="text" class="form-control" name="Adresse" id="Adresse" value="<?= $result['Adresse'] ?>" maxlength="200" required> </div> <!--Complement--> <label style="background-color:darkseagreen" for="Complement" class="col-md-2 col-form-label">Complement:</label> <div class="col-md-3"> <input type="text" class="form-control" name="Complement" id="Complement" value="<?= $result['Complement'] ?>" maxlength="100"> </div> </div> <!--Ville--> <div class="form-group row"> <label style="background-color:darkseagreen" for="Ville" class="col-md-3 col-form-label">Ville:</label> <div class="col-md-4"> <input type="text" class="form-control" name="Ville" id="Ville" value="<?= $result['Code_Postal'] ?>" maxlength="100" required> </div> <!--Code_Postal--> <label style="background-color:darkseagreen" for="Code_Postal" class="col-md-2 col-form-label">Code Postal:</label> <div class="col-md-3"> <input type="text" class="form-control" name="Code_Postal" id="Code_Postal" value="<?= $result['Ville'] ?>" maxlength="5" required> </div> </div> <!--Cotisation--> <div class="form-group row"> <label style="background-color:darkseagreen" for="CotiJoueur" class="col-md-2 col-form-label">Cotisation joueur:</label> <div class="col-md-2"> <input type="text" class="form-control" name="CotiJoueur" id="CotiJoueur" value="<?= $result['CotiJoueur'] ?>" maxlength="3" required> </div> <label style="background-color:darkseagreen" for="CotiFamille" class="col-md-2 col-form-label">Cotisation famille:</label> <div class="col-md-2"> <input type="tel" class="form-control" name="CotiFamille" id="CotiFamille" value="<?= $result['CotiFamille'] ?>" maxlength="3" required> </div> <label style="background-color:darkseagreen" for="NbMembres" class="col-md-2 col-form-label">Nb Membres:</label> <div class="col-md-2"> <input type="number" class="form-control" name="NbMembres" id="NbMembres" value="<?= $result['NbMembres'] ?>" maxlength="3" required> </div> </div> <input type="hidden" name="Id_Assos" id="Id_Assos" value="<?= $result['Id_Assos'] ?>"> <a class=" btn btn-dark btn-sm" role="button" href="index.php"><i class="fas fa-times-circle"></i> Abandonner</a> <button type=" submit" class="btn btn-info pull-right"><i class="fas fa-pen-fancy"></i> Envoyer la mise à jour</button> </form> </div> </section>
Volontairement je ne modifie que les valeurs fixées dans la variable $_Post.

Merci pour votre aide

Re: Formulaire de mise à jour

Posté : 22 mars 2021, 10:59
par JAG11
Le résultat de mon

Code : Tout sélectionner

echo '<pre>'; print_r($_POST); echo '</pre>';
Array
(
[Id_Type_Assos] => 1
[Id_Assos_Mere] => 1
[file] =>
[Nom_Assos] => azerty
[Nom_Court] => azer
[Email] => [email protected]
[Telephone] => 000000000
[Facebook] =>
[WEB] =>
[Adresse] => TEST
[Complement] =>
[Ville] => TERTYY
[Code_Postal] => 57000
[CotiJoueur] => 0
[CotiFamille] => 0
[NbMembres] => 0
[Id_Assos] => 7
)

Re: Formulaire de mise à jour

Posté : 22 mars 2021, 11:39
par JAG11
J'ai résolu mon problème en récrivant la requête !!!!!

Code : Tout sélectionner

$sql = "UPDATE `t_associations` SET `Id_Type_Assos`=:Id_Type_Assos,`Id_Assos_Mere`=:Id_Assos_Mere,`Nom_Assos`=:Nom_Assos,`Nom_Court`=:Nom_Court,`Email`=:Email,`Telephone`=:Telephone WHERE`Id_Assos`=:Id_Assos";