• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Redirect basierend auf Country IP nach submit form

G

Gelöschtes Mitglied 42036

Guest
Hallo!

Ich habe ein html Formular das ich per post versende und per window.location.assign auf eine "Danke" Seite redirekte.

Hilfe:

Ich würde gerne den zweistelligen ISO Countrycode über die IP des User der das Formular aufruft abfragen und für eine jeweils country spezifische redirekt seite verwenden.

Zur Zeit leite ich alle abgeschickten formulare pauschal an domain.com/danke.

Wenn jemand z.B. mit IP aus Deutschland auf das Formular kommt und das Formular abschickt, würde ich gerne an domain.com/danke/de weiterleiten.
Wenn jemand z.B. mit IP aus Spanien auf das Formular kommt und das Formular abschickt, würde ich gerne an domain.com/danke/es weiterleiten.
Wenn jemand z.B. mit IP aus Österreich auf das Formular kommt und das Formular abschickt, würde ich gerne an domain.com/danke/at weiterleiten usw.

Ich habe dazu u.a. eine ip country location api gefunden: https://ipapi.co/api/?javascript#specific-location-field

Wenn ich es richtig verstehe, kann man hier rüber z.B. nur den zweistelligen code abfragen.

Frage: Geht das (so oder ähnlich/anders) und wenn wie?

Ich bin bzgl. des redirects oder der country ip für alles offen.

Ich bin absoluter Anfänger dbzl. und würde mich über konkrete Hilfe freuen.
 
Werbung:
Auf der API Seite stehen ja die Codes, wie man das mit PHP oder Javascript abfragen kann.
Wenn du das gemacht hast, benutzt du Switch/Case und setzt dann die Umleitung zu der Seite wo das hin soll.

Womit willst du das den machen?
Ich würde es mit PHP machen.
 
Hallo!

Also wenn ich das dann richtig verstehe könnte man diese api nutzen, nur praktisch bräuchte ich dabei Hilfe, deswegen bin ja hier.

Switch/Case sagt mir, leider, gar nichts.

Wie gesagt, bzgl. der Programmiersprache bin ich flexibel.

Eventuell hast du ein Beispiel zum besseren Verständnis.
 
Werbung:
Da Du im Bereich HTML/CSS gepostet hast würde ich zunächst gerne wissen welches Wissen Du in PHP hast? Wenn das was Du da bauen willst erfordert PHP-Wissen - allein schon um das Formular abzusenden und dessen Daten zu verarbeiten. Was Du bauen willst ist weder mit HTML noch CSS machbar.
 
Hallo!

Erst einmal danke (an alle) für eure bisherigen Kommentare.

Ich entnehme dem, das es grundsätzlich "geht".

Ich würde gerne pauschal antworten.

1. Ich habe (bisher) ein wenig mit html & css experimentiert
2. Ich hab von php (aktuell) quasi keine Ahnung
3. Das Formular ist (aktuell) nicht in php, sondern wird in einer html datei (die auf meinem hosting liegt) über eine api an ein externes crm geschickt
4. Das ist (aktuell) so "gelöst", weil ich die Formulardaten in diesem externen crm komplex weiterverarbeiten kann
5. Eine eigene, ähnliche Lösung (in php) zu programmieren ist (zur Zeit) keine Option
6. Die jeweiligen individuellen, countryspezifischen Dankeseiten (in html auf meinem hosting) habe ich allerdings schon fertig: domain.com/danke/de, domain.com/danke/es usw.

Ich habe einmal zu besseren Veranschaulichung als Datei(en):

a) den aktuellen Code beigefügt
b) die original zeile die ich ersetzt habe, um die Seite nach meinen Wünschen weiterzuleiten
c) den Beispielcode für php von dem externen crm anbieter, mit dem ich mal rumgespielt, aber nicht zum laufen gekriegt habe.
 

Anhänge

  • country-ip-form-html.txt
    2,6 KB · Aufrufe: 5
  • country-ip-form-html-weiterleitungszeile.txt
    132 Bytes · Aufrufe: 4
  • country-ip-form-html-php-beispielcode.txt
    335 Bytes · Aufrufe: 4
Werbung:
Sprachweichen aufgrund der anfragenden IP ist zu kurz gedacht.
Der dt. Auswanderer auf Mallorca spricht nicht zwingend spanisch, und wird lieber (?) deutschsprachige Seiten besuchen.
Der Flüchtling aus * der in einer dt Familie Schutz gefunden hat und damit eine DE-Adresse nutzt wird wohl auch eher seine Muttersprache bevorzugen.
Die Schweiz hat 4, Südafrika 11, Indien gar 23 Amtssprachen. Englisch ist die de-facto Amtssprache in GB und den USA, jedoch werden dort viele andere Sprachen gelesen.
Die Sprache des eingestellten Browsers abzufragen halte ich deshalb für sinnvoller.

