Erreurs ambiguës dans code PHP

Résolu
jh_kd Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   -  
jh_kd Messages postés 41 Date d'inscription   Statut Membre Dernière intervention   -

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 1599 Date d'inscription   Statut Membre Dernière intervention   36
 

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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

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   Statut Membre Dernière intervention  
 

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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 

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   Statut Membre Dernière intervention  
 

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