Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Errore "Undefined variable" script php

    Salve, premetto che sono abbastanza ignorante in materia di php.
    Non riesco a capire perchè in questo script se lo faccio partire da localhost mi da il seguente errore:
    Notice: Undefined variable: book_details in C:\Program Files\xampp\htdocs\bookSite-no-login\books-view.php on line 55

    è un semplice codice per visualizzare la lista dei libri disponibili.
    Vi lascio il codice:

    Codice PHP:
     <html>



    <head>

    <title>Book list</title>

    </head>



    <body>



    <!--

    questo script visulazzizza tutti i dati della tabella "book", collocandoli in una tabella html

    -->



    <?php



    include "books-dbconnect.php"



    // raccoglie tutte le righe

    $query "SELECT * FROM book ORDER BY title";



    $result mysql_query($query$link)

      or die(
    mysql_error());



    // conta il numero totale di libri disponibili

    $num_books mysql_num_rows($result);



    // prepara l'intestazione della tabella e la scrive nella variabile $book_header (metodo EOD)

    $book_header=<<<EOD

      <table width="70%" border="1" cellpadding="2" cellspacing="2">

        <tr>

          <th>isbn</th>

          <th>title</th>

          <th>author</th>

          <th>type</th>

          <th>year</th>

        </tr>

    EOD;



    // legge tutte le righe e le accoda nella variabile $books_details (METODO .=<<<EOD)

    while ($row mysql_fetch_array($result)) {

      
    $isbn $row['isbn'];

      
    $title $row['title'];

      
    $author $row['author'];

      
    $type $row['type'];

      
    $year $row['year'];



    // .= accoda tutte le righe

    $book_details .=<<<EOD

      <tr>

        <td>
    $isbn</td>

        <td>
    $title</td>

        <td>
    $author</td>

        <td>
    $type</td>

        <td>
    $year</td>

      </tr>

    EOD;

    }



    // definisce il tag di chiusura

    $book_footer ="</table>";





    // stampa la tabella impaginata

    $book =<<<EOD

                   
    $book_header

                   
    $book_details

                   
    $book_footer

    EOD;



    //notifica il numero di libri disponibili

      
    echo "
    <h1>There are 
    $num_books books available in our database:</h1>
    "
    ;

      echo 
    $book;

      

    mysql_close($link);

    ?>









    <?php include "choose-operations.php";?>



    </body>

    </html>
    grazie

  2. #2
    Come sistemo il codice? si vede su un'unica riga

  3. #3
    Utente di HTML.it L'avatar di LuckySevenRoX
    Registrato dal
    Sep 2011
    residenza
    Foligno
    Messaggi
    361
    a occhio direi perchè la prima operazioni che effettui su $book_details è una concatenazione (ovvero .=), ma la prima volta che effettui la concatenazione la variabile non esiste ancora per questo ti da quel messaggio.

    Direi che inserendo prima della concatenazione (fuori dal while) un
    codice:
    $book_details = '';
    il problema dovrebbe risolversi
    Ti rivedrò in un'altra vita…quando saremo tutti e due gatti...

  4. #4
    Ciao, si perfetto ora va bene! Io avevo fatto la stessa cosa ma usando i doppi apici, ecco perchè non andava.
    Grazie mille !!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.