PHP-Webseite zeigt lokal keine Inhalte an

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

PHP-Webseite zeigt lokal keine Inhalte an

Postby 4nders » 01. November 2015 12:06

Hallo zusammen,

ich bin nicht nur neu in diesem Forum, ich bin auch ein absoluter Anfänger was Xampp, PHP und Co. anbelangt.
Um einem Bekannten zu helfen, wollte ich eine in PHP programmierte Webseite mit Shop lokal installieren, um mich mit der Materie näher zu beschäftigen.

Ich habe Xampp installiert, die Datenbank ex- und lokal importiert und mit Phpmyadmin einen neuen Benutzer anglegt. Datenbankname, Benutzer und Passwort habe ich übernommen. Apache und Mysql lassen sich starten.
Wenn ich jetzt die Webseite aufrufe, sehe ich die Seite. Layout und Navigation (Menüs) werden dargestellt, aber der eigentliche Content (Texte aus der Datenbank) erscheinen nicht und die Navigation funktioniert nicht.

Ich bin jetzt völlig aufgeschmissen, wo ich überhaupt nach dem Fehler suchen sollte. Könnt ihr einem Unwissenden weiter helfen?
4nders
 
Posts: 5
Joined: 01. November 2015 11:44
Operating System: Windows 7

Re: PHP-Webseite zeigt lokal keine Inhalte an

Postby Nobbie » 01. November 2015 17:40

4nders wrote:Ich bin jetzt völlig aufgeschmissen, wo ich überhaupt nach dem Fehler suchen sollte. Könnt ihr einem Unwissenden weiter helfen?


Nur wenig. Noch sind viel zu wenig Informationen vorhanden.

1) Ist das eine Standardsoftware, so wie WordPress oder Joomla oder so, oder ist das eine eigene Software?

2) Wie rufst Du im Browser die Seite auf?
2a) Passend dazu: wo, in welches Verzeichnis, hast Du diese Software installiert?

3) Stehen in den PHP Scripts an erster Stelle solche Tags "<?php", oder nur solche kurzen Tags "<?"?

4) Ist MySQL (und auch Apache) richtig gestartet?

Und wenn wir bis hier nichts finden, was steht ggf. in den Error_Logs, was steht im Access_Log? Das sind Dateien, die im logs Verzeichnis stehen Du erkennst Du am Namen.
Nobbie
 
Posts: 8772
Joined: 09. March 2008 13:04

Re: PHP-Webseite zeigt lokal keine Inhalte an

Postby 4nders » 02. November 2015 11:39

1) Keine Standardsoftware. Seite wurde für den Bekannten programmiert. (Hoster: Strato)

2) localhost/verzeichnis
2a) htdocs/verzeichnis

3) ich sehe beide Schreibweisen

4) beide: ja

Ich hoffe, es sind die richtigen Protokolle ...
Access_Log
::1 - - [02/Nov/2015:11:17:58 +0100] "GET /verzeichnis/ HTTP/1.1" 200 2177 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0"
::1 - - [02/Nov/2015:11:17:59 +0100] "GET /verzeichnis/favicon.ico HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0"

Error_Log
[Mon Nov 02 11:17:30.175664 2015] [ssl:warn] [pid 1556:tid 260] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Mon Nov 02 11:17:30.399296 2015] [core:warn] [pid 1556:tid 260] AH00098: pid file V:/xampp/apache/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
[Mon Nov 02 11:17:30.853398 2015] [ssl:warn] [pid 1556:tid 260] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Mon Nov 02 11:17:31.088750 2015] [mpm_winnt:notice] [pid 1556:tid 260] AH00455: Apache/2.4.17 (Win32) OpenSSL/1.0.2d PHP/5.5.30 configured -- resuming normal operations
[Mon Nov 02 11:17:31.107304 2015] [mpm_winnt:notice] [pid 1556:tid 260] AH00456: Apache Lounge VC11 Server built: Oct 13 2015 10:54:13
[Mon Nov 02 11:17:31.107304 2015] [core:notice] [pid 1556:tid 260] AH00094: Command line: 'v:\\xampp\\apache\\bin\\httpd.exe -d V:/xampp/apache'
[Mon Nov 02 11:17:31.144414 2015] [mpm_winnt:notice] [pid 1556:tid 260] AH00418: Parent: Created child process 3156
[Mon Nov 02 11:17:35.739140 2015] [ssl:warn] [pid 3156:tid 272] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Mon Nov 02 11:17:36.491093 2015] [ssl:warn] [pid 3156:tid 272] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Mon Nov 02 11:17:36.704960 2015] [mpm_winnt:notice] [pid 3156:tid 272] AH00354: Child: Starting 150 worker threads.

