Bonsoir.
@Balsakup: Tu te trompe, ce n'est pas $query->prepare mais $pdo->prepare. :P
Par contre ali13, pour les données postées, tu vérifies pour nom et prenom, jusque là pas de problème, par contre dans la méthode execute tu utilise id sur la variable _POST, sauf que cet index n'existe pas dans le tableau de la variable, je pense que tu voulais utiliser la variable _GET, sauf que tu t'es loupé.
Au passage, tu devrais vérifier que le paramètre id est bien présent et non vide dans l'url, car tout ton script en dépend, penses donc à faire cette vérification en premier avant tout autre code, de plus que tu devrais vérifier si un enregistrement coorrespond bien dans la table de la base de données et faire une redirection dans le cas contraire.
Donc, ton code devrait se présenter comme ceci :
- Tu vérifies que le paramètre existe bien dans l'url (cas contraire, redirection)
- Tu vérifies sa valeur (qu'elle ne soit donc pas vide)
- Tu vérifies si un enregistrement correspond bien
- Si aucune correspondance trouvée, tu rediriges l'utilisateur
- Dans le cas contraire, tu continues le reste du traitement
Pour les points 1 et 2, tu peux le faire en une seule fois (avec empty).
En code, ça pourrait donner ça :
if (empty($_GET['id'])) {
header("Location: ...");
}
/** Connexion à la BDD **/
$req = $pdo->prepare('SELECT * FROM agents WHERE id = :id');
$req->execute(['id' => $_GET['id']]);
$agent = $req->fetch();
if (!$agent) {
header("Location: ...");
}
/** Suite du script **/
Exemple simplifié bien sûr.