Wie mit php eine URL nach 5 Sekunden in einem neuen Tab oder neuen Fenster im Hintergrund öffnen?


25.01.2020, 23:52

Meine Webseite habe ich mit Wordpress erstellt.

4 Antworten

Das geht nicht mit PHP da PHP serverseitig ausgeführt wird, du aber eine Anforderung für die Client-Interaktion hast. Was Du suchst wäre mit JavaScript machbar, allerdings wird das was dadurch passiert von den meisten Browsern blockiert, weshalb ich dir von deinem Vorhaben abraten würde.

Woher ich das weiß:Berufserfahrung

NackterGerd  25.01.2020, 23:29

Wieso soll das nicht gehen?

Mit PHP kann man doch ganz einfach eine Seite dyfnamisch anlegen.

Beim ersten Aufruf mit Weiterleitung, bei den weiteren Aufrufen der gleichen Session eben ohne Weiterleitung

0
threadi  25.01.2020, 23:39
@NackterGerd

Und wie öffnest du das in einem neuen Fenster im Hintergrund?

0
NackterGerd  25.01.2020, 23:46
@threadi

target=“_blank“ so wie jede HTML Seite das auch macht.

Für das Öffnen eines neuen Tabs mit einem Link gibt es einen definierten HTML-Code. Ein normaler Link sieht folgendermaßen aus. Mit dem Zusatz target=“_blank“ lässt sich in modernen Browsern ein neuer Tab öffnen. Alte Browser öffnen ein neues Browserfenster.

0
threadi  25.01.2020, 23:47
@NackterGerd

Das target-Attribut ist HTML. Du sprichst davon, dass Du das in PHP schreiben willst. Also: wie?

0
NackterGerd  25.01.2020, 23:53
@threadi

Genau, mit PHP ganz normal die HTML Seite erzeugen. Diese wird dann auf dem Browser wie eine HTML Seite angezeigt.

Deshalb ja der HTML Befehl

0
threadi  26.01.2020, 00:08
@NackterGerd

Und wie steuerst Du dann die 3 Sekunden nach denen die Seite in einem neuen Fenster öffnen soll? Mit PHP? xD

0
NackterGerd  26.01.2020, 08:24
@threadi
header("refresh:40;url=..\agbs.html")

Der Wert hinter refresh gibt doch die Verzögerung an!

Hier im Beispiel 40 Sekunden

Wenn du 3 Sek haben willst dann nimm doch einfach 3

Das kannst du doch frei wählen.

0
Babelfish  26.01.2020, 10:10
@NackterGerd

Damit wird aber die aktuelle Seite neu geladen und nicht wie gewünscht eine andere Seite in einem neuem Fenster/Tab geöffnet. Deshalb geht das mit PHP eben nicht und da hilft dir auch keine target-Attribut.

Davon abgesehen ist dein vorgeschlagener HTTP-Header nicht standardisiert und ein Browser kann ihn getrost igonierern.

0
threadi  26.01.2020, 10:35
@NackterGerd

Bitte kompletten Quellcode posten. Ansonsten redest Du Unsinn.

1
NackterGerd  26.01.2020, 11:26
@threadi

Die frage war

Hat da jemand eine Idee?

Aber Offentsichtlich hast du eine bessere Idee

Dann lass und doch an deiner Idee teilhaben anstatt zu beleitigen

0
Babelfish  26.01.2020, 14:47
@NackterGerd

Du hast offenbar keinen Plan, wovon du redest. Es bleibt dabei, dass dies mit PHP nicht machbar ist.

1
NackterGerd  26.01.2020, 15:14
@Babelfish

Wieso habe ich keinen Plan ?

Ich habe dich einen - du scheinbar keinen und noch nicht mal eine Idee

0
NackterGerd  26.01.2020, 15:20
@Babelfish

Mit PHP kann man sich auf die Session-ID zugreifen und abhängig darin die Seite Dynamisch mit oder Ohne Weiterleitung generieren.