php_error_log
[30-Oct-2015 18:46:16 Europe/Berlin] PHP Notice: Undefined index: st in V:\xampp\htdocs\verzeichnis\shop\show.php on line 4
[30-Oct-2015 18:46:16 Europe/Berlin] PHP Notice: Undefined index: suchweiter in V:\xampp\htdocs\verzeichnis\shop\show.php on line 5
[30-Oct-2015 18:46:16 Europe/Berlin] PHP Notice: Undefined index: suchwort in V:\xampp\htdocs\verzeichnis\shop\show.php on line 6
[30-Oct-2015 18:46:16 Europe/Berlin] PHP Notice: Undefined index: suchkrit in V:\xampp\htdocs\verzeichnis\shop\show.php on line 7
[30-Oct-2015 18:46:16 Europe/Berlin] PHP Notice: Undefined index: basket in V:\xampp\htdocs\verzeichnis\shop\show.php on line 8
[30-Oct-2015 18:46:16 Europe/Berlin] PHP Notice: Undefined index: geloescht in V:\xampp\htdocs\verzeichnis\shop\show.php on line 9
[30-Oct-2015 18:46:16 Europe/Berlin] PHP Notice: Undefined index: aend in V:\xampp\htdocs\verzeichnis\shop\show.php on line 10
[30-Oct-2015 18:46:16 Europe/Berlin] PHP Notice: Undefined index: array('waren') in V:\xampp\htdocs\verzeichnis\shop\show.php on line 14
[30-Oct-2015 18:46:16 Europe/Berlin] PHP Notice: Undefined index: bestellnummer in V:\xampp\htdocs\verzeichnis\shop\show.php on line 15
Last edited by 4nders on 02. November 2015 14:56, edited 1 time in total.
4nders
 
Posts: 5
Joined: 01. November 2015 11:44
Operating System: Windows 7

Re: PHP-Webseite zeigt lokal keine Inhalte an

Postby Nobbie » 02. November 2015 12:09

4nders wrote:3) ich sehe beide Schreibweisen


Dann haben wir mindestens ein Problem gefunden (vielleicht ist es auch schon die einzige Ursache). Zwei Lösungen:

a) entweder in php.ini die Einstellung für "short_open_tag" von Off auf On ändern und Apache neu starten.

b) oder Fleißkärtchen verdienen und alle Dateien abgrasen und aus "<?" entsprechend "<?php" machen. Das ist eigentlich die "haltbarere" Lösung, denn der sog. short_open_tag wird in Zukunft (irgendwann...) grundsätzlich nicht mehr funktionieren, da gibt es Kollisionsprobleme mit XML. Da wird schon lange von den Entwicklern drüber nachgedacht, aber ich weiß nicht, wie der aktuelle Stand ist. Im Moment wird es noch unterstützt.

Und dann mal schauen, was sich bessert (es wird sich einiges verändern, es bleibt die Frage, ob dann andere Fehler auftauchen). Denn im Moment ist es so, dass der PHP Code, der nur mit "<?" eingeleitet wird, überhaupt nicht ausgeführt wird, den kannst Du im Zweifelsfall im generierten HTML im Sourcecode (rechte Maustaste im Browser und "Sourcecode" o.ä. auswählen) als Kommentar sehen. Dadurch finden wahrscheinlich die notwendigen Datenbankzugriffe usw. gar nicht erst statt.
Nobbie
 
Posts: 8772
Joined: 09. March 2008 13:04

Re: PHP-Webseite zeigt lokal keine Inhalte an

Postby 4nders » 02. November 2015 14:42

Bis hierher schon mal vielen Dank. Die Änderung der php.ini hat das Problem mit den fehlenden Texten gelöst und die Navigation funktioniert auch. (Fleißkärtchen verdiene ich mir später :wink: ...)

Aber jetzt hagelt es Fehlermeldungen, wie z.B.:
Notice: Undefined variable: menu in V:\xampp\htdocs\verzeichnis\shop\show.php on line 111
Notice: Use of undefined constant SERVER_NAME - assumed 'SERVER_NAME' in V:\xampp\htdocs\verzeichnis\shop\show.php on line 116
Notice: Use of undefined constant PHP_SELF - assumed 'PHP_SELF' in V:\xampp\htdocs\verzeichnis\shop\show.php on line 116
Notice: Undefined variable: artikelListe in V:\xampp\htdocs\verzeichnis\shop\show.php on line 118

