par
JAG11 » 22 mars 2021, 10:55
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:
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
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]echo '<pre>';
print_r($_POST);
echo '</pre>';[/code]
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]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]
Code de la variable $_GET
[code]//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]
Code du formulaire
[code]<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>[/code]
Volontairement je ne modifie que les valeurs fixées dans la variable $_Post.
Merci pour votre aide