Modifier des transactions en PHP sans compromettre la sécurité est un défi courant.
Des erreurs peuvent survenir, exposant vos données à des risques de sécurité, ce qui peut être frustrant.
Cet article vous guide à travers les étapes pour sécuriser et adapter votre formulaire de modification en PHP.
Réalisez votre projet web de A à Z sous PHP 8
Liens pour modifier transaction PHP
Modifier les ligne de chaque enregistrement de chaque transaction :
- Code PHP pour les ventes :
Affichez chaque vente avec un lien vers la page de modification bien-detail-update.php, en passant l’ID de la transaction dans l’URL.
">= $dataAfficherVente['dateFR'];?> : =$dataAfficherVente['quantite'];?> * =$dataAfficherVente['pu'];?>€ = =$dataAfficherVente['montant'];?> €
- Code PHP pour les loyers :
Affichez chaque loyer avec un lien vers la page de modification, en passant l’ID de la transaction.
">= $dataAfficherLoyer['dateFR'];?> : =$dataAfficherLoyer['montant'];?> €
- Code PHP pour les Achats :
Affichez chaque achat avec un lien vers la page de modification, en passant l’ID de la transaction.
">= $dataAfficherAchat['dateFR'];?> : =$dataAfficherAchat['quantite'];?> * =$dataAfficherAchat['pu'];?>€ = =$dataAfficherAchat['montant'];?> €
Requête SQL pour afficher transaction
Pour afficher les détails d’une transaction ainsi que les informations sur le type de transaction et le bien associé, vous devez préparer une requête SQL qui joint plusieurs tables. Cette requête doit extraire les informations de la transaction, du type de transaction, et du bien en question.
Voici comment utiliser cette requête SQL dans un script PHP pour afficher les détails d’une transaction :
Code PHP pour afficher les détails d’une transaction :
Code de fichier bien-detail-update.php
Modifier une transaction
prepare($sql);
$req->execute(
array(
':transactionID' => $_GET['transactionID']
)
);
$data = $req->fetch(PDO::FETCH_ASSOC);
?>
=$data['bien'];?>
Gestion des erreurs SQL : Un bloc try-catch est utilisé pour capturer et afficher les erreurs SQL potentielles.
Résultat d’affichage :
Formulaire modification transaction PHP
Pour mettre en place un formulaire de modification des détails d’une transaction, vous devez suivre plusieurs étapes. Ce formulaire permettra aux utilisateurs de modifier les informations d’une transaction existante et de les mettre à jour dans la base de données. Voici un guide étape par étape pour créer ce formulaire :
Créer la page de modification
Créez un fichier, par exemple bien-detail-update.php, qui affichera le formulaire de modification pour une transaction spécifique. Ce fichier récupérera les détails de la transaction à partir de la base de données et les affichera dans un formulaire pré-rempli.
Code PHP pour bien-detail-update.php :
Modifier une transaction
prepare($sql);
$req->execute(
array(
':transactionID' =>$_GET['transactionID']
)
);
$data = $req->fetch(PDO::FETCH_ASSOC);
// Liste des variables
$bienID = $data['bienID'];
$bien = $data['bien'];
$image = $data['image'];
$typeID = $data['typeID'];
$type = $data['type'];
$transactionID = $data['transactionID'];
$quantite = $data['quantite'];
$pu = $data['pu'];
$montant = $data['montant'];
$dateTransaction = $data['dateTransaction'];
?>
=$bien;?>
Résultat d’affichage :
Le résultat affiché sera une page avec un formulaire pour modifier les détails d’une transaction spécifique. Les utilisateurs verront le nom du bien et pourront modifier les quantités, le prix unitaire, et la date de la transaction. Le formulaire enverra les données mises à jour lorsque l’utilisateur cliquera sur « Modifier ».
Adapter formulaire selon type de bien
Pour adapter le formulaire de modification au type de bien, il est nécessaire de modifier le formulaire en fonction des caractéristiques spécifiques du bien. Les types de bien peuvent avoir des attributs différents, et vous devrez afficher des champs différents dans le formulaire en fonction du type de bien sélectionné
Modifiez le formulaire pour afficher des champs spécifiques en fonction du type de bien.
Code PHP pour bien-detail-update.php :
Voici le code modifié pour afficher des champs spécifiques en fonction du type de bien :
Modifier une transaction
prepare($sql);
$req->execute(
array(
':transactionID' =>$_GET['transactionID']
)
);
$data = $req->fetch(PDO::FETCH_ASSOC);
// Liste des variables
$bienID = $data['bienID'];
$bien = $data['bien'];
$image = $data['image'];
$typeID = $data['typeID'];
$type = $data['type'];
$transactionID = $data['transactionID'];
$quantite = $data['quantite'];
$pu = $data['pu'];
$montant = $data['montant'];
$dateTransaction = $data['dateTransaction'];
?>
=$bien;?>
Résultat d’affichage :
Le formulaire affiché dépendra du type de bien :
- Pour les biens de type 3, seuls les champs pour le montant seront affichés.
- Pour les autres types de biens, les champs pour la quantité et le prix unitaire seront affichés, ainsi que la date de transaction.
Infos supplémentaires sur la transaction
Pour enrichir la page de modification des transactions avec des informations complémentaires, vous pouvez inclure des détails tels que des instructions pour l’utilisateur, des informations supplémentaires sur le bien ou la transaction, et des outils pour faciliter l’édition. Voici comment vous pouvez structurer et ajouter ces informations :
Modification du Fichier bien-detail-update.php
Ajoutez les éléments suivants au fichier pour afficher des informations supplémentaires et des instructions pour l’utilisateur :
modifier la transaction #=$transactionID;?>
=$type;?> de = $bien;?>
Code CSS
Ajoutez le code CSS suivant dans votre fichier style.css pour styliser les nouvelles sections :
.invest p{
text-align: left;
margin-top: 0;
text-transform: capitalize;
margin-left: 15px;
font-style: italic;
padding-bottom: 4px;
border-bottom: 1px dashed #ccc;
}
.invest p a {
display: inline-block;
padding-top: 6px;
}
Résultat d’affichage :
Avec ces ajouts :
- La page affichera une image représentative du bien en haut.
- Un lien pour revenir à la page des détails du bien sera visible.
- Le formulaire de modification sera précédé d’un titre et d’une description, fournissant un contexte utile à l’utilisateur.
Cela améliore l’expérience utilisateur en fournissant des informations contextuelles et visuelles supplémentaires lors de la modification des transactions.
Adapter requête SQL modification
Pour mettre en place la requête SQL de modification, vous devez préparer une requête qui mettra à jour les détails de la transaction dans la base de données. Vous aurez besoin de récupérer les données soumises via le formulaire, valider ces données, puis exécuter une requête UPDATE pour mettre à jour les informations.
Étapes pour mettre en place la requête SQL de modification
Étape | Description |
---|---|
Récupérer les données du formulaire | Extraire les données envoyées par le formulaire de modification. |
Préparer la requête SQL | Utiliser une requête SQL UPDATE pour modifier les enregistrements dans la table transaction. |
Exécuter la requête SQL | Préparer et exécuter la requête SQL en utilisant PDO ou MySQLi. |
Rediriger ou afficher un message | Après la mise à jour, rediriger l’utilisateur ou afficher un message de succès. |
Tableau 1 : étapes pour mettre en place la requête SQL de modification
Code PHP pour bien-detail-update.php :
Voici le code complet pour gérer la mise à jour des détails d’une transaction avec gestion des types de biens spécifiques :
Modifier une transaction
prepare($sql);
$req->execute(array(':transactionID' => $_GET['transactionID']));
$data = $req->fetch(PDO::FETCH_ASSOC);
// Liste des variables
$bienID = $data['bienID'];
$bien = $data['bien'];
$image = $data['image'];
$typeID = $data['typeID'];
$type = $data['type'];
$transactionID = $data['transactionID'];
$quantite = $data['quantite'];
$pu = $data['pu'];
$montant = $data['montant'];
$dateTransaction = $data['dateTransaction'];
?>
= $bien; ?>
Modifier la transaction #= $transactionID; ?>
= $type; ?> de = $bien; ?>
prepare($sql);
$data = array(
'quantite' => $_POST['quantite'],
'pu' => $_POST['pu'],
'montant' => $_POST['quantite'] * $_POST['pu'], // Valeur par défaut
'dateTransaction' => $_POST['dateTransaction'],
'transactionID' => $_POST['transactionID']
);
if ($typeID == 3) {
$data['montant'] = $_POST['montant']; // Remplace la valeur par défaut
}
$req->execute($data);
echo "La transaction a été modifiée avec succès.";
}
?>
Résultat d’affichage :
- La page affichera les informations de la transaction avec un formulaire de modification adapté en fonction du type de bien.
- Un message de succès sera affiché après une mise à jour réussie, confirmant que les modifications ont été effectuées.
Sécuriser formulaire de modification
Pour protéger le formulaire de modification, vous devez mettre en place plusieurs mécanismes de sécurité afin de garantir l’intégrité et la sécurité des données soumises. Voici quelques pratiques recommandées pour sécuriser le formulaire :
Code PHP pour bien-detail-update.php :
Voici le code mis à jour avec les améliorations de sécurité :
Modifier une transaction
prepare($sql);
$req->execute(array(':transactionID' => $_GET['transactionID']));
$data = $req->fetch(PDO::FETCH_ASSOC);
// Liste des variables
$bienID = $data['bienID'];
$bien = $data['bien'];
$image = $data['image'];
$typeID = $data['typeID'];
$type = $data['type'];
$transactionID = $data['transactionID'];
$quantite = $data['quantite'];
$pu = $data['pu'];
$montant = $data['montant'];
$dateTransaction = $data['dateTransaction'];
?>
= $bien; ?>
Modifier la transaction #= $transactionID; ?>
= $type; ?> de = $bien; ?>
Modification annulée !';
} else {
$sql = 'UPDATE transaction SET
quantite = :quantite, pu = :pu, montant = :montant, dateTransaction = :dateTransaction
WHERE transactionID = :transactionID';
$req = $cnx->prepare($sql);
$data = array(
'quantite' => $_POST['quantite'],
'pu' => $_POST['pu'],
'montant' => $_POST['quantite'] * $_POST['pu'], // Valeur par défaut
'dateTransaction' => $_POST['dateTransaction'],
'transactionID' => $_POST['transactionID']
);
if ($typeID == 3) {
$data['montant'] = $_POST['montant']; // Remplace la valeur par défaut
}
}
$req->execute($data);
echo "La transaction a été modifiée avec succès.";
}
?>
Résultat d’affichage :
Pour visualiser le résultat d’affichage de la page de modification des transactions, voici à quoi cela pourrait ressembler en fonction des différentes situations :
Cas les champs sont vide
Formez-vous gratuitement avec Alphorm !
Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.
FAQ
Comment modifier une transaction en PHP ?
Comment sécuriser un formulaire de modification en PHP ?
Comment afficher un formulaire de modification en fonction du type de bien ?
Comment gérer les erreurs dans le code PHP ?
Quelles bonnes pratiques pour le code PHP sécurisé ?
Conclusion
En appliquant ces techniques, vous pouvez gérer efficacement les modifications de transactions en PHP tout en assurant la sécurité. Quels autres aspects de la sécurité PHP vous intéressent particulièrement ?