Was ist daran kein Plan

Wieso geht das mit PHP nicht?

Die Vorderung nach PHP kam übrigends vom Fragesteller und dafür habe ich nach einem Lösungsvorschlag gesucht.

Da du scheinbar einen besser Plan hast lass uns doch deinem Genialen Plan nachgehen.

Wie willst du am das Problem rangehen ?

Oder bist du planlos?

0
Babelfish  26.01.2020, 15:56
@NackterGerd

Dein „Plan“ funktioniert nicht und das wurde dir auch schon mehrfach gesagt. Mit PHP kannst du keinen neuen Tab im Hintergrund öffnen. Da hilft auch keine Session-ID und kein target _blank.

Und anstatt falsche Lösungen zu schreiben, haben ich und andere das dem Fragesteller auch schon gesagt.

1
NackterGerd  26.01.2020, 16:05
@Babelfish

Das PHP dient ja auch nur dazu die Seite Dynamisch zu machen und beim Ersten Aufruf anders zu reagieren an beim weiteren Aufruf.

Genauso wie ein Cookie Popup auch nur einmal kommt in nicht bei jedem Seitenaufruf, du must schon richtig lesen.

Das Öffnen des Tab wäre ja dann der erzeugte HTML Code

Aber wenn du meinst lassen wir dass.

Macht eh keinen Sinn

0
Babelfish  26.01.2020, 16:46
@NackterGerd

Lies du doch bitte noch mal die ursprüngliche Frage und unterstelle anderen nicht irgendwas!

0
NackterGerd  28.01.2020, 20:17
@Babelfish

Wieso?

Ich möchte gern, dass sich beim Öffnen meiner Homepage nach 3 Sekunden im Hintergrund ein Fenster oder ein Tab mit meinen AGB's (URL) öffnet.

Dies ist generell möglich,

Genauer Aufruf müsste man noch herausfinden

Vorzugsweise in php. Vor allem sollte es nicht als Pop-up Fenster im Firefox gewertet werden.

Da mit PHP die Seite dynamisch gemacht werden kann, Und nur beim ersten Aufruf zu öffnen also PHP schon mal nicht schlecht

Richtig toll wäre es, wenn das nur einmal passiert pro Besuch.

Mit PHP sollte das doch funktionieren über SessionID Cookie

Hat da jemand eine Idee?

Genau das habe ich gemacht.

Meine Ideen dem Fragesteller geschrieben.

anstatt weitere Ideen und Hilfen zu dem Problem kamen von mehreren aber nur Dumme Kommentare und nichts Zielführendes

mal sehen ob du eine Bessere Idee hast 😆😁😂😃😄

0
Babelfish  29.01.2020, 08:08
@NackterGerd

Nein, das ist generell nicht möglich und du hast auch keine zur Frage passende Antwort gegeben, da du die Frage nicht verstanden hast. Anstatt darüber mal nachzudenken verteidigst du dich nur und greifst andere Nutzer an. Das ist nicht hilfreich.

0
NackterGerd  29.01.2020, 08:54
@Babelfish

WISO habe ich die Frage nicht verstanden?

Wenn jemand hier dauernd anfängt anzugreifen und zu Unterstellen ich könnte nicht lesen, das bist doch DU!

Ließ sich selbst mal die Frage und gebe vernünftige Antworten.

0
Babelfish  29.01.2020, 12:45
@NackterGerd

Zum letzten Mal, deine Antwort ist keine Lösung zu der Frage. Ergo hast du die Frage nicht verstanden. Meine Antwort hast du offenbar auch nicht verstanden.

Und nun ist auch gut hier. Du kannst ja gerne weiter behaupten, eine Lösung zu kennen aber so lange du sie nicht hinschreibst, kann dir das keiner glauben. EOT

0

Du kannst ein JavaScript im Client ausführen und den User damit weiterleiten.

Dafür brauchst du aber kein PHP.

LG

Woher ich das weiß:Studium / Ausbildung – Gelernter Fachinformatiker, Freiberufl. Softwareentwickler