Notice: Undefined index: st in V:\xampp\htdocs\verzeichnis\shop\show_det.php on line 6

Wie gehe ich hier weiter vor?
4nders
 
Posts: 5
Joined: 01. November 2015 11:44
Operating System: Windows 7

Re: PHP-Webseite zeigt lokal keine Inhalte an

Postby Nobbie » 02. November 2015 15:52

Wie Du siehst (bzw. sehen solltest), sind das keine Fehler. Das sind "Notizen" (das ist die geringste Stufe an Mitteilungen, darüber gibt es Warnungen, dann Fehler, dann Schwere Fehler und Syntaxfehler).

Lösung genau wie das andere Problem:

a) entweder in php.ini das error_reporting ganz abschalten (display_errors=Off und ggf. auch display_startup_errors=Off) und Apache neu starten, oder

b) in die einzelnen Dateien gehen und auf die Zeilennummer gehen (es wird ja haarklein genau angegeben, was da angemoppert wird) und die Ursache beheben. Die erste Meldung (Undefined Variable: menu) ist schon ein halber Schritt in einen Fehler, da wird wahrscheinlich der Wert eine Variablen $menu benutzt, ohne dass jemals ein Wert zugewiesen wurde. Ebenso mit artikelListe.

"Use of undefined constant" ist ein Hinweis auf schlampige (eigentlich sogar fehlerhafte) Programmierung, da fehlen Quotes um den entsprechenden String. Es wird beispielsweise irgendwo SERVER_NAME benutzt, aber da müssen Quotes drum herum: 'SERVER_NAME'.

Das hat hier eigentlich schon nichts mehr verloren, das sind Programmierfehler und keine technischen Probleme von Xampp. Das muss der schlechte Programmierer beheben, der das programmiert hat. Die Meldung bedeutet, dass der PHP Parser erkennt, dass das falsch ist und es so korrigiert, wie es wahrscheinlich gemeint ist. Das ist ein großer Luxus des PHP Compilers/Interpreters. Ein C Compiler würde gnadenlos mit schwerem Syntaxerror abbrechen.

Die Lösung a) hat natürlich das Problem, dass auch schwere Fehler, die zum Abbruch führen, nicht angezeigt werden, das würde zwar im Moment nicht passieren, aber wenn man ggf. eine Änderung macht und sich verhackt, wäre das Ergebnis eine fehlerfreie weiße Seite.... (es wird nichts angezeigt und auch die Ursache nicht mitgeteilt).
Nobbie
 
Posts: 8772
Joined: 09. March 2008 13:04

Re: PHP-Webseite zeigt lokal keine Inhalte an

Postby Altrea » 02. November 2015 16:39

"mache ich später" ist übrigens eine der häufigsten Ursachen dafür warum schwer wartbare/debugbare Software entsteht.

Eine weitere Ursache hat dir Nobbie bereits genannt: "wenn ich den Fehler ausblende ist er auch nicht mehr da"
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 8294
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64

Re: PHP-Webseite zeigt lokal keine Inhalte an

Postby 4nders » 02. November 2015 16:44

Wie Du siehst (bzw. sehen solltest), ...

Das hast Du schön formuliert ... Ich bin tatsächlich noch auf dem Stand "sehen solltest".

Problem, der ehemalige Programmierer macht nichts mehr. Also werde ich zuerst mal zu "Lösung" a) greifen.
Wenn ich Dich richtig verstehe, ist für die Ursachenbehebung die Einarbeitung in PHP angesagt. "Darf" sich denn ein solcher Anfänger wie ich hier im PHP-Bereich melden? Bzw. kannst Du mir einen Rat geben, wie ich am besten in die Materie einsteigen kann.

Danke für Deine Mühe.

@Altrea: Ihr habt ja beide recht, aber irgendwo muss ich ja jetzt erst mal anfangen!
4nders
 
Posts: 5
Joined: 01. November 2015 11:44
Operating System: Windows 7

Re: PHP-Webseite zeigt lokal keine Inhalte an

Postby Nobbie » 02. November 2015 21:34

4nders wrote:"Darf" sich denn ein solcher Anfänger wie ich hier im PHP-Bereich melden?


