Le but de de mon "bidouillage", est de faire en sorte de comparer deux chaînes de caractères, mais dans un contexte bien précis.
L'utilisateur rentre le nom du lien qu'il souhaite voir supprimé d'un site internet. Pour vérifier que le lien rentré dans le champ correspond bien à un des liens qui existe dans la base de données, j'effectue une requête pour extraire la colonne de la table en question, puis je passe en revue les données ligne par ligne. Ensuite, je compare la donnée entrée par l'utilisateur avec chacune des lignes, ce qui donne :
if($_POST['nom_lien1_supp']===$lien1) Je souhaiterai savoir si cette façon de faire est bonne, voire "conventionnelle" (en tout cas de mon côté, ça fonctionne), ou si ma façon de coder est maladroite.
Je mets ici le code en entier pour qu'il n'y ait pas de confusion :
include 'connexion_bdd.php';
$requete = $bdd->query('SELECT nom_lien_1 FROM la_renaissance_liens_1');
While($ligne = $requete->fetch())
{
$lien1 = $ligne['nom_lien_1'];
}
$requete->closeCursor();
if(isset($_POST['nom_lien1_supp']) && !empty($_POST['nom_lien1_supp']) ){
if($_POST['nom_lien1_supp']===$lien1){
?>
<article>
<form action="javaTest2.php" method="POST" name="formulaire">
<p>SUPPRESSION DE LIENS</p>
<aside>
<p>SITES GENERALISTES</p>
<table>
<p>Voulez-vous vraiment supprimer le lien "<?php echo $_POST['nom_lien1_supp'] ?>" ?</p>
</td><td><input type="hidden" name="nom_lien1_supp" id="nom" value="<?php echo $_POST['nom_lien1_supp'] ?>" required/></td></tr>
<tr><td><input type="submit" value="Supprimer" /></td></tr>
<tr><td><a href="javaTest_form.html">
<p><-Ne pas supprimer et retourner au formulaire</p>
</a></td></tr>
</table>
</aside>
</form>
</article>
<?php
}
else
{
?>
<script>
alert('Le lien n\'existe pas');
document.location.replace('javaTest_form.html');
</script>
<?php
}
}
Merci !