Wie dir schon gesagt wurde, geht das mit PHP nicht. Du kannst aus PHP heraus nicht steuern, dass eine (weitere) Seite im Hintergrund geladen werden soll. Das geht nur mittels Javascript und dürfte von den meisten Browsern vermutlich geblockt werden. Und das ist auch gut so!

Als Besucher einer Webseite möchte ich selbst entscheiden, ob ich irgendwelche AGB öffnen und lesen möchte oder nicht. Mir beim Besuch in einem extra Fenster oder Tab irgendwelche AGB unterzujubeln ist für mich ein Grund eine Webseite nicht wieder zu besuchen. Und ich bin mir auch sicher, dass ich damit für die Mehrzahl der Nutzer spreche.

Deshalb rate ich dir generell von so einem Vorgehen ab. Weise deine Besucher klar und deutlich aber auch nicht zu aufdringlich auf deine AGB hin und hole dir wo notwendig die Zustimmung zu diesen mittels nicht vorgewählter Checkbox ein. Das ist der übliche und beste Weg.

Woher ich das weiß:Berufserfahrung – Entwickle seit > 20 Jahren Anwendungen mit PHP.

Im Prinzip geht das.

  1. Du musst deine Seite dynamisch erstellen (mit PHP).
  2. Beim ersten Aufruf, fügst du ein refresh ein.
"header("refresh:40;url=..\agbs.html");"

3. Für das Öffnen eines neuen Tabs mit einem Link gibt es einen definierten HTML-Code. Ein normaler Link sieht folgendermaßen aus. Mit dem Zusatz target=“_blank“ lässt sich in modernen Browsern ein neuer Tab öffnen. Alte Browser öffnen ein neues Browserfenster.

Dann müsste sich das PHP Programm nur die Session-ID Merken und beim 2. Aufruf (bei gleicher Session-ID) den Header-Eintrag weglassen

Siehe z.B. hier

https://www.php.net/manual/de/function.session-id.php

Woher ich das weiß:Berufserfahrung

Flitzpiepe2002 
Beitragsersteller
 25.01.2020, 23:52

Meine Webseite ist in Wordpress erstellt. Hätte ich vielleicht erwähnen sollen :)

0
NackterGerd  26.01.2020, 00:01
@Flitzpiepe2002

Welches Snippet?

Die Startseite "index.php" und darin die Startseite in PHP erstellen.

"header("refresh:5;url=..\agbs.html");"

einfügen.

Dann wird beim Aufruf der Stratseite index.php automatisch nach 5 Sekunden zu AGBs gewechselt.

Mit dem Zusatz target=“_blank“ wird doch nicht zur Seite gewechselt sondern eine 2. aufgemacht.

Was hat das mit Snippet zu tun ?

0
Flitzpiepe2002 
Beitragsersteller
 26.01.2020, 00:13
@NackterGerd

Snippet wird als Schnipsel für Suchmaschinenergebnisse bezeichnet, ich kenne es aber auch für kleine Code Schnipsel...

0
regex9  26.01.2020, 01:59
@NackterGerd

Mich würde interessieren, wie das ganz konkret aussehen sollte, das mit dem Zusatz von target. Teile doch bitte einmal ein Code-Beispiel, welches für den obigen Fall funktionieren würde.

1
NackterGerd  26.01.2020, 08:59
@Flitzpiepe2002

Schon klar, was Snippet für SEO sind.

Aber diese Programierung ist doch kein kleines Code Schnipsel sondern eine ganze Reihe von von Schritten und eine ganze HTML Seite

0
regex9  26.01.2020, 14:38
@NackterGerd

Das ist ein Link, auf den der Seitenbesucher selbst draufklicken muss.

Die Anforderung war diese:

Ich möchte gern, dass sich beim Öffnen meiner Homepage nach 3 Sekunden im Hintergrund ein Fenster oder ein Tab mit meinen AGB's (URL) öffnet.
0