Problème vérification id

Par Serg77, il y a 10 ans


Bonjour,
Voilà j'ai fais une function de vérification pour savoir si un id de publication existe bien, elle fonctionne à moitier, je m'explique sur j'entre signalerpubli.php?id=6 = OK (elle existe dans la bdd)
signalerpubli.php?id=dqsdq = NON
signalerpubli.php?id= NON

Mais si je fais signalerpubli.php?id=6dqsdqsdqsd il m'ajoute OK

C'est bizarre, je fais comment pour empécher une catastrophe de se genre :

function verification_publisignalementid() { global $bdd; $query = $bdd->prepare("SELECT id FROM publication_membre WHERE id = :getid"); $query->execute(array('getid' => $_GET['id'])); return $query->fetchColumn() != 0; } <?php $verification_publisignalement = verification_publisignalementid($_GET['id']); if($verification_publisignalement == true) { ?> <div class="signalertitre"><a href="signaler.php">Signaler</a></div> <hr> <?php } else { echo "erreru"; } ?>

4 réponses

Carouge10, il y a 10 ans

Bonjour,
Avant de faire la vérification dans la base, il serait préférable de tester que l'id passé soit bien un int

Serg77, il y a 10 ans

Bonjour,
comme ça ? mais il me retourne tout le temps faux.

function verification_publisignalementid() { global $bdd; $id = $_GET['id']; if(is_int($id)) { $query = $bdd->prepare("SELECT id FROM publication_membre WHERE id = :getid"); $query->execute(array('getid' => $_GET['id'])); return $query->fetchColumn() != 0; } }
Carouge10, il y a 10 ans

oui, en revanche utiliser plutôt "is_numeric"

Serg77, il y a 10 ans

D'accord, merci