Unklare Fehlermeldung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Unklare Fehlermeldung

    Hallo allerseits,


    ich habe mir ein Skript erstellt das mir meine vhost Einträge aus der httpd-vhosts.conf ausliest und in eine Datenbank ausgibt.



    Diese Einträge sollen in weiterer Folge aufgelistet und um einige Infos ergänzt werden. Beim Aufruf des Programms zur Auflistung erhalte ich nach Einbau der Tabellenstruktur die folgende Fehlermeldung:




    Ich hoffe, dass mir jemand auf die Sprünge helfen kann, wo ich falsch abgebogen bin und den Fehler finden kann. Anbei das Skript und die entsprechende DB


    PHP-Code:
    <!DOCTYPE html>
    <html lang="de">
        <head>
            <meta charset="UTF-8">
            <title>Virtual Hosts</title>
            <link rel="stylesheet" href="css/style.css">
        </head>
        <body>

            <nav>
                <u>Virtual Hosts</u> |
                <a href="add.php">Eintragen</a> |
                <a href="update.php">Bearbeiten</a> |
                <a href="search.php">Suchen</a>
                <a href="all.php">Alle</a>
            </nav>

            <?php
                
    // Verbindung zur Datenbank aufbauen
                
    include "includes/j_conn.inc.php";

                
    // Definitionen einlesen
                
    include "includes/j_var.inc.php";

                
    // Anzahl der Datensätze (Nachrichten) pro Seite
                
    $DatensaetzeSeite 20;

                
    // Anzahl der Datensätze ermitteln
                
    $select $verbindung->query("SELECT `v_id` FROM `vhosts`");
                
    //var_dump($select);

                
    $AnzahlDatensaetze $select->rowcount();
                
    // Alternativ geht hier auch: $AnzahlDatensaetze = count($select);
                
    var_dump($AnzahlDatensaetze);
                
    // Sind Datensätze vorhanden?
                
    if ($AnzahlDatensaetze 0) {

                    
    // Die Anzahl der Seiten ermitteln
                    
    $AnzahlSeiten ceil($AnzahlDatensaetze $DatensaetzeSeite);

                    
    // Die aktuelle Seite ermitteln
                    
    $AktuelleSeite = isset($_GET["seite"]) ? $_GET["seite"] : 1;

                    
    // Den über $_GET["seite"] gesendeten Wert überprüfen und ggf. ändern
                    
    $AktuelleSeite ctype_digit($AktuelleSeite) ? abs((int)$AktuelleSeite) : 1;
                    
    $AktuelleSeite $AktuelleSeite || $AktuelleSeite $AnzahlSeiten $AktuelleSeite;

                    
    // Den Versatz ermitteln
                    
    $Versatz $AktuelleSeite $DatensaetzeSeite $DatensaetzeSeite;
     
                    
    // Alle Datensätze auslesen 
                    // Mit LIMIT die Ausgabe der Datensätze begrenzen (Versatz und Datensätze pro Seite).
                    
    $select $verbindung->query("SELECT `v_info`, `v_root`, `v_server`, `v_alias`, `v_icon_title`, `v_icon_path`, `v_create`, `v_change`, `v_dev` 
                                                FROM `vhosts`
                                   ORDER BY `v_info` DESC
                                   LIMIT "  
    $Versatz ", " $DatensaetzeSeite);
                    
    $vhosts $select->fetchAll(PDO::FETCH_OBJ);

                   
    ?>
                   <table border="1" cellspacing="0" cellpadding="5"> 
                      <thead>  
                         <tr>  
                            <th>Icon</th>
                            <th>Beschreibung</th>  
                            <th>DocRoot</th>  
                            <th>Server</th>  
                            <th>Alias</th>  
                            <th>Status</th>
                         </tr>  
                      </thead>
                   <?php

                      
    // Ausgabe über eine Foreach-Schleife
                      
    foreach ($vhosts as $vhost) {
                         
    // Mit sscanf() wird das Format des Datums v_create in die Variablen $vjahr, $vmonat und $vtag extrahiert.
                         
    sscanf($vhost->v_create"%4s-%2s-%2s"$vjahr$vmonat$vtag);
                         
    // Mit sscanf() wird das Format des Datums v_chamge in die Variablen $tjahr, $tmonat und $ttag extrahiert.
                         
    sscanf($vhost->v_change"%4s-%2s-%2s"$tjahr$tmonat$ttag);
                      
    ?>
                         <tr>
                            <td align="center"><img src="<?php echo $vhost->v_icon_path;?>" alt="<?php echo $vhost->v_icon_title;?>"/></td>
                            <td align="left"><?php echo $vhost->v_info?></td>
                            <td align="left"><?php echo $vhost->v_root?></td>
                            <td align="left"><?php echo $vhost->v_server?></td>
                            <td align="left"><?php echo $vhost->v_alias?></td>
                         <?php
                         
    // Ausgabe der gespeicherten Daten
                         
    if ($vhost->v_dev == 0) {?>
                            <td align="center"><img src="/images/icons/rot_32.png" alt="offen"/></td>
                         <?php}
                         if ($vhost->v_dev == 1) {?>
                            <td align="center"><img src="/images/icons/gelb_32.png" alt="in Arbeit"/></td>
                         <?php}
                         if ($vhost->v_dev == 2) {?>
                            <td align="center"><img src="/images/icons/gruen_32.png" alt="fertig"/></td>
                         <?php}
                      } ?>
                   </table>
                <?php
                    
    // Formular.- und Blätterfunktion (Wer sich da auskennt bekommt einen Preis verliehen ;)
                    
    echo '<form action="read.php" method="GET" autocomplete="off">' 
                        ((
    $AktuelleSeite 1) > ?
                        
    '<a href="?seite=' . ($AktuelleSeite 1) . '">◀</a>' :
                        
    ' ◀') .
                        
    ' <label>Seite <input type="text" value="' $AktuelleSeite '" name="seite" size="3"' .
                        
    ' title="Seitenzahl eingeben und die Eingabetaste drücken."> von ' $AnzahlSeiten '</label>' .
                        ((
    $AktuelleSeite 1) <= $AnzahlSeiten ?
                        
    ' <a href="?seite=' . ($AktuelleSeite 1) . '">▶</a>' :
                        
    ' ▶') .
                    
    '</form>';
                }
                else {
                    echo 
    '<p>Keine Einträge vorhanden!</p>';
                }

                
    // Die benutzte Verbindung ($verbindung) zu der MySQL-Datenbank,
                // wird nach dem Script-Ende automatisch geschlossen.
            
    ?>

        </body>
    </html>
    </div>Die Dreiecke sind eigentlich Hexwerte für die Pfeile zum Blättern (◀ und ▶)



    und hier wie gesagt das SQL-Statement für die DB.

    Die Verbindung zur DB kommt zustande und ich konnte vor dem Bau der Tabellenstruktur den Datensatz auch ausgeben.
    Code:
    -- phpMyAdmin SQL Dump
    -- version 4.8.3
    -- https://www.phpmyadmin.net/
    --
    -- Host: 127.0.0.1:3306
    -- Erstellungszeit: 29. Nov 2018 um 08:40
    -- Server-Version: 10.3.9-MariaDB
    -- PHP-Version: 7.1.22
    
    SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
    SET AUTOCOMMIT = 0;
    START TRANSACTION;
    SET time_zone = "+00:00";
    
    
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8mb4 */;
    
    --
    -- Datenbank: `tst_vhosts`
    --
    
    -- --------------------------------------------------------
    
    --
    -- Tabellenstruktur für Tabelle `vhosts`
    --
    
    DROP TABLE IF EXISTS `vhosts`;
    CREATE TABLE IF NOT EXISTS `vhosts` (
      `v_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
      `v_info` char(255) DEFAULT NULL,
      `v_root` char(255) DEFAULT NULL,
      `v_server` char(255) DEFAULT NULL,
      `v_alias` char(255) DEFAULT NULL,  
      `v_icon_title` char(255) DEFAULT NULL,
      `v_icon_path` char(255) DEFAULT NULL,
      `v_create` date DEFAULT NULL,
      `v_change` date DEFAULT NULL,  
      `v_dev` tinyint(1) DEFAULT NULL COMMENT '0 = rot, 1 = gelb, 2 = grün',
      PRIMARY KEY (`v_id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=70 DEFAULT CHARSET=utf8;
    
    --
    -- Daten für Tabelle `vhosts`
    --
    
    INSERT INTO `vhosts` (`v_id`, `v_info`, `v_root`, `v_server`, `v_alias`, `v_icon_title`, `v_icon_path`, `v_create`, `v_change`, `v_dev`) VALUES
    (1, 'Adventuretours (Beispiel Reieseveranstalter)', '"G:/webdev/websites/adventuretours/www"', 'www.adventuretours.loc ', 'adventuretours.loc', 'Adventuretours','images/icons/adventuretours_64_40.png','2018-11-29', NULL, 0);
    COMMIT;
    
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
    Ich bendanke mich schon jetzt für eure Hilfe.
    MFG
    Franz-Georg
    Zuletzt geändert von neufra; 29.11.2018, 16:44.

  • #2
    Verwende einen ordentlichen Editor wie zum Beispiel Visual Studio Code, dann wird die fehlerhafte Stelle rot markiert dargestellt.

    Sowas ist nichts, mit dem man ein Forum beschäftigen müsste.

    Kommentar


    • #3
      Zitat von h3ll Beitrag anzeigen
      Verwende einen ordentlichen Editor wie zum Beispiel Visual Studio Code, dann wird die fehlerhafte Stelle rot markiert dargestellt.

      Sowas ist nichts, mit dem man ein Forum beschäftigen müsste.

      Na dann sage ich mal danke und werde mich aus diesem Forum verabschieden. Es ist schon etwas überheblich einem zu sagen man soll Visual Studio Code verwenden.


      In so einem Fall verzichte ich gerne auf nichtssagende und herablassende Antworten.


      Danke

      Kommentar


      • #4
        Zitat von neufra Beitrag anzeigen
        Na dann sage ich mal danke und werde mich aus diesem Forum verabschieden. Es ist schon etwas überheblich einem zu sagen man soll Visual Studio Code verwenden.
        Was ist daran überheblich? Du versuchst einen Nagel mit einer Banane in die Wand zu schlagen und ich sage dir, nimm doch einen Hammer. Wenn du absichtlich das falsche Werkzeug nehmen willst, dann noch viel Spaß damit. Aber dann ist das halt dein persönlich ausgesuchtes Vergnügen.

        Kommentar

        Lädt...
        X