Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Umstellung auf PHP

9 views
Skip to first unread message

Wolfgang Bauer

unread,
Nov 3, 2020, 6:22:40 AM11/3/20
to
Servus.

Ich habe mich mal etwas für PHP interessiert und testweise
meine Homepage nach PHP umgestellt. Die ersten Zeilen der index.php
sehen so aus.
<?php
echo "<!DOCTYPE html>\n";
echo "<html lang=\"de\">\n";
echo "\n";
echo "<head>\n";
echo " <title>Wolfgang Bauer, meine private Startseite</title>\n";
echo " <link href=\"styles.css\" rel=\"stylesheet\" type=\"text/css\" /> \n";
echo " <link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"images/favicon.ico\">\n";
echo " <meta name=\"description\" content=\"Meine Kurzbiographie und Bilder meiner Umgebung\" />\n";
echo " <meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />\n";
echo " \n";
echo "\n";
echo " \n";

Das wird dann beim Aufruf der Site
http://wolfgang-bauer.at/my-php-sites/index.php
dem PHP Interpreter übergeben der das Ergebnis an den Besucher
übergibt. Das Ergebnis ist in der Regel HTML.

In diese PHP-Skript habe ich noch einen Besucherzähler eingebaut.

<? function getCounter($counterID)
{
// each counter value is stored inside a unique file
// We use $counterID as a part of the file name
// Example: file name will be "counter1.txt" if $counterID is set to "1"

$fileName = "counter".$counterID.".txt";

if( file_exists($fileName) ) {
list($numVisitors)=file($fileName); // Read contents from the file
} else {
$numVisitors=0; // This is the first time the page is accessed
}

$numVisitors=$numVisitors+1; // Increase the count

$fil=fopen($fileName,"w"); // Open the file to replace old value
fputs($fil,$numVisitors); // Write the new count to the file
fclose($fil); // Close the file
return $numVisitors; // Return the new count
}
?>

Der, wenn ich selbst die Site aufrufe, aber immer auf 1 steht.
Ist da am Counterskript etwas zu ändern oder zählt der nur weiter wenn
andere die Site aufrufen?

Freundliche Grüße
Wolfgang 😷
--
Dass mir mein Hund das Liebste sei, sagst du oh Mensch sei Sünde,
mein Hund ist mir im Sturme treu, der Mensch nicht mal im Winde.
Franz von Assisi

Stefan Froehlich

unread,
Nov 3, 2020, 6:41:12 AM11/3/20
to
Xpost und Fup nach dclp

On Tue, 03 Nov 2020 12:22:36 Wolfgang Bauer wrote:
> <?php
> echo "<!DOCTYPE html>\n";
> echo "<html lang=\"de\">\n";
> echo "\n";
> echo "<head>\n";
> echo " <title>Wolfgang Bauer, meine private Startseite</title>\n";
> echo " <link href=\"styles.css\" rel=\"stylesheet\" type=\"text/css\" /> \n";
> echo " <link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"images/favicon.ico\">\n";
> echo " <meta name=\"description\" content=\"Meine Kurzbiographie und Bilder meiner Umgebung\" />\n";
> echo " <meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />\n";
> echo " \n";
> echo "\n";
> echo " \n";

Tip: Solange Du einfach nur Text 1:1 ausgibst, ist es einfacher, den
direkt in den Quelltext zu schreiben, anstatt ihn via echo
auszugeben:

#v+
<!DOCTYPE html>
<html lang="de">
<head>
<title>Wolfgang Bauer, meine private Startseite</title>
[...]

<?php # hier kommt eine PHP-generierte ausgabe ?>
#v-

> <? function getCounter($counterID)
> {
> // each counter value is stored inside a unique file
> // We use $counterID as a part of the file name
> // Example: file name will be "counter1.txt" if $counterID is set to "1"
>
> $fileName = "counter".$counterID.".txt";
>
> if( file_exists($fileName) ) {
> list($numVisitors)=file($fileName); // Read contents from the file
> } else {
> $numVisitors=0; // This is the first time the page is accessed
> }
>
> $numVisitors=$numVisitors+1; // Increase the count
>
> $fil=fopen($fileName,"w"); // Open the file to replace old value
> fputs($fil,$numVisitors); // Write the new count to the file
> fclose($fil); // Close the file
> return $numVisitors; // Return the new count
> }
> ?>

> Der, wenn ich selbst die Site aufrufe, aber immer auf 1 steht.

Hast Du denn überhaupt Schreibrechte in dem Verzeichnis? Das sieht
mir auf den ersten Blick sehr danach aus, als ob jedes Mal
$numVisitors mit 0 initialisiert, hochgezählt, angezeigt aber danach
nicht gespeichert wird.

(Über die Sinnhaftigkeit von Countern lasse ich mich an dieser
Stelle nicht aus)

Servus,
Stefan

--
http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich
Offizieller Erstbesucher(TM) von mmeike

Das Glück kommt zu dir. Mit Stefan. Ein geniales Vergnügen!
(Sloganizer)