SELFHTML: Sprachweiche
 
Hi!

Danke für den Input,.

Es geht mir jedoch "nicht nur" um die Sprache, sondern DAS LAND.

Derjenige der das Formular aus Spanien abschickt, bekommt ein "Gratias" und weitere Hinweise die, DAS LAND, also Spanien betreffen.

Ob Spanier, oder Deutscher auf Malle oder Engländer am Strand von Benidorm, egal.

Der Flüchtling aus X, bekommt ein "Danke" und weitere Hinweise die, DAS LAND, also Deutschland betreffen.

Der Belgier bekäme, Danke auf de, nl & fr und 3 Links mit Hinweisen in der jeweiligen Sprache, die ebenso DAS LAND, also Belgien betreffen.
 
Wenn das Formular seine Daten an eine externe URL abschickt, hast Du keine Chance die Danke-Seite in irgendeiner Form zu beeinflussen. Du müsstest dich dazu an denjenigen wenden der diese externe URL betreut.
 
Werbung:
Wenn ich dann jetzt noch jemanden finden würde der mir erklärt wie genau das gemacht werden müsste ...
 
Werbung:
Weil JavaScript ist bei mir (zur Zeit) ähnlich wie php ...
 
Hast du mal versucht die Codes einfach zu testen wie, die da stehen?
Dann würdest du in der Konsole sehen, dass da schon alles steht, was du brauchst.
Dann den country_code herausholen und fertig
Javascript:
fetch('https://ipapi.co/json')
.then(function(response) {
  response.text().then(txt => {
    let infos=JSON.parse(txt);
    alert(infos.country_code)
  });
})
.catch(function(error) {
  console.log(error)
});
Da wo der Alert ist , musst du jetzt nur noch dein Switch Case einbauen, das gibt es auch bei Javascript.

Falls es nur 2- 3 Länder sind, würde if Else auch gehen

Das solltest du jetzt aber mal selber versuchen.
Wenn es nicht klappt, dann poste deine Versuche , damit wir sehen können warum es nicht geklappt hat.
 
Hast du mal versucht die Codes einfach zu testen wie, die da stehen?

"einfach zu testen" klingt einfach, ist wahrscheinlich auch einfach, wenn man (wie Du)= weiß(t) wie es geht ... ich leider nicht

Dann würdest du in der Konsole sehen, dass da schon alles steht, was du brauchst.

Soweit habe ich das verstanden und ja auch schon mitgedacht, deswegen hatte ich den Link zur Diskussion gestellt ...

Dann den country_code herausholen und fertig

klingt auch wieder einfach, ist wahrscheinlich auch einfach, wenn man (wie Du)= weiß(t) wie es geht ... ich leider nicht. Bei der Formulierung fühlt man sich schon wie blöd ...

"musst du jetzt nur noch"

Dann sind meine Denkstrukturen wohl zu komplex, um diese "einfachen" Dinge zu verstehen.

P.S. Ich habe Deine Links jetzt mehrfach durchgelesen, ein paar Stunden lang recherchiert, aber auch andere, ähnliche Information sind mir einfach zu theoretisch und abstrakt.
 
Werbung:
Information sind mir einfach zu theoretisch und abstrakt.
Das ist nun man so, wenn man programmieren will. Man findet selten Beispiele, die man einfach per Copy/Paste übernehmen kann, da muss man sich schon einarbeiten.
 
Das war jetzt aber nicht meine Absicht, der letzte Tropfen, in Deinem überquellenden Frustrationsfäßchen zu sein.

Nur mal so als anregender Vergleich ...

Ich spreche fließend rund ein Dutzend "richtige Sprachen", u.a. chinesisch (ist übrigens einfacher als man denkt, denn man hat ja die hübschen Bildchen dazu) und russisch. Keiner meiner Lehrer hat mir übrigens eine Bücherliste oder ein Wörterbuch in die Hand gedrückt und gesagt: "Das ist ganz einfach, steht ja alles da, musst Du nur machen, ist doch logisch oder? ..."

Mein Russisch nutze ich zur Zeit dazu F.`s aus U. zu helfen die notwendigen deutschen Formulare auszufüllen.

A) Ich könnte denen sagen: "Lern erst mal Deutsch, und dann füll das (alleine) aus, und dann werde ich oberlehrerhaft mit Sicherheit einen Fehler finden und dann usw. Bis dahin sind die verhungert (Inflation) und/oder erfroren (Pipeline) oder was auch immer ...

oder

B) Ich fülle es in einem empathischen Dialog gemeinsam aus. Alle frugen mich übrigens bisher, wie ich Ihre Sprache "gelernt habe" und ich sage "learning by doing". Und ich lerne jeden Tag was neues ... Und wo ich nicht weiterkomme, weil ich ja kein Muttersprachler bin, arbeite ich mit Händen und Füßen oder male und zeichne oder imitiere Tierstimmen, weil mir das Wort für Kuh fehlt ... hat aber super geklappt.

Aber am Ende helfe ich ALLEN, weil sie Hilfe brauchen ...

Meine Großmutter hat sich nach "dem Krieg" bei der Heilsarmee engagiert, weil die Ihr auch geholfen hatten, dem Feind wohlgemerkt ...

Die hat oft erzählt, wie Alkoholiker nach Essen gefragt haben ... die hat sie auch nicht belehrt oder verurteilt, viele haben dann trotzdem weiter gesoffen, einige haben die Kurve gekriegt und davon waren die meisten auf Ihrer Beerdigung ...

Ich habe übrigens mal ein paar von meinen F-Schützlingen nach P-Hilfe gefragt und siehe da ... hätte ich auch schon eher darauf kommen können ... 3 geile Lösungen mit einem Dutzend Anregungen und alle funktionieren einwandfrei ...

Werde ich jetzt hier aber nicht posten, weil dann ist ja der "Lerneffekt" weg.

Helfen oder lassen, ist wie lieben oder lassen.

So, ich bin dann mal weg (für immer, zumindest hier) ...

Alles Gute, in dem Sinne ...
 
P.S. Ich habe Deine Links jetzt mehrfach durchgelesen, ein paar Stunden lang recherchiert, aber auch andere, ähnliche Information sind mir einfach zu theoretisch und abstrakt.
Ich habe dir eigentlich schon viel zu viel geholfen. Hatte zumindest gehofft dass du das Switch oder if da einbauen kannst/versucht.

Es gibt ständig Diskussionen wenn ich oder wer anders zu viel helfen , weil copy Paste sollte das letzte Mittel sein.

Deswegen

Hast du mein Code getestet?
Kam da ein Alert mit der Länderkürzel?
Dann teste doch einfach mal ein einfaches if else mit DE und EN oder so.
Hier ist ein anderer Link
der ist meiner Meinung einfacher zu verstehen( auch für Anfänger).
Wenn du das hinbekommen hast ,verlängerst du die Abfrage auf 3,4 Länder.
Für noch mehr Länder sollte Switch Case benutzt werden
Wenn du die else if Abfrage geschafft hast, solltest du die switch Abfrage auch hinbekommen.

So, ich bin dann mal weg (für immer, zumindest hier) ...
Was jetzt?
Jetzt einfach in ein anderes Forum rennen und hoffen auf einer ganzen Lösung bringt auch nichts,Da suchst du lange.

Wo ist denn jetzt das Problem das else /switch da einzubauen?
Versuche es doch einfach.
Falls es nicht klappt, bekommst du schon Hilfe.
Doch wenn du es nicht mal versuchst, wird die Hilfe in den meisten Foren nicht kommen.

Notfalls helfe ich dir schon , doch komplett ohne eigene Versuche kann ich hier auch nicht helfen.
Ich habe sowieso schon zu viel geholfen , was fast überall in den Foren nicht erwünscht ist.
 
Werbung:
Das war jetzt aber nicht meine Absicht, der letzte Tropfen, in Deinem überquellenden Frustrationsfäßchen zu sein.
Bist du nicht, keine Sorge.
Deine Vergleiche hinken gewaltig! Menschen in Not zu helfen kann man wohl kaum mit Hilfe in Foren vergleichen.
Ich habe sowieso schon zu viel geholfen , was fast überall in den Foren nicht erwünscht ist.
Erwünscht oder nicht, das scheint doch niemanden zu interessieren. Also mach' fröhlich so weiter. :wink: Es scheint ja sowieso nur wenige zu stören, wenn fertige Lösungen gepostet werden, anstatt die Hilfesuchenden in die richtige Richtung zu schubsen.

Ich halte das Sprichwort für sehr treffend:
Gib einem Hungernden einen Fisch, und er wird einmal satt, lehre ihn Fischen, und er wird nie wieder hungern.
 
Zurück
Oben