Jeder darf sich hier melden, so oder so kann ich gar nicht darüber bestimmen, denn ich bin selbst auch nur angemeldeter Anwender. Du solltest nur bedenken, dass das hier kein PHP Forum für Programmierprobleme ist, sondern hier geht es um technische Probleme bei der Einbindung von PHP auf Webservern. Das ist der eigentliche Sinn dieses Forums, welches mit Xampp eine Distribution zum Thema hat, welche für das Betreiben eines (eigenen) Servers notwendig ist.

Es geht hier im Prinzip nicht um das Lernen und Anwenden von PHP, dafür gibt es sicherlich viele andere Seiten. Es überlappt sich nur bisweilen (so wie im aktuellen Fall), aber grundsätzlich sind Fragen zu PHP Fehlern und syntaktischen Dingen hier falsch aufgehoben. Ein typisches Forum für PHP Sprachprobleme "an sich" wäre beispielsweise das Forum www.phpforum.de
Nobbie
 
Posts: 8772
Joined: 09. March 2008 13:04

Re: PHP-Webseite zeigt lokal keine Inhalte an

Postby Altrea » 02. November 2015 22:50

PHP ist prinzipiell nicht schwer zu lernen. Es gilt als einer der einfachsten Sprachen zum einzusteigen. Im englischen würde man sagen "easy to learn but hard to master".
Das dir vorliegende Programm zeigt auch gut warum das so ist. Der unsaubere Code funktioniert ja irgendwie und das liegt einzig an dem sehr viel verzeihenden PHP interpreter.

Am einfachsten kann man PHP praxisorientiert lernen. In der Regel fängt man mit einem PHP Einsteiger Tutorial an - wovon es leider sehr viele schlechte gibt, aber auch das ein oder andere gute. Empfehlenswert ist zum Beispiel dieses hier von Peter Kropff: http://www.peterkropff.de/site/php/php.htm

Danach sollte man sich darin üben die offizielle Dokumentation von PHP lesen und verstehen zu können (vorzugsweise auf englisch): http://php.net/manual/en/
Vorallem die Schreibweise der Funktionsreferenz sollte man beherrschen um auch interpretieren zu können, wie eine Funktion/Klasse/Operant/... benutzt werden muss, kleines einfaches Beispiel: http://php.net/manual/en/function.preg-match.php
Dies ist elementar, denn dies entscheidet letztendlich darüber ob du in der Lage bist selbst Fehler zu finden und zu beheben oder bei jeder Kleinigkeit Hilfe suchen musst. Es unterscheidet quasi das Scriptkiddie das sich alles zusammenkopieren muss von einem interessierten Programmieranfänger.

Schritt drei wäre dann sich ein Projekt zu suchen, bei dem man ein fest definiertes Ziel hat oder das einen besonders interessiert. Hier bist du quasi gerade, du möchtest mit dieser dir vorliegenden Webseite etwas bestimmtes erreichen. Das wird aber nicht funktionieren ohne die Grundlagen zu lernen. Jedes vor Allem deutschsprachige PHP Forum wird dir sagen erst die Grundlagen zu lernen. Niemand wird dir etwas für Lau hinprogrammieren.
Die bei dir aufgetretenen Warnings sind ein gutes Beispiel. Das sind sehr übliche Fehler die PHP Anfänger machen und hierzu findet man haufenweise Informationen was wie und warum falsch läuft und wie man es besser macht. Es wird von dir erwartet soetwas lösen zu können, auch als PHP Anfänger. Und das ist definitiv schaffbar, auch für einen kompletten PHP Neuling.

Zusammengefasst: Wenn du wirklich interessiert bist PHP zu lernen, fange ganz vorne an (nicht bei Schritt 3) und mache einen Schritt nach dem anderen. Das ist eine Sache von wenigen Wochen, dann weiß man wie man PHP Code schreibt, was gängige Fehler sind und wie man diese erkennt und behebt, sowie wie man die PHP Dokumentation lesen muss.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 8294
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64

Re: PHP-Webseite zeigt lokal keine Inhalte an

Postby 4nders » 04. November 2015 17:35

Hallo, ich möchte euch beiden, Nobbie und Altrea, noch mal danken. Ihr habt mich wirklich ein gutes Stück weiter gebracht. Finde toll, dass Fragen hier wirklich ausführlich beantwortet werden.
Gehöre selber zu denen, die anderen ehrenamtlich beim Umgang mit dem Computer helfen (kleiner Verein vor Ort) und weis daher sehr zu schätzen, dann auch mal kompetente Hilfe zu erhalten. Klasse Forum!
4nders
 
Posts: 5
Joined: 01. November 2015 11:44
Operating System: Windows 7


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 8 guests