Variablen per URL ansprechen
Variablen per URL ansprechen
Hallo zusammen,
ich habe mal eine Frage. Ich stelle mir eine Seite vor, welche beispielsweise eine Variable im Text beinhaltet. Diese Variable möchte ich per URL ausfüllen.
Beispiel:
Hallo (VORNAME), ...
(VORNAME) soll die Variable sein, die ich wie folgt ausfüllen lassen möchte:
https://meineseite.de/index.html?VORNAME=Katja
geht so etwas? Und wenn ja, wie?
LG
ich habe mal eine Frage. Ich stelle mir eine Seite vor, welche beispielsweise eine Variable im Text beinhaltet. Diese Variable möchte ich per URL ausfüllen.
Beispiel:
Hallo (VORNAME), ...
(VORNAME) soll die Variable sein, die ich wie folgt ausfüllen lassen möchte:
https://meineseite.de/index.html?VORNAME=Katja
geht so etwas? Und wenn ja, wie?
LG
- Tommy Herrmann
- Site Admin
- Beiträge: 6588
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Variablen per URL ansprechen
Hallo Pinky,
Du - diese Seite ist sicher so mindestens 15 Jahre alt, da hatte ich das mal in der alten Software NOF ausprobiert.
Achte auf die URL (oben im Browser) und das dadurch ausgefüllte Formular oben auf der Seite:
http://www.tommyherrmanndesign.com/nof/ ... name=Pinky
Das geht mit "GET":
https://www.php.net/manual/de/reserved. ... es.get.php
Hier sind aber erhebliche Sicherheitsrisiken zu beachten.
Du musst Dich da selbst schlau machen, denn ich bin mit diesen PHP-Kram zu wenig beschäftigt. Im Prinzip können Hacker, wenn Du da etwas falsch machst, alles machen was sie wollen, passe also auf.
Beachte dazu insbesondere die PHP-Funktion "htmlentities":
https://www.php.net/manual/de/function.htmlentities.php
Unser Supporter "Klaus" könnte Dir das ganz genau beschreiben, er ist aber schon lange nicht mehr hier gewesen - vielleicht guckt er ja zufällig.
Du - diese Seite ist sicher so mindestens 15 Jahre alt, da hatte ich das mal in der alten Software NOF ausprobiert.
Achte auf die URL (oben im Browser) und das dadurch ausgefüllte Formular oben auf der Seite:
http://www.tommyherrmanndesign.com/nof/ ... name=Pinky
Das geht mit "GET":
https://www.php.net/manual/de/reserved. ... es.get.php
Hier sind aber erhebliche Sicherheitsrisiken zu beachten.
Du musst Dich da selbst schlau machen, denn ich bin mit diesen PHP-Kram zu wenig beschäftigt. Im Prinzip können Hacker, wenn Du da etwas falsch machst, alles machen was sie wollen, passe also auf.
Beachte dazu insbesondere die PHP-Funktion "htmlentities":
https://www.php.net/manual/de/function.htmlentities.php
Unser Supporter "Klaus" könnte Dir das ganz genau beschreiben, er ist aber schon lange nicht mehr hier gewesen - vielleicht guckt er ja zufällig.
Re: Variablen per URL ansprechen
Vielen Dank, in dem Beispiel geht es aber um Formularfelder. Das geht relativ einfach und kenne ich. Meine Frage bezieht sich eher auf eine textbasierte Zeile, welche durch die URL verändert werden soll. Also wie folgt:
Beispiel:
Die Textvariable <NAME> würde ich gerne mit der URL ansprechen. Ich bin mir nur nicht sicher ob dazu ein JavaScript notwendig ist.Hallo <NAME>, willkommen im Kundenbereich...
Beispiel:
- Tommy Herrmann
- Site Admin
- Beiträge: 6588
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Variablen per URL ansprechen
Warte mal - ich glaube Du hast mich da noch nicht ganz verstanden.
Da braucht es kein Formular.
Ich erstelle mal eben ein Beispiel. Gucke mal in 10 Minuten wieder hier - oder so...
Da braucht es kein Formular.
Ich erstelle mal eben ein Beispiel. Gucke mal in 10 Minuten wieder hier - oder so...
- Tommy Herrmann
- Site Admin
- Beiträge: 6588
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Variablen per URL ansprechen
Gucke mal:
https://www.mobirise-tutorials.com/Tuto ... ky#PHP-get
Die Seite muss die Erweiterung .php erhalten
Der PHP Code im "HTML Editor":
https://www.mobirise-tutorials.com/Tuto ... ky#PHP-get
Code: Alles auswählen
https://www.mobirise-tutorials.com/Tutorials-3/PHP-get.php?name=Pinky
Der PHP Code im "HTML Editor":
Code: Alles auswählen
<?php
echo 'Hallo ' . htmlspecialchars($_GET["name"]) . '!';
?>
Re: Variablen per URL ansprechen
Das ist genial. Vielen Dank
- Tommy Herrmann
- Site Admin
- Beiträge: 6588
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Variablen per URL ansprechen
… prima, dass es dir helfen konnte
Meine Beispielseite ist umgezogen:
https://www.mobirise-tutorials.com/Tuto ... ky#PHP-get
Meine Beispielseite ist umgezogen:
https://www.mobirise-tutorials.com/Tuto ... ky#PHP-get
Re: Variablen per URL ansprechen
OK, es klappt, aber erklärt mal einem Blöden wie mir, wofür man das brauchen kann
Ich hab es noch nicht ganz verstanden was man damit machen könnte.
Ich hab es noch nicht ganz verstanden was man damit machen könnte.
Gruß Volker
- Tommy Herrmann
- Site Admin
- Beiträge: 6588
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Variablen per URL ansprechen
Du könntest mit so etwas zum Beispiel Variablen übergeben, wie hier:
http://www.tommyherrmanndesign.com/nof/ ... -Aktionen/
... oder hier (ich denke ich habe da mindestens 20 Beispiele):
http://www.tommyherrmanndesign.com/nof/FormularAlter
... oder auch hier in Mobirise:
https://www.mobirise-tutorials.com/Mitglieder.php
Dort steht dann personalisiert, nach dem Login, der Benutzername.
… man könnte auch ganze Inhalte über die URL auf seiner Seite anzeigen. Beispiel:
Hallo Volker. Man kann hier auch ganze Inhalte über die URL eintragen!
https://www.mobirise-tutorials.com/Tuto ... en#PHP-get
So sieht diese URL dann aus (ohne den Ankerlink), wobei die maximale Länge einer URL in der Adressleiste 2048 Zeichen beträgt:
Du könntest damit zum Beispiel auch komplexe Formulare ausfüllen, je nachdem woher der Aufruf kommt.
http://www.tommyherrmanndesign.com/nof/ ... -Aktionen/
... oder hier (ich denke ich habe da mindestens 20 Beispiele):
http://www.tommyherrmanndesign.com/nof/FormularAlter
... oder auch hier in Mobirise:
https://www.mobirise-tutorials.com/Mitglieder.php
Dort steht dann personalisiert, nach dem Login, der Benutzername.
… man könnte auch ganze Inhalte über die URL auf seiner Seite anzeigen. Beispiel:
Hallo Volker. Man kann hier auch ganze Inhalte über die URL eintragen!
https://www.mobirise-tutorials.com/Tuto ... en#PHP-get
So sieht diese URL dann aus (ohne den Ankerlink), wobei die maximale Länge einer URL in der Adressleiste 2048 Zeichen beträgt:
Code: Alles auswählen
https://www.mobirise-tutorials.com/Tutorials-3/PHP-get.php?name=Volker.+Man+kann+hier+auch+ganze+Inhalte+%C3%BCber+die+URL+eintragen
Du könntest damit zum Beispiel auch komplexe Formulare ausfüllen, je nachdem woher der Aufruf kommt.
Re: Variablen per URL ansprechen
Ich denke, es gibt zahlreiche Anwendungsbeispiele. Z. B. für Gutscheincodes, preisliche Ankündigungen oder ganz interessant mehrseitige Formulare auf welcher Daten von der Vorseite übernommen werden.
Re: Variablen per URL ansprechen
Bei dem Beispiel wäre noch ein <br> interessant. Wie würde man das an die URL übergeben?
- Tommy Herrmann
- Site Admin
- Beiträge: 6588
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Variablen per URL ansprechen
sorry, habe mich auch noch kaum damit beschäftigt. Weiß ich auch gerade nicht.
Suche mal mit Google, wenn Du was findest lasse es uns hier auch wissen.
Suche mal mit Google, wenn Du was findest lasse es uns hier auch wissen.
- Tommy Herrmann
- Site Admin
- Beiträge: 6588
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Variablen per URL ansprechen
Moin,
im Übrigen lässt sich die Ausgabe im Mobirise-Block ja auch steuern, indem beispielsweise die Blockbreite verringert wird.
Ich habe mal die KI "ChatGPT" zu dem Problem befragt.
Es ist ja auch logisch, dass das so nicht geht, denn genau dafür ist ja die Escaping-Funktion htmlspecialchars() auch da, eben um HTML-Code zu verhindern. Ich werde das also aus Sicherheitsgründen weder testen noch weiter empfehlen.
ACHTUNG: Das Verwenden von HTML-Tags im Query-String ist nicht sicher und kann zu Cross-Site-Scripting (XSS)-Angriffen führen, wenn die Inhalte ohne ordnungsgemäße Validierung ausgegeben werden. Wenn tatsächlich HTML im Query-String zugelassen werden sollte, sollte dies mit großer Vorsicht geschehen und sichergestellt werden, dass die Eingaben gründlich geprüft werden.
Tommy an ChatGPT:
im Übrigen lässt sich die Ausgabe im Mobirise-Block ja auch steuern, indem beispielsweise die Blockbreite verringert wird.
Ich habe mal die KI "ChatGPT" zu dem Problem befragt.
Es ist ja auch logisch, dass das so nicht geht, denn genau dafür ist ja die Escaping-Funktion htmlspecialchars() auch da, eben um HTML-Code zu verhindern. Ich werde das also aus Sicherheitsgründen weder testen noch weiter empfehlen.
ACHTUNG: Das Verwenden von HTML-Tags im Query-String ist nicht sicher und kann zu Cross-Site-Scripting (XSS)-Angriffen führen, wenn die Inhalte ohne ordnungsgemäße Validierung ausgegeben werden. Wenn tatsächlich HTML im Query-String zugelassen werden sollte, sollte dies mit großer Vorsicht geschehen und sichergestellt werden, dass die Eingaben gründlich geprüft werden.
ChatGPT hat geschrieben:
Der Grund, warum der <br>-Tag in Ihrer Ausgabe sichtbar ist, liegt daran, dass die Funktion htmlspecialchars() HTML-Zeichen wie < und > in ihre HTML-Entities (< und >) umwandelt.
Dadurch wird der Tag in der Ausgabe angezeigt, anstatt als HTML interpretiert.
Um tatsächlich einen Zeilenumbruch bei der Ausgabe zu erzeugen, müssen Sie den Tag vor der Ausgabe entschlüsseln oder ihn direkt als HTML interpretieren. Dafür können Sie htmlspecialchars() anpassen oder eine andere Lösung verwenden.
Hier ist der angepasste Code:
Lösung: Mit htmlspecialchars_decode
Nutzen Sie htmlspecialchars_decode, um den <br>-Tag wieder in HTML umzuwandeln:
Erklärung:Code: Alles auswählen
<?php echo 'Hallo ' . nl2br(htmlspecialchars_decode($_GET["name"])) . '!'; ?>
htmlspecialchars_decode(): Wandelt HTML-Entities wie <br> zurück in <br>.
nl2br() (optional): Wandelt zusätzliche Zeilenumbrüche (\n) in HTML-<br>-Tags um, falls sie im String vorkommen.
Beispiel-URL:
Code: Alles auswählen
https://www.mobirise-tutorials.com/Tutorials-3/PHP-get.php?name=Volker.+Man+kann+hier+auch+ganze+%3Cbr%3EInhalte+%C3%BCber+die+URL+eintragen
Sicherheitshinweis
Seien Sie weiterhin vorsichtig, wenn Sie HTML in der URL zulassen. Um XSS-Angriffe zu vermeiden:
Validieren Sie Eingaben.
Verwenden Sie Escaping-Funktionen wie htmlspecialchars() standardmäßig und nur gezielt htmlspecialchars_decode() für bekannte Eingaben.
Tommy an ChatGPT:
Vielen Dank, habe es verstanden und werde es aus Sicherheitsgründen so lassen.
ChatGPT hat geschrieben:
Gern geschehen! Es ist eine kluge Entscheidung, Sicherheit an erster Stelle zu setzen und HTML-Tags nicht direkt zu interpretieren, wenn es nicht absolut notwendig ist.
Falls Sie irgendwann sicher und kontrolliert bestimmte Inhalte wie Zeilenumbrüche oder andere HTML-Tags zulassen möchten, können Sie sich mit Whitelist-Ansätzen (erlaubte Tags definieren) oder Libraries wie https://htmlpurifier.org/ beschäftigen. Diese helfen, nur gewünschte und sichere Inhalte zuzulassen.
Falls Sie weitere Fragen haben oder Unterstützung benötigen, stehe ich gerne zur Verfügung. Viel Erfolg mit Ihrem Projekt!
- Tommy Herrmann
- Site Admin
- Beiträge: 6588
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Variablen per URL ansprechen
pinky hat geschrieben: Mi 8. Jan 2025, 15:45 Ich denke, es gibt zahlreiche Anwendungsbeispiele. Z. B. für Gutscheincodes, preisliche Ankündigungen oder ganz interessant mehrseitige Formulare auf welcher Daten von der Vorseite übernommen werden.
Moin Pinky,
Du hast oben mehrseitige Formulare erwähnt, dafür hatte ich ja auch Beispiele in meinen alten NOF-Seiten.
Hier kann ich aber wirklich den Formular-Generator von "Arclab" empfehlen, mit dem man so etwas alles ganz sicher, super und relativ einfach machen kann.
Hier mal ein Beispiel von mir mit einem Formular über 3 Seiten:
https://www.mobirise-tutorials.com/Form ... eitig.html
Re: Variablen per URL ansprechen
Danke Arclab habe ich auch in Verwendung.
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste