Webseite, Funktioniert -> Lokal, auf blaced aber nicht beim eigenen Webspace?

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

  • Webseite, Funktioniert -> Lokal, auf blaced aber nicht beim eigenen Webspace?

    Hallo Liebe Community,

    Vorab, ich habe schon mehrere Seiten erstellt auch mit Datenbank Anbindungen.

    Folgendes Problemchen ich habe eine Seite mit Tabellen im Bootstrap Style (CRUD)
    Lokal funktioniert die Seite einwandfrei, sowie auf dem FreeHoster bplaced.net, nur auf meinem Webspace wird die Seite ohne den Tabellen angezeigt?

    DBConnect Daten habe ich Zwei xy-mal überprüft, sowie den Bezug im Script * from .... sowie die Tabellen in der DB.
    Habe auch extra auf die Schreibweisen geachtet, aber ich komme nicht an Ziel :'(

    Auf beiden läuft MySQL, PHP 8.0....

    Zu den Seiten...

    blaced wo es Funktioniert : Link

    Mein Webspace (Testseite) wo es Funktionieren soll : Link

    Ich würde mich freuen wenn mir jemand helfen könnte

    Danke schonmal
    Grüssle
    Sky-Kay
    i use VSC Wampserver64 HeidiSQL

  • #2
    Mit diesen Infos kann man so gut wie nichts anfangen. Ohne das entsprechende Script zu kennen, wird dir niemand helfen können. Und: hast du das Error-Reporting im Script hochgedreht? Also die Zeilen am Anfang:
    PHP-Code:
    <?php
    error_reporting
    (E_ALL);
    ini_set('display_errors'true);

    Kommentar


    • #3
      scatello, danke erstmal ^^ manchmal sieht man den Wald vor lauter Bäume nicht. Hab mal....

      Code:
      <?php
         error_reporting(E_ALL);
         ini_set('display_errors', true);
         session_start();
      ?>​
      eingefügt. und siehe da ein paar Fehler.

      ..EDIT..

      aber ich verstehe nicht warum es auf dem einen Space und Lokal Funktioniert, und auf dem anderen Space nicht????
      Zuletzt geändert von Sky-Kay; 22.10.2023, 19:11.

      Kommentar


      • #4
        Zitat von Sky-Kay Beitrag anzeigen
        aber ich verstehe nicht warum
        Ich auch nicht, zumindest solange, bis du uns die Fehlermeldungen und den Quellcode zeigst. Hellseher haben wir hier nämlich nicht.

        Kommentar


        • #5
          Moin, musste gestern los und habe denn Quellcode vergessen einzustellen
          aber da isser

          Code:
          <?php
             error_reporting(E_ALL);
             ini_set('display_errors', true);
             session_start();
          ?>
          <?php
             include_once $_SERVER["DOCUMENT_ROOT"].'/App/autoloader.php';
          ?>
          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <meta http-equiv="X-UA-Compatible" content="IE=edge">
              <meta name="viewport" content="width=device-width, initial-scale=1.0">
              <title>Test-Tab-2-CRUD</title>
          
              <!-- Bootstrap 5 CSS -->
              <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          
              <!-- font-awesome -->
              <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
          
          </head>
          <body class="bg-primary">
              <!-- Navbar -->
            <nav class="navbar navbar-expand-lg navbar-dark bg-secondary">
              <div class="container">
                <a class="navbar-brand" href="index.php">Navbar</a>
                <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
                  <span class="navbar-toggler-icon"></span>
                </button>
                <div class="collapse navbar-collapse" id="navbarNav">
                  <ul class="navbar-nav">
                    <li class="nav-item">
                      <a class="nav-link" aria-current="page" href="site_user.php">User</a>
                    </li>
                    <li class="nav-item">
                      <a class="nav-link" href="site_product.php">Products</a>
                    </li>
                    <li class="nav-item">
                      <a class="nav-link" href="site_beides.php">Beides</a>
                    </li>
                  </ul>
                </div>
              </div>
            </nav>
            <div class="container">
          
          
          ​
          Fehlermeldungen Online

          Code:
          [B]Warning[/B]: include_once(/var/www/vhosts/de-kay.de/test.de-kay.de/App/autoloader.php): Failed to open stream: No such file or directory in [B]/var/www/vhosts/de-kay.de/test.de-kay.de/phpcrud/head.php[/B] on line [B]7[/B]
          
          [B]Warning[/B]: include_once(): Failed opening '/var/www/vhosts/de-kay.de/test.de-kay.de/App/autoloader.php' for inclusion (include_path='.:/opt/plesk/php/8.0/share/pear') in [B]/var/www/vhosts/de-kay.de/test.de-kay.de/phpcrud/head.php[/B] on line [B]7[/B]​
          Zuletzt geändert von Sky-Kay; 23.10.2023, 09:52.

          Kommentar


          • #6
            Och Menno!!!! Was soll man damit jetzt anfangen? Immer noch keine Fehlermeldung und kein Quellcode, der in der Fehlermeldung genannt wird.

            Kommentar


            • #7
              Zitat von Sky-Kay Beitrag anzeigen
              Moin, musste gestern los und habe denn Quellcode vergessen einzustellen
              aber da isser

              Code:
              <?php
              error_reporting(E_ALL);
              ini_set('display_errors', true);
              session_start();
              ?>
              <?php
              include_once $_SERVER["DOCUMENT_ROOT"].'/App/autoloader.php';
              ?>
              <!DOCTYPE html>
              <html lang="en">
              <head>
              <meta charset="UTF-8">
              <meta http-equiv="X-UA-Compatible" content="IE=edge">
              <meta name="viewport" content="width=device-width, initial-scale=1.0">
              <title>Test-Tab-2-CRUD</title>
              
              <!-- Bootstrap 5 CSS -->
              <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
              
              <!-- font-awesome -->
              <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
              
              </head>
              <body class="bg-primary">
              <!-- Navbar -->
              <nav class="navbar navbar-expand-lg navbar-dark bg-secondary">
              <div class="container">
              <a class="navbar-brand" href="index.php">Navbar</a>
              <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
              <span class="navbar-toggler-icon"></span>
              </button>
              <div class="collapse navbar-collapse" id="navbarNav">
              <ul class="navbar-nav">
              <li class="nav-item">
              <a class="nav-link" aria-current="page" href="site_user.php">User</a>
              </li>
              <li class="nav-item">
              <a class="nav-link" href="site_product.php">Products</a>
              </li>
              <li class="nav-item">
              <a class="nav-link" href="site_beides.php">Beides</a>
              </li>
              </ul>
              </div>
              </div>
              </nav>
              <div class="container">
              
              
              ​
              Fehlermeldungen Online

              Code:
              [B]Warning[/B]: include_once(/var/www/vhosts/de-kay.de/test.de-kay.de/App/autoloader.php): Failed to open stream: No such file or directory in [B]/var/www/vhosts/de-kay.de/test.de-kay.de/phpcrud/head.php[/B] on line [B]7[/B]
              
              [B]Warning[/B]: include_once(): Failed opening '/var/www/vhosts/de-kay.de/test.de-kay.de/App/autoloader.php' for inclusion (include_path='.:/opt/plesk/php/8.0/share/pear') in [B]/var/www/vhosts/de-kay.de/test.de-kay.de/phpcrud/head.php[/B] on line [B]7[/B]​
              Verstehe ich nicht? Oben ist doch der Quellcode von der head.php wo der Fehler sein soll, darunter ist die Fehlermeldung?

              Was ich noch anbieten kann ist, das komplette script (mehrere Seite) als WinRAR zum Download --> klick hier

              Oder ich Poste jede Seite mit den Skripts einzeln.. dauert aber ein bisschen

              Ich weiß nicht welche Anforderungen gesetzt sind um ein Bild Hochzuladen? hier mal ein Link zum Bild --> http://test.de-kay.de/phpcrud/test.de-kay.de.jpg
              Zuletzt geändert von Sky-Kay; 23.10.2023, 17:35.

              Kommentar


              • #8
                Failed to open stream: No such file or directory
                Das sagt doch alles aus, die Datei App/autoloader.php wird nicht gefunden. Datei wirklich vorhanden? Groß/Keinschreibung korrekt?

                Kommentar


                • #9
                  Aber genau das ist doch das Problem, das es kein Tippfehler wegen Groß/Kleinschreibung sein kann

                  Lokal Funktioniert alles, dann hab ich alles auf meinen Webspace Uploadet, Datenbank und Tabellen schon angelegt (db_connect verbindungen unterschiedlich). Und dann hab ich die Fehlermeldungen gesehen.
                  Script mehrmals durchgeschaut, auch mit Haltepunkte und Debug.

                  Dann hab ich alles auf bplaced Upgeloadet, selbes procedere, mit DB und Tabellen angelegt.
                  Und da wird alles Fehlerfrei angezeigt, ich kann Daten erfassen, Updaten, Löschen.

                  Wenn das Selbe Script auf dem einen Webhoster läuft und auf dem anderen nicht dann weiß ich nicht weiter

                  Kommentar


                  • #10
                    Das Problem liegt ja hier:

                    PHP-Code:
                    include_once $_SERVER["DOCUMENT_ROOT"].'/App/autoloader.php'
                    Wenn es das Verzeichnis App und die Datei autoloader.php gibt, Groß/Kleinschreibung richtig ist, dann kann es ja nur noch an $_SERVER["DOCUMENT_ROOT"] liegen. Erstelle mal dieses kleine Script:
                    PHP-Code:
                    <?php
                       phpinfo
                    ();
                    ?>
                    und kopiere es auf den Server ins gleiche Verzeichnis. Dann rufst du es im Browser auf und vergleichst alle Pfade, die du in der Ausgabe findest.

                    Kommentar


                    • #11
                      ich komme dem Ziel näher ^^ nur hänge ich bei fast jeden klick....

                      PHP-Code:
                      Fatal errorUncaught PDOExceptionSQLSTATE[22007]: Invalid datetime format1366 Incorrect integer value'Hallo' for column `mydb`.`users`.`first_nameat row 1 in /var/www/vhosts/de-kay.de/test.de-kay.de/phpcrud/App/classes/user_mvc_class/Model.class.php:34 Stack trace#0 /var/www/vhosts/de-kay.de/test.de-kay.de/phpcrud/App/classes/user_mvc_class/Model.class.php(34): PDOStatement->execute() #1 /var/www/vhosts/de-kay.de/test.de-kay.de/phpcrud/App/classes/user_mvc_class/Control.class.php(11): App\classes\user_mvc_class\Model->save() #2 /var/www/vhosts/de-kay.de/test.de-kay.de/phpcrud/site_user.php(11): App\classes\user_mvc_class\Control->__construct() #3 {main} thrown in /var/www/vhosts/de-kay.de/test.de-kay.de/phpcrud/App/classes/user_mvc_class/Model.class.php on line 34​ 

                      Kommentar


                      • #12
                        Da scheinen deine Datenbank-Tabellen ja nicht zu passen. Die DB erwartet an einer Stelle ein datetime, bekommt aber ein 1366 was definitiv kein datetime, sondern z.B. ein integer ist. An anderer Stelle erwartet sie einen solchen integer Wert, bekommt aber ein "Hallo", was tatsächlich ja ein CHAR / VARCHAR wäre.

                        Deine Datenbanktabellen passen nicht zu deinem Datenmodell.

                        Kommentar


                        • #13
                          Was soll man damit jetzt anfangen? Immer noch keine Fehlermeldung und kein Quellcode, der in der Fehlermeldung genannt wird.

                          Kommentar


                          • #14
                            Hallo zusammen und ein Gesundes neues Jahr, ich melde mich mal nach Gesundheitlichen Problemen zurück.



                            Zitat von reddighamburg Beitrag anzeigen
                            Da scheinen deine Datenbank-Tabellen ja nicht zu passen. Die DB erwartet an einer Stelle ein datetime, bekommt aber ein 1366 was definitiv kein datetime, sondern z.B. ein integer ist. An anderer Stelle erwartet sie einen solchen integer Wert, bekommt aber ein "Hallo", was tatsächlich ja ein CHAR / VARCHAR wäre.

                            Deine Datenbanktabellen passen nicht zu deinem Datenmodell.
                            reddighamburg , da haste recht gehabt mit den Datenbank-Tabellen *ichvolldussel* ich hatte...

                            Code:
                            id int
                            first_name int 50
                            last_name int 50
                            Ist jetzt geändert ich habe den code bei users ein wenig ausgebaut, und es passt auch soweit alles.

                            Nur beim Suchen und der Ausgabe/Anzeigen der suche hänge ich fest ich habe auch schon ein paar Debbuging echos eingefügt, um den Fehler zu finden.

                            Beispiel:

                            Ich suche nach Müller, dann soll auch nur alles mit Müller angezeigt werden. Aber zurzeit wird alles aus der Tabelle users angezeigt.
                            Eintragen, Bearbeiten, Editieren und Löschen Funktioniert alles einwandfrei.


                            Hier mal der Suchen code
                            Code:
                                protected function search() {
                                    if (isset($_POST['search']) && !empty(trim($_POST['search']))) {
                                        $searchTerm = "%" . $_POST['search'] . "%";
                            
                                        // SQL-Statement vorbereiten
                                        $this->list_sql = "SELECT * FROM users
                                        WHERE `first_name` LIKE :search
                                        OR `last_name` LIKE :search
                                        OR `corridor` LIKE :search
                                        OR `room` LIKE :search
                                        OR `bed` LIKE :search";
                            
                                        // Debug-Ausgaben für SQL-Statement und Suchbegriff
                                        echo "SQL-Statement: " . $this->list_sql . "<br>";
                                        echo "Suchbegriff: " . $searchTerm . "<br>";
                            
                                        $stmt = $this->conn()->prepare($this->list_sql);
                                        $stmt->bindParam(':search', $searchTerm, PDO::PARAM_STR);
                            
                                        if (!$stmt->execute()) {
                                            echo "Fehler bei der Ausführung der Abfrage: " . print_r($stmt->errorInfo(), true);
                                            return;
                                        }
                            
                                        // Ergebnisse abrufen und zu $this->rows zuweisen
                                        $this->rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
                            
                                        // Debug-Ausgabe für die zurückgegebenen Ergebnisse
                                        echo "Anzahl der zurückgegebenen Ergebnisse: " . count($this->rows) . "<br>";
                                        echo "Ausgegebene Daten: <pre>" . print_r($this->rows, true) . "</pre>";
                            
                                        if (count($this->rows) > 0) {
                                            $this->info = count($this->rows) . " Ergebnisse gefunden!";
                                        } else {
                                            $this->info = "Keine Ergebnisse gefunden!";
                                        }
                                    } else {
                                        $this->info = "Suchbegriff nicht angegeben!";
                                    }
                                }​
                            Und hier der abschnitt von der ausgabe

                            Code:
                                            <div class="card-body">
                                                <table class="table table-striped ">
                                                    <thead class="bg-secondary text-light">
                                                    <tr>
                                                        <th scope="col">Uhrzeit / Datum</th>
                                                        <th scope="col">Vorname</th>
                                                        <th scope="col">Nachname</th>
                                                        <th scope="col">Flur</th>
                                                        <th scope="col">Zimmer</th>
                                                        <th scope="col">Bett</th>
                                                        <th scope="col">Belegt</th>
                                                        <th scope="col" class=" d-flex justify-content-end pe-3">Aktionen</th>
                                                    </tr>
                                                    </thead>
                                                    <?php foreach ($this->rows as $row) : ?>
                                                        <tr class="t-row">
                                                    <?php
                                                        // Convert the stored date and time to the desired format
                                                        $dateTimeObject = new DateTime($row['datetime']); // Convert the string datetime to a DateTime object
                                                        $formattedDate = $dateTimeObject->format('d.m.Y'); // Format the date as 25.12.2023
                                                        $formattedTime = $dateTimeObject->format('H:i'); // Format the time as 18:19 // + sec. :s // 18:19:20
                                                    ?>
                                                        <td><?= $formattedTime ?> Uhr <?= $formattedDate ?></td>
                                                        <td><?=htmlspecialchars($row['first_name'])?></td>
                                                        <td><?=htmlspecialchars($row['last_name'])?></td>
                                                        <td><?= sprintf('%02d', htmlspecialchars($row['corridor'])) ?></td> <!-- Führende Null für Flur -->
                                                        <td><?= sprintf('%02d', htmlspecialchars($row['room'])) ?></td> <!-- Führende Null für Zimmer -->
                                                        <td><?= sprintf('%02d', htmlspecialchars($row['bed'])) ?></td> <!-- Führende Null für Bett -->
                                                        <td>
                                                        <?php if ($row['proven'] == 1): ?>
                                                            <input type="checkbox" class="btn-check" id="checkbox<?= $row['id'] ?>" checked disabled>
                                                            <label class="btn btn-outline-danger btn-sm" for="checkbox<?= $row['id'] ?>">Belegt</label>
                                                        <?php else: ?>
                                                            <input type="checkbox" class="btn-check" id="checkbox<?= $row['id'] ?>" disabled>
                                                            <label class="btn btn-outline-success btn-sm" for="checkbox<?= $row['id'] ?>">Frei</label>
                                                        <?php endif; ?>
                                                       </td>
                                                       <td class="d-flex justify-content-end align-items-center" style="height: 50px;">
                                                            <form method="POST" >
                                                                <input type="hidden" name="id" value="<?=$row['id']?>" >
                                                                <button type="submit" class="btn btn-info text-white btn-sm mt-3" value="edit" name="buttonUser">Bearbeiten</button>
                                                                <button type="submit" class="btn btn-danger ml-2 btn-sm mt-3" value="delete" name="buttonUser">Löschen</button>
                                                            </form>
                                                        </td>
                                                    </tr>
                                                    <?php endforeach ?>
                                                </table>
                                            </div>​
                            Ich weis nicht mehr weiter habt ihr eine idee?

                            Danke Grüssle
                            Sky-Kay
                            Zuletzt geändert von Sky-Kay; 06.01.2024, 15:33.

                            Kommentar


                            • #15
                              Frohes neues!

                              Ich sehe spontan keinen Fehler, der ins Auge springt.

                              Bist du dir sicher, dass "search" das richtige Formularfeld ist, in den der Suchbegriff eingegeben wird?
                              Was passiert, wenn du zum testen einfach mal ganz platt auf $_GET umstellst, und den Suchbegriff von Hand an die URL dran hängst?

                              Du hast ja an zwei Stellen Debug-Ausgaben mit drin.
                              Passen die zur Erwartung?

                              Also insbesondere das
                              PHP-Code:
                              echo "Suchbegriff: " $searchTerm "<br>"
                              aber auch das:
                              PHP-Code:
                              echo "Anzahl der zurückgegebenen Ergebnisse: " count($this->rows) . "<br>";
                              echo 
                              "Ausgegebene Daten: <pre>" print_r($this->rowstrue) . "</pre>";​ 
                              Wenn das da oben schon schief läuft, dann ist vermutlich schon bei der Suche selbst ein Fehler.

                              Wenn dort noch alles stimmt, aber dann weiter unten trotzdem die ganze liste ausgegeben wird, dann funkt dazwischen noch irgendwas quer...
                              Bist du dir sicher, dass zwischen dem Abfrage-Abschnitt und dem Ausgabe-Abschnitt nicht irgendwo $this->rows überschrieben wird (weil du ggf. zwischendurch noch eine andere Abfrage ausführst)

                              Kommentar

                              Lädt...
                              X