Claus Reibenstein

unread,
Nov 3, 2020, 9:53:07 AM11/3/20
to
Wolfgang Bauer schrieb am 03.11.2020 um 12:22:

> echo "<html lang=\"de\">\n";

Tipp: Sowohl HTML als auch PHP kennen auch einfache Hochkommas. Damit
kannst Du diese Anweisung auch so schreiben:

echo "<html lang='de'>\n";

> <? function getCounter($counterID)

<?php ...

> Der, wenn ich selbst die Site aufrufe, aber immer auf 1 steht.
> Ist da am Counterskript etwas zu ändern oder zählt der nur weiter wenn
> andere die Site aufrufen?

Wie sieht denn der Aufruf von getCounter() aus?

Gruß
Claus

Wolfgang Bauer

unread,
Nov 3, 2020, 10:08:10 AM11/3/20
to
Claus Reibenstein schrieb:

> Wie sieht denn der Aufruf von getCounter() aus?

Ich bedanke mich für die Hilfe. Aber PHP ist mir doch noch zu fremd.
Deswegen gehe ich wieder zu HTML zurück, ohne Counter.

Freundliche Grüße
Wolfgang Bauer
--
https://www.wolfgang-bauer.at/index.html

Arno Welzel

unread,
Nov 3, 2020, 3:30:39 PM11/3/20
to
Wolfgang Bauer:

> Servus.
>
> Ich habe mich mal etwas für PHP interessiert und testweise
> meine Homepage nach PHP umgestellt. Die ersten Zeilen der index.php
> sehen so aus.
> <?php
> echo "<!DOCTYPE html>\n";
> echo "<html lang=\"de\">\n";
[...]

Das ist unnötig und fehleranfällig. Es genügt, wenn Du dort PHP benuttz,
wo es auch nötig ist:

<!DOCTYPE html>

...

<body>
<html>

...

<?php
// Hier PHP-code
...
?>

</body>
</html>

[...]
> In diese PHP-Skript habe ich noch einen Besucherzähler eingebaut.
>
> <? function getCounter($counterID)

Hier müsste <?php stehen und nicht nur <? - zumindest ist bei aktuellen
PHP-Versionen der Standard, dass man keine "short opening tags" mehr
nutzt, sondern immer <?php.

> Der, wenn ich selbst die Site aufrufe, aber immer auf 1 steht.
> Ist da am Counterskript etwas zu ändern oder zählt der nur weiter wenn
> andere die Site aufrufen?

Die Seite wird wohl im Cache des Browser sein und deshalb gar nicht erst
vom Server neu geladen.

Nein, Caching complett zu unterdrücken, damit irgendwelche Seitenzähler
funktionieren, ist auch keine sinnvoll Lösung. Wenn, dann baut mans owas
als als Bild oder iframe ein und dazu ein Script, was nicht gecached
wird (entsprechende Expires-Header im Script setzen) und den Inhalt für
das Bild (mit Hilfe von GD o.Ä.) oder iframe erzeugt:

<img src="seitenzaehler.php" />

<iframe src="seitenzaehler.php" ... />



--
Arno Welzel
https://arnowelzel.de

Wolfgang Bauer

unread,
Nov 4, 2020, 4:47:22 AM11/4/20
to
Arno Welzel schrieb:
> Wolfgang Bauer:

>> Servus.

>> Ich habe mich mal etwas für PHP interessiert und testweise
>> meine Homepage nach PHP umgestellt. Die ersten Zeilen der index.php
>> sehen so aus.
>> <?php
>> echo "<!DOCTYPE html>\n";
>> echo "<html lang=\"de\">\n";
> [...]

[ Das Thema wurde dann nach de.comp.lang.php umgeleitet]

> Das ist unnötig und fehleranfällig. Es genügt, wenn Du dort PHP benuttz,
> wo es auch nötig ist:

> <!DOCTYPE html>
> ...
> <body>
> <html>
> ...
> <?php
> // Hier PHP-code
> ...
> ?>
> </body>
> </html>

Da ich PHP nicht selbst kannte habe ich die HTML Sites mit
https://www.beautifyconverter.com/html-to-php-converter.php
konvertiert. Und das kam eben dabei raus. Diese PHP Skripts
werden auf dem Server per PHP Interpreter dem Besucher als HTML
ausgegeben. So habe ich mich letztlich entschlossen es bei HTML zu
belassen.

>> In diese PHP-Skript habe ich noch einen Besucherzähler eingebaut.
>> <? function getCounter($counterID)

> Hier müsste <?php stehen und nicht nur <? - zumindest ist bei aktuellen
> PHP-Versionen der Standard, dass man keine "short opening tags" mehr
> nutzt, sondern immer <?php.

OK, das habe ich geändert.

>> Der, wenn ich selbst die Site aufrufe, aber immer auf 1 steht.
>> Ist da am Counterskript etwas zu ändern oder zählt der nur weiter wenn
>> andere die Site aufrufen?

