Erreurs ambiguës dans code PHP

Résolu
jh_kd Messages postés 41 Date d'inscription lundi 11 janvier 2021 Statut Membre Dernière intervention 2 mars 2024 - Modifié le 29 févr. 2024 à 11:27
jh_kd Messages postés 41 Date d'inscription lundi 11 janvier 2021 Statut Membre Dernière intervention 2 mars 2024 - 2 mars 2024 à 12:18

Bonjour le forum,

Je ne suis pas un expert en PHP, donc j'ai besoin d'aide pour la finalisation d'un code.
Cela sera simple c'est sûr.

Voilà j'ai une page avec, en css, un menu gauche.
Lorsque l'on clique sur un des liens de gauche cela fait apparaître du contenu au centre, variable, avec la base de données.
Si je fais apparaître la page initiale avant tout clic, il y a des erreurs
MAIS si je n'en tiens pas compte et que je clique sur un des liens les erreurs disparaissent et la page s'affiche correctement.
C'est un mystère pour moi. Et les erreurs sont de type banal (Undefined offset).

Dans le concret, voici du code extrait de la page:

<?php
error_reporting(E_ALL);
    require ("passe/aaaz-connect-KD-alternate.php");
    try {
        $connexion = new PDO('mysql:host=' . $PARAM_hote . ';dbname=' . $PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe, array(
    PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
    } catch (Exception $e) {
        echo 'Erreur : ' . $e->getMessage() . '<br />';
        echo 'N° : ' . $e->getCode();
    }
    //
    $requete = $connexion->prepare("SELECT ... etc, ce n'est pas un souci de requête
    //
    $requete->bindParam(':id', $_GET["Rk_Hist"], PDO::PARAM_INT);
    $requete->execute();

    $result = $requete->fetchAll();

    
    echo '<div id="center">';
    
    $Reversed_name = null;
        include 'aa-encyclopedia-text.txt';
    
    echo '<p> </p><p>Reversed name (cf. legends and abbreviations in <a href="aa-header-frametaxon.php">MODEL</a>): <b>' . $result[0]["Reversed_name"] . '</b></p>';
    echo 'Major revision edition update: '. $result[0]["Major_edition_update"] . '</b></p>';
    echo 'Latest data: '. $result[0]["Corr_Date"] . '</b></p>';
    echo '<h1 align="center" style="text-transform:uppercase"><em>' . $result[0]["Current_trinom_name"] . '</em></h1>';
 ?>

 Dans l'affichage de la page initiale, les erreurs sont:
 Notice: Undefined offset: 0 in D:\wamp64\www\URL\test.php on line 132 (aussi pour 133, 134, 135)
 Et ces 4 lignes de codes sont les 5 dernières lignes ci-dessus.
 Dans l'affichage de chaque page après clic sur lien, tout baigne.

PS: désolé, je ne sais plus quoi mettre pour visualiser du code sur le forum, j'ai chercher sur Internet et sur ce site mais je ne trouve plus, alors j'ai mis <code php>
Modération : il faut utiliser l'icone code <> à coté de l'icone image sur l'éditeur de message


 
 Merci de votre aide!

Cordialement,
 
 JeanWindows / Opera 107.0.0.0

A voir également:

4 réponses

mariam-j Messages postés 1390 Date d'inscription mercredi 9 mars 2022 Statut Membre Dernière intervention 16 décembre 2024 15
29 févr. 2024 à 11:25

Bonjour,

Pour poster du code, c'est le dernier icône à droite dans le bandeau supérieur de ta fenêtre d'édition.

0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
29 févr. 2024 à 11:28
0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
Modifié le 29 févr. 2024 à 13:23

Un début de correction possible :

$result = [];
$Rk_Hist = !empty($_GET['Rk_Hist']) ? $_GET['Rk_Hist'] : NULL;

if($Rk_Hist){

  $requete = $connexion->prepare("SELECT ... etc, ce n'est pas un souci de requête");
  $requete->bindParam(':id', $Rk_Hist, PDO::PARAM_INT);
  $requete->execute();
  $result = $requete->fetchAll();
}


if(!empty($result)){
  echo '<div id="center">';
    
    $Reversed_name = null;
        include 'aa-encyclopedia-text.txt';
    
    echo '<p> </p><p>Reversed name (cf. legends and abbreviations in <a href="aa-header-frametaxon.php">MODEL</a>): <b>' . $result[0]["Reversed_name"] . '</b></p>';
    echo 'Major revision edition update: '. $result[0]["Major_edition_update"] . '</b></p>';
    echo 'Latest data: '. $result[0]["Corr_Date"] . '</b></p>';
    echo '<h1 align="center" style="text-transform:uppercase"><em>' . $result[0]["Current_trinom_name"] . '</em></h1>';

}
0
jh_kd Messages postés 41 Date d'inscription lundi 11 janvier 2021 Statut Membre Dernière intervention 2 mars 2024
29 févr. 2024 à 14:25

Bonjour, merci Jordane 45,

Sur le plan pratique si j'ai bien compris, le code devient:

    echo '<div id="center">';
    $Reversed_name = isset($_POST['Reversed_name']) ? $_POST['Reversed_name'] : NULL;
    $Reversed_name = !empty($_POST['Reversed_name']) ? $_POST['Reversed_name'] : NULL;    
    $Reversed_name = null;
        include 'aa-encyclopedia-text.txt';
    
    echo '<p>&nbsp;</p><p>Reversed name (cf. legends and abbreviations in <a href="aa-header-frametaxon.php">MODEL</a>): <b>' . $result[0]["Reversed_name"] . '</b></p>';

Dans ce cas, la page initiale comporte les mêmes erreurs et quand je clique sur un lien il n'y a plus rien sauf

Not Found

The requested URL was not found on this server.

Donc rien qui me permet de progresser, désolé

Pour l'affichage du code, j'ai appliqué... OK

Cordialement, Jean

0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
29 févr. 2024 à 16:45

Ce n'est pas avec des bouts de lignes qu'on va pouvoir réellement avancer.

Merci de poster le code COMPLET de la page concernée.

Et avant ...  va lire ( et applique) ceci :

https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code

0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717 > jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024
1 mars 2024 à 14:10

Au passage .. tu as utilisé la variable $_POST .......   mais toi .. tu transmets tes variables via l'url non ?  ... donc avec la variable $_GET !

0
jh_kd Messages postés 41 Date d'inscription lundi 11 janvier 2021 Statut Membre Dernière intervention 2 mars 2024
2 mars 2024 à 12:18

Merci Jordane45... tu m'as donné la piste et j'ai fini par corriger l'erreur... bon pour moi c'est toujours le manque d'un point de vue extérieur qui me tue car coder n'est pas naturel (pour moi mais en tâtonnant j'y arrive)... bon avec l'IA tout sera tellement plus facile et plus rien à faire, l'Eden quoi (humour)... encore merci, cdlt, JH

0