Page 1 sur 1

Code fonctionne sur une page pas sur une autre

Posté : 21 févr. 2021, 23:29
par Ti-enez
Bonjour,
Je ne comprend pas pourquoi le même code dans le même projet fonctionne sur ma page ville.php et pose problème sur ma page edition.php :
<?php
// 1. récupération de la variable externe
$id = $_GET['id'];
// 3. requête
// concaténation de la requête avec la variable $id
$result = $mysqli->query('SELECT ville_id, ville_nom, ville_texte
FROM villes WHERE ville_id = ' . $id );
// 4. création du nouvel array
$row = $result->fetch_array();
// 5. Affichage
$nom = $row['ville_nom'];
$texte = $row['ville_texte'];
?>
C'est le même code sur les deux pages, j'ai fait un copié-collé.
Avec la page edition.php j'ai trois messages d'erreur:
1 - Notice: Undefined index: id in C:\wamp64\www\villes\edition.php on line 43
2 - Fatal error: Uncaught Error: Call to a member function fetch_array() on bool in C:\wamp64\www\villes\edition.php on line 49
3 - Error: Call to a member function fetch_array() on bool in C:\wamp64\www\villes\edition.php on line 49

Re: Code fonctionne sur une page pas sur une autre

Posté : 21 févr. 2021, 23:42
par or 1
$id = $_GET['id'];
Notice: Undefined index: id in C:\wamp64\www\villes\edition.php on line 43
quelle est l'url de la page quand cela fonctionne ?
quelle est l'url de la page quand cela ne fonctionne pas ?

Re: Code fonctionne sur une page pas sur une autre

Posté : 22 févr. 2021, 11:02
par Ryle
Salutations !

Pour compléter la réponse d'or1, "undefined index" signifie que tu tentes d'accéder à la valeur d'un tableau alors que son index n'existe pas. Dans ton cas, cela signifie que pour la seconde page, il n'y a pas d'index 'id' dans ta variable $_GET. Cette variable correspondant aux informations transmises dans l'url de la page, cela signifie que lorsque tu appelles la seconde page, tu n'indiques pas de paramètre "id" dans l'url. Php ne peut donc pas la traiter :)

Ps : c'est normal qu'il n'y ait pas d'étape 2 entre la 1 et la 3 ? ;)