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
Réponse acceptée

oui, en revanche utiliser plutôt "is_numeric"

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
Auteur

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;
}

}
Serg77
Auteur

D'accord, merci