> Die Seite wird wohl im Cache des Browser sein und deshalb gar nicht erst
> vom Server neu geladen.

Den Browsercache habe ich geleert.

> Nein, Caching complett zu unterdrücken, damit irgendwelche Seitenzähler
> funktionieren, ist auch keine sinnvoll Lösung. Wenn, dann baut mans owas
> als als Bild oder iframe ein und dazu ein Script, was nicht gecached
> wird (entsprechende Expires-Header im Script setzen) und den Inhalt für
> das Bild (mit Hilfe von GD o.Ä.) oder iframe erzeugt:

> <img src="seitenzaehler.php" />

> <iframe src="seitenzaehler.php" ... />

Ich kann die Sites auch in /nur/ .html lassen und den Besucherzähler
lasse ich weg. Ein Kleinwenig habe ich dadurch über PHP gelernt.

Maik Koenig

unread,
Nov 4, 2020, 5:55:37 AM11/4/20
to
Am 04.11.2020 um 10:47 schrieb Wolfgang Bauer:

> Da ich PHP nicht selbst kannte habe ich die HTML Sites mit
> https://www.beautifyconverter.com/html-to-php-converter.php
> konvertiert. Und das kam eben dabei raus. Diese PHP Skripts
> werden auf dem Server per PHP Interpreter dem Besucher als HTML
> ausgegeben.

Genau so funktioniert PHP ja auch.

Greetz,
MK
--
Kopp-Verlag-Gläubige, Religionsdeppen, rechte Vollidioten
und ähnlicher Bio-Abfall werden ohne Hinweis ignoriert!
Ich lese die Gruppen in denen ich schreibe: KEINE Mailkopie.

Wolfgang Bauer

unread,
Nov 4, 2020, 6:12:35 AM11/4/20
to
Maik Koenig schrieb:
> Am 04.11.2020 um 10:47 schrieb Wolfgang Bauer:

>> Da ich PHP nicht selbst kannte habe ich die HTML Sites mit
>> https://www.beautifyconverter.com/html-to-php-converter.php
>> konvertiert. Und das kam eben dabei raus. Diese PHP Skripts
>> werden auf dem Server per PHP Interpreter dem Besucher als HTML
>> ausgegeben.

> Genau so funktioniert PHP ja auch.
,--[ http://www.phpbox.de/grundlagen/ueberphp.php ]
| PHP ist eine sogenannte "serverseitige Skriptsprache" zur Programmierung
| von dynamischen Websites. Anders als bei bloßem HTML kann eine Website
| mit PHP auf vielfältige Weise auf den Besucher reagieren, von einer
| simplen tageszeitabhängigen Begrüßung bis zum Durchsuchen einer großen
| Datenbank ist alles möglich.
`----
Es war für mich mal ein Abstecher. Da ich aber die Vorteile von PHP kaum
nutzen werde, belasse ich meine Sites bei HTML.

Freundliche Grüße
Wolfgang 😷
--
Früher Vogelsang macht den Winter lang.

Maik Koenig

unread,
Nov 4, 2020, 6:52:08 AM11/4/20
to
Am 04.11.2020 um 12:12 schrieb Wolfgang Bauer:

> Es war für mich mal ein Abstecher. Da ich aber die Vorteile von PHP kaum
> nutzen werde, belasse ich meine Sites bei HTML.

Wer keine dynamischen Seiten braucht, braucht auch kein PHP.

Wolfgang Bauer

unread,
Nov 4, 2020, 6:58:05 AM11/4/20
to
Am 04.11.20 12:45, schrieb Maik Koenig:
>Am 04.11.2020 um 12:12 schrieb Wolfgang Bauer:
>
>> Es war für mich mal ein Abstecher. Da ich aber die Vorteile von PHP kaum
>> nutzen werde, belasse ich meine Sites bei HTML.
>
>Wer keine dynamischen Seiten braucht, braucht auch kein PHP.
>
Ja.
www.wolfgang-bauer.at

--
Freundliche Grüße
Wolfgang

Arno Welzel

unread,
Nov 4, 2020, 11:02:19 AM11/4/20
to
Wolfgang Bauer:

[...]
> Da ich PHP nicht selbst kannte habe ich die HTML Sites mit
> https://www.beautifyconverter.com/html-to-php-converter.php
> konvertiert. Und das kam eben dabei raus. Diese PHP Skripts

Örks... nein, sowas bitte nicht machen! Nur weil irgendwas im Netz
existiert, muss man es nicht benutzen.

> werden auf dem Server per PHP Interpreter dem Besucher als HTML
> ausgegeben. So habe ich mich letztlich entschlossen es bei HTML zu
> belassen.

Ja, das ist vermutlich besser so.

PHP ist eine Programmiersprache und damit kann man auch ganz leicht
massive Sicherheitslücken erzeugen, wenn man nicht genau weiß, was man tut.

Arno Welzel

unread,
Nov 4, 2020, 11:03:31 AM11/4/20
to
Maik Koenig:

> Am 04.11.2020 um 10:47 schrieb Wolfgang Bauer:
>
>> Da ich PHP nicht selbst kannte habe ich die HTML Sites mit
>> https://www.beautifyconverter.com/html-to-php-converter.php
>> konvertiert. Und das kam eben dabei raus. Diese PHP Skripts
>> werden auf dem Server per PHP Interpreter dem Besucher als HTML
>> ausgegeben.
>
> Genau so funktioniert PHP ja auch.

Ja - aber um in einer Website Scripte zu ergänzen, muss man HTML nicht
komplett in PHP "konvertieren" und jede Zeile in einen PHP-echo-Befehl
umwandeln.

Wolfgang Bauer

unread,
Nov 4, 2020, 11:16:46 AM11/4/20
to
Arno Welzel schrieb:
> Wolfgang Bauer:

>> werden auf dem Server per PHP Interpreter dem Besucher als HTML
>> ausgegeben. So habe ich mich letztlich entschlossen es bei HTML zu
>> belassen.

> Ja, das ist vermutlich besser so.

Das mit dem Counter interessiert michaber doch. Der wurde ja schon mal
angezeigt. Testweise habe ich den nochmal in meine index.html eingebaut
und auf den Server hochgeladen.
http://wolfgang-bauer.at/website-test/index.html

<?php
// Counter
$Dateiname = "counter.txt";

$Datei = fOpen($Dateiname,"r+");
$Zaehler = fGets($Datei,255);
fClose($Datei);

$Zaehler++;

$Datei = fOpen($Dateiname,"w");
fPuts($Datei,$Zaehler);
fClose($Datei);
?>

der Counter wird nicht angezeigt. Mir scheint der PHP Interpreter auf
dem Apache Server at: d38306.ispservices.at funktioniert nicht.

Andreas Neumann

unread,
Nov 4, 2020, 2:40:50 PM11/4/20
to
Wolfgang Bauer wrote:

> <?php
> // Counter
> $Dateiname = "counter.txt";
>
> $Datei = fOpen($Dateiname,"r+");
> $Zaehler = fGets($Datei,255);
> fClose($Datei);
>
> $Zaehler++;
>
> $Datei = fOpen($Dateiname,"w");
> fPuts($Datei,$Zaehler);
> fClose($Datei);
> ?>

Da gibt's wohl mehrere Probleme.

Zum einen, php wird nicht ausgeführt. Das könnte möglicherweise ganz simpel
an der Dateiendung "html" liegen. Benenne das mal "index.php"
anstatt "index.html".

Dann, der php-Schnipsel macht ja nur folgendes: Die Datei "counter.txt"
öffnen, den Zählerstand auslesen, um eins hochzählen und dann wieder
abspeichern und schließen.
Angezeigt wird davon zunächst garnichts.
Da fehlt also noch eine Ausgabe des Zählerstands.

> der Counter wird nicht angezeigt. Mir scheint der PHP Interpreter auf
> dem Apache Server at: d38306.ispservices.at funktioniert nicht.

Entweder ist php da nicht aktiviert oder es liegt ganz simpel nur an der
Dateiendung, siehe oben.

Maik Koenig

unread,
Nov 4, 2020, 4:57:19 PM11/4/20
to
Offensichtlich.

Maik Koenig

unread,
Nov 4, 2020, 8:35:10 PM11/4/20
to
Am 04.11.2020 um 17:16 schrieb Wolfgang Bauer:

> Das mit dem Counter interessiert michaber doch. Der wurde ja schon mal
> angezeigt. Testweise habe ich den nochmal in meine index.html eingebaut
> und auf den Server hochgeladen.
> http://wolfgang-bauer.at/website-test/index.html
>
> <?php
> // Counter
> $Dateiname = "counter.txt";
>
> $Datei = fOpen($Dateiname,"r+");
> $Zaehler = fGets($Datei,255);
> fClose($Datei);
>
> $Zaehler++;
>
> $Datei = fOpen($Dateiname,"w");
> fPuts($Datei,$Zaehler);
> fClose($Datei);
> ?>

DAS kann so nicht funktionieren. Aus Sicherheitsgründen werden bei den
meisten Webhostingpaketen PHP-Scripte nur ausgeführt, wenn die
Dateiendung ".php" ist. Das kann man zwar konfigurieren, aber bei dir
ist die Sperre offensichtlich aktiv: Der PHP-Block findet sich im
Quellcode deiner Seite, was natürlich nicht wäre, wenn er ausgeführt
worden wäre.

> der Counter wird nicht angezeigt.

Würde der Code ausgeführt werden (was derzeit nicht passiert), müssteste
den Zählerwert auch noch ausgeben. Also z.B. ein "echo $Zaehler;" an
beliebiger passender Stelle (nach dem "$Zaehler++;" natürlich).

Du könntest den obigen Block direkt an den Anfang der Datei packen und
dann irgendwo im Dokument ausgeben.

Also z.B. so:

---schnipp----
<?php
....obiger Block....
?>
<!DOCTYPE html>
<html lang="de">
<head>
[...]
</head>
<body>
..deine Inhalte...

Besucherzähler: <?php echo $Zaehler; ?>
</html>
---schnapp---

Beachte: Es kann sein, dass Du ein Rechteproblem hast. Dein OP sprach
davon, dass der Zähler immer bei 1 stehen blieb. Das kann ein
Cache-Problem sein oder halt ein Rechteproblem. Wenn Du die Datei per
FTP hochgeladen hast mit dem Inhalt "1" und sich der nicht ändert beim
Zugriff auf die index.php (einfach nach einigen Zugriffen mal per FTP
downloaden und nachschauen), dann musst Du die Zugriffsrechte für die
Datei counter.txt anpassen. Das geht per Kontextmenu in deinem FTP-Client.

Wolfgang Bauer

unread,
Nov 5, 2020, 3:46:13 AM11/5/20
to
Maik Koenig schrieb:

Ich habe es so gemacht wie Du es beschrieben hast.

<?php
// Counter
$Dateiname = "counter.txt";
$Datei = fOpen($Dateiname,"r+");
$Zaehler = fGets($Datei,255);
fClose($Datei);
$Zaehler++;
$Datei = fOpen($Dateiname,"w");
fPuts($Datei,$Zaehler);
fClose($Datei);
?>

<!DOCTYPE html>
<html lang="de">
<head>

</body>
Besucherzähler: <?php echo $Zaehler; ?>
</html>

Die Datei counter.txt auf dem Server hat diese Rechte
http://wolfgang-bauer.at/bilder/counter.jpg
Angezeigt wird kein Zähler. (Browsercache ist gellert worden)

http://wolfgang-bauer.at/website-test/index.php
Freundliche Grüße
Wolfgang 😷
--
Meistens belehrt erst der Verlust uns über den Wert der Dinge.
Arthur Schopenhauer

Arno Welzel

unread,
Nov 5, 2020, 8:04:57 AM11/5/20
to
Wolfgang Bauer:
Der Counter wird auch nirgends ausgegeben, sondern lediglich um 1 erhöht.

Auch fehlt jede Form von Fehlerbehandlung, falls die Zähler-Datei nicht
lesbar oder schreibbar ist. Ebenso ist die Schreibweise der Befehle
komplett falsch! Es heist "fopen()" und nicht "fOpen()"! Ebenso
empfiehlt PSR generell Namen mit Kleinbuchstaben zu beginnen. Das "?>"
am Ende eines Scripts sollte man weglassen, wenn danach nichts mehr kommt.

Auch kann man sich das Öffnen der Datei sparen, es gibt Funktionen, um
Daten direkt zu lesen un zu schreiben.

Siehe auch:

<https://www.php.net/manual/de/function.fopen.php>
<https://www.php.net/manual/de/function.fgets.php>
<https://www.php.net/manual/de/function.fputs.php>
<https://www.php.net/manual/de/function.file-get-contents.php>
<https://www.php.net/manual/de/function.file-put-contents.php>
<https://www.php-fig.org/psr/>

Also insgesamt:

----------------------------------

<?php
// Name der Datei für Zählerstand

$dateiname = "counter.txt";

// Zähler initialisieren

$zaehler = false;

// Wenn Zählerdatei vorhanden ist, dann lesen

if (file_exists($dateiname)) {
$zaehler = @file_get_contents($dateiname);
}

// Falls Zähler immer noch false, weil Datei nicht
// existiert oder nicht lesbar war, dann mit 0
// als Ausgangswert setzen. Ebenso auf 0 setzen,
// falls in der Zählerdatei keine Zahl war.

if (false === $zaehler || !is_numberic($zaehler)) {
$zaehler = 0;
}

// Zähler erhöhen und schreiben

$zaehler++
@file_put_contents($dateiname, $zaehler);

// Zähler ausgeben, sicherstellen, dass nicht HTML-Inhalte
// unbemerkt ausgegeben werden

echo "Anzahl der Seitenaufrufe: " . htmlspecialchars($zaehler);

----------------------------------

Wolfgang Bauer

unread,
Nov 5, 2020, 8:35:28 AM11/5/20
to
Arno Welzel schrieb:
> Wolfgang Bauer:

>> Das mit dem Counter interessiert michaber doch. Der wurde ja schon mal
>> angezeigt. Testweise habe ich den nochmal in meine index.html eingebaut
>> und auf den Server hochgeladen.
>> http://wolfgang-bauer.at/website-test/index.php

> Der Counter wird auch nirgends ausgegeben, sondern lediglich um 1 erhöht.

> Auch fehlt jede Form von Fehlerbehandlung, falls die Zähler-Datei nicht
> lesbar oder schreibbar ist. Ebenso ist die Schreibweise der Befehle
> komplett falsch! Es heist "fopen()" und nicht "fOpen()"! Ebenso
> empfiehlt PSR generell Namen mit Kleinbuchstaben zu beginnen. Das "?>"
> am Ende eines Scripts sollte man weglassen, wenn danach nichts mehr kommt.

> Auch kann man sich das Öffnen der Datei sparen, es gibt Funktionen, um
> Daten direkt zu lesen un zu schreiben.

> Siehe auch:

Arno und anderen mein Dank. Es war mal ein Seitensprung um meine Zeit
auszufüllen. Jetzt wird es für mich zum Streß. Ich lasse das mit dem
Counter weg.

Volker Englisch

unread,
Nov 5, 2020, 12:23:07 PM11/5/20
to
Wolfgang Bauer schrieb am 05.11.2020:
> Maik Koenig schrieb:
>
> Ich habe es so gemacht wie Du es beschrieben hast.
><!DOCTYPE html>
><html lang="de">
><head>

</head>

>
></body>
^^^^^^^

Stattdessen:

<body>

> Besucherzähler: <?php echo $Zaehler; ?>

</body>

></html>
>
> Die Datei counter.txt auf dem Server hat diese Rechte
> http://wolfgang-bauer.at/bilder/counter.jpg

Wenn Du nicht weisst, als welcher User/Group der Webserver läuft, mach
probehalber aus der 755 mal eine 777.

Maik Koenig

unread,
Nov 5, 2020, 4:47:04 PM11/5/20
to
Am 05.11.2020 um 09:46 schrieb Wolfgang Bauer:

> Die Datei counter.txt auf dem Server hat diese Rechte
> http://wolfgang-bauer.at/bilder/counter.jpg
> Angezeigt wird kein Zähler. (Browsercache ist gellert worden)

Mach da mal 777 draus.

Den Hinweis von Volker bzgl falscher Positionierung kannste getrost
ignorieren. Wäre das ein Problem, wäre nichtmal der Text aufgetaucht.

Maik Koenig

unread,
Nov 5, 2020, 4:47:06 PM11/5/20
to
> Auch fehlt jede Form von Fehlerbehandlung[...]

[jede Menge korrekte Hinweise]

Du hast grundsätzlich absolut recht. Aber das ist wie in der Fahrschule:
Man will lernen wie man das Auto bewegt, nicht wie man F1-Weltmeister wird.

Bei dem was Wolfgang vor hat(te) droht nun wirklich keine Gefahr.

Wolfgang Bauer

unread,
Nov 6, 2020, 5:10:32 AM11/6/20
to
Maik Koenig schrieb:
> Am 05.11.2020 um 09:46 schrieb Wolfgang Bauer:

>> Die Datei counter.txt auf dem Server hat diese Rechte
>> http://wolfgang-bauer.at/bilder/counter.jpg
>> Angezeigt wird kein Zähler. (Browsercache ist gellert worden)

> Mach da mal 777 draus.

Auch das habe ich gemacht. Der Counter zählt nicht hoch.
Wer sich das lokal mal ansehen möchte und vielleicht den Fehler findet.
http://wolfgang-bauer.at/download/meine-webseite-test.zip

Freundliche Grüße
Wolfgang 😷
--
Natürlicher Verstand kann fast jeden Grad von Bildung ersetzen,
aber keine Bildung den natürlichen Verstand.
Arthur Schopenhauer

Maik Koenig

unread,
Nov 6, 2020, 6:44:11 AM11/6/20
to
Am 06.11.2020 um 11:10 schrieb Wolfgang Bauer:
> Maik Koenig schrieb:
>> Am 05.11.2020 um 09:46 schrieb Wolfgang Bauer:
>
>>> Die Datei counter.txt auf dem Server hat diese Rechte
>>> http://wolfgang-bauer.at/bilder/counter.jpg
>>> Angezeigt wird kein Zähler. (Browsercache ist gellert worden)
>
>> Mach da mal 777 draus.
>
> Auch das habe ich gemacht. Der Counter zählt nicht hoch.
> Wer sich das lokal mal ansehen möchte und vielleicht den Fehler findet.
> http://wolfgang-bauer.at/download/meine-webseite-test.zip

Die Datei "counter.txt" hat keinerlei Inhalt. PHP kann nicht "nichts+1"
rechnen und da Du keine entsprechende Funktion drin hast um das
abzufangen, bricht das Script da ab. Schreib in die counter.txt mal eine
0 rein und versuchs nochmal.

Wolfgang Bauer

unread,
Nov 6, 2020, 7:14:40 AM11/6/20
to
Maik Koenig schrieb:
> Am 06.11.2020 um 11:10 schrieb Wolfgang Bauer:

>> Auch das habe ich gemacht. Der Counter zählt nicht hoch.
>> Wer sich das lokal mal ansehen möchte und vielleicht den Fehler findet.
>> http://wolfgang-bauer.at/download/meine-webseite-test.zip

> Die Datei "counter.txt" hat keinerlei Inhalt. PHP kann nicht "nichts+1"
> rechnen und da Du keine entsprechende Funktion drin hast um das
> abzufangen, bricht das Script da ab. Schreib in die counter.txt mal eine
> 0 rein und versuchs nochmal.

Ah, das war es. Jetzt zählt der Zähler.
Dann nochmal vielen Dank an alle Helfer.
http://wolfgang-bauer.at/website-test/index.php

Freundliche Grüße
Wolfgang 😷
--
Ich bin nicht dumm, ich hab nur Pech beim Denken.

Arno Welzel

unread,
Nov 6, 2020, 8:58:34 AM11/6/20
to
Maik Koenig:

> Am 05.11.2020 um 14:04 schrieb Arno Welzel:
[...]
>> Auch fehlt jede Form von Fehlerbehandlung[...]
>
> [jede Menge korrekte Hinweise]
>
> Du hast grundsätzlich absolut recht. Aber das ist wie in der Fahrschule:
> Man will lernen wie man das Auto bewegt, nicht wie man F1-Weltmeister wird.
>
> Bei dem was Wolfgang vor hat(te) droht nun wirklich keine Gefahr.

Die Gefahr wäre gewesen, dass andere Leute je nach Konfiguration der
PHP-Umgebung und des Webservers dieses Script für XSS-Angriffe missbrauchen.

Wolfgang Bauer

unread,
Nov 6, 2020, 9:20:03 AM11/6/20
to
Arno Welzel schrieb:
> Maik Koenig:

>> Bei dem was Wolfgang vor hat(te) droht nun wirklich keine Gefahr.

> Die Gefahr wäre gewesen, dass andere Leute je nach Konfiguration der
> PHP-Umgebung und des Webservers dieses Script für XSS-Angriffe missbrauchen.

Also sollte ich die Zugriffrechte auf dem Server einschränken?
http://wolfgang-bauer.at/bilder/rechte.jpg

Maik Koenig

unread,
Nov 6, 2020, 4:33:34 PM11/6/20
to
Am 06.11.2020 um 14:58 schrieb Arno Welzel:

> Die Gefahr wäre gewesen, dass andere Leute je nach Konfiguration der
> PHP-Umgebung und des Webservers dieses Script für XSS-Angriffe missbrauchen.

Z.B. wie? Wer solche Behauptungen aufstellt, sollte wenigstens ein
Beispiel liefern.

Wolfgang Bauer

unread,
Nov 7, 2020, 7:49:54 AM11/7/20
to
Ich selbst schrieb:
> Maik Koenig schrieb:

>> Die Datei "counter.txt" hat keinerlei Inhalt. PHP kann nicht "nichts+1"
>> rechnen und da Du keine entsprechende Funktion drin hast um das
>> abzufangen, bricht das Script da ab. Schreib in die counter.txt mal eine
>> 0 rein und versuchs nochmal.

> Ah, das war es. Jetzt zählt der Zähler.
> Dann nochmal vielen Dank an alle Helfer.

Eine Frage schließt sich noch an.
Wenn der Besucher der Sites auf "Meine Wohnung" und "Zurück" geht,
erhöht der Zähler auch nochmal um 1.
Ich habe schon Sprungmarken und -ziel studiert aber noch kein Erfolg
gehabt. Es sollte so sein, daß beim "Zurück" der Counter nicht mehr
durchlaufen wird. https://www.wolfgang-bauer.at/index.php

index.php
<h3 id="site1"></h3> [Sprungziel]

<!DOCTYPE html>
<html lang="de">
<head>

wohnung.html
<a href="images/kubi-g.jpg"><img alt="" src="images/kubi-k.jpg" /></a>
<h3><a href="#site1">zurück</a></h3> [Sprungmarke]
</body>

Das paßt aber so nicht. Ich muß mir das noch genauer ansehen.

Freundliche Grüße
Wolfgang
--
Der Horizont der meisten Menschen ist ein Kreis mit dem Radius 0.
Und das nennen sie ihren Standpunkt.
Albert Einstein

Maik Koenig

unread,
Nov 7, 2020, 9:17:07 AM11/7/20
to
Am 07.11.2020 um 13:49 schrieb Wolfgang Bauer:

> Eine Frage schließt sich noch an.
> Wenn der Besucher der Sites auf "Meine Wohnung" und "Zurück" geht,
> erhöht der Zähler auch nochmal um 1.
> Ich habe schon Sprungmarken und -ziel studiert aber noch kein Erfolg
> gehabt. Es sollte so sein, daß beim "Zurück" der Counter nicht mehr
> durchlaufen wird. https://www.wolfgang-bauer.at/index.php

Das wird umständlicher. Das geht nicht "mal eben so".

Arno Welzel

unread,
Nov 8, 2020, 5:09:04 PM11/8/20
to
Wolfgang Bauer:

> Ich selbst schrieb:
>> Maik Koenig schrieb:
>
>>> Die Datei "counter.txt" hat keinerlei Inhalt. PHP kann nicht "nichts+1"
>>> rechnen und da Du keine entsprechende Funktion drin hast um das
>>> abzufangen, bricht das Script da ab. Schreib in die counter.txt mal eine
>>> 0 rein und versuchs nochmal.
>
>> Ah, das war es. Jetzt zählt der Zähler.
>> Dann nochmal vielen Dank an alle Helfer.
>
> Eine Frage schließt sich noch an.
> Wenn der Besucher der Sites auf "Meine Wohnung" und "Zurück" geht,
> erhöht der Zähler auch nochmal um 1.
> Ich habe schon Sprungmarken und -ziel studiert aber noch kein Erfolg
> gehabt. Es sollte so sein, daß beim "Zurück" der Counter nicht mehr
> durchlaufen wird. https://www.wolfgang-bauer.at/index.php

Das kann man nicht trivial lösen. Genau deshalb gibt es Tools wie Matomo
(ehemals "Piwik"), die eine Auswertung der Zugriffe erlauben:

<https://matomo.org/>

Dabei werden ggf. auch Cookies gesetzt, damit man Besucher eindeutig
erkennen kann und auch sieht, ob eine Seite vom *selben* Besucher erneut
aufgerufen wird oder es sich um einen weiteren Zugriff durch einen
*anderen* Besucher handelt.

Arno Welzel

unread,
Nov 8, 2020, 5:10:17 PM11/8/20
to
Wolfgang Bauer:

> Arno Welzel schrieb:
>> Maik Koenig:
>
>>> Bei dem was Wolfgang vor hat(te) droht nun wirklich keine Gefahr.
>
>> Die Gefahr wäre gewesen, dass andere Leute je nach Konfiguration der
>> PHP-Umgebung und des Webservers dieses Script für XSS-Angriffe missbrauchen.
>
> Also sollte ich die Zugriffrechte auf dem Server einschränken?

Nein, Du sollst keine selbst erstellten oder selbst angepassten
PHP-Scripte auf einem öffentlich zugänglichen Server betreiben, wenn du
keine Erfahrung mit der Programmierung in PHP hast.

Arno Welzel

unread,
Nov 8, 2020, 5:12:57 PM11/8/20
to
Maik Koenig:

> Am 06.11.2020 um 14:58 schrieb Arno Welzel:
>
>> Die Gefahr wäre gewesen, dass andere Leute je nach Konfiguration der
>> PHP-Umgebung und des Webservers dieses Script für XSS-Angriffe missbrauchen.
>
> Z.B. wie? Wer solche Behauptungen aufstellt, sollte wenigstens ein
> Beispiel liefern.

z.B. indem man GET-Parameter nutzt, die im Script ungeprüft als Variable
genutzt werden, wenn der Server nachlässig konfiguriert ist.

Ich meine dabei nicht das konkrete Script von Wolfgang, sondern die
generelle Herangehensweise, ohne fachliche Kenntnisse *Programmcode* zu
erstellen und öffentlich aufrufbar zu betreiben.

Maik Koenig

unread,
Nov 8, 2020, 6:35:38 PM11/8/20
to
Am 08.11.2020 um 23:12 schrieb Arno Welzel:
> Maik Koenig:
>
>> Am 06.11.2020 um 14:58 schrieb Arno Welzel:
>>
>>> Die Gefahr wäre gewesen, dass andere Leute je nach Konfiguration der
>>> PHP-Umgebung und des Webservers dieses Script für XSS-Angriffe missbrauchen.
>> ^^^^^^^^^^^^^^^^
>> Z.B. wie? Wer solche Behauptungen aufstellt, sollte wenigstens ein
>> Beispiel liefern.
>
> z.B. indem man GET-Parameter nutzt, die im Script ungeprüft als Variable
> genutzt werden, wenn der Server nachlässig konfiguriert ist.
>
> Ich meine dabei nicht das konkrete Script von Wolfgang, sondern die
> generelle Herangehensweise, ohne fachliche Kenntnisse *Programmcode* zu
> erstellen und öffentlich aufrufbar zu betreiben.
Nochmal: Du hast - grundsätzlich - absolut recht: Man sollte bei
Scripten (und Programmierung im Allgemeinen) aller Art (nicht nur bei
PHP) Fehler abfangen und grundsätzlich alles als gefährlich einstufen
bis das Gegenteil bewiesen ist (und besser auch dann noch). Aber das was
Wolfgang da macht ist aus meiner Sicht keinerlei Bedrohung ausgesetzt.
Du hast etwas anderes behauptet und weichst jetzt plötzlich aus. Denn
dein "dieses Script" (siehe Markierung oben) bezieht sich ja
ausdrücklich auf das, was Wolfgang nutzt.

EOD, die Diskussion ist offensichtlich beendet.

Wolfgang Bauer

unread,
Nov 9, 2020, 5:42:43 AM11/9/20
to
Maik Koenig schrieb:

> EOD, die Diskussion ist offensichtlich beendet.

Ja ist sie von meiner Seite. Ich habe dieses PHP Skript, den Couter,
weggelassen.

Freundliche Grüße
Wolfgang
--
Würde man Menschen mit Katzen kreuzen,
würde dies die Menschen veredeln aber die Katzen herabsetzen.
Mark Twain
0 new messages