xantofee: Subdomain via php ermitteln und in html ausgeben

Hallo liebe selfhtml gemeinde, bin neu hier und habe ein kleines Problem was ich nicht selber lösen kann.

ich möchte gerne für meine eigene webseite eine funktion einbauen, als ähnliches beispiel führe ich folgende url auf

http://hans.müller.hat-gar-keine-homepage.de/

ich möchte aber, dass mein besucher seinen namen als subdomain eingibt z.b. http://hans.müller.meinseurl.tld/

so wird dann der besucher mit seinem namen begrüßt.

per html (wird vom server als php seite behandelt) habe ich dann folgenden text

hallo hans müller, herzlich willkommen

für eure hilfe bin ich jedem dankbar

vielen dank und schöne grüße

  1. Hello,

    schau Dir mal an, was das Array $_SERVER zu beiten hat.

    echo "<pre>\r\n";
    echo htmlspecialchars(print_r($_SERVER,1));
    echo "</pre>\r\n";

    Und den String daraus, der Dir gefällt, kannst Du dann z.B. mit explode() zerlegen
    http://de3.php.net/manual/en/function.explode.php

    Und dann kannst Du auf jedes Element des Ergebnisarrays zugreifen.
    Mit count() kannst Du vorher nachschauen, wieviele Elemente es sind.

    Ein harzliches Glückauf

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  2. vielen dank für die prompte antwort,
    leider kann ich es aber nicht umsetzen, da ich mich noch nicht mit php richtig auseinander gesetz habe.
    für einen kompletten code. den ich einbinden kann, wäre ich absolut dankbar, anders kriege ich das nicht hin.

    sicherlich ist das für einen profi ein klax und kein großes ding aber habt bitte mit mir erbarmen, ich über noch :D

    1. Viel Spaß beim Üben :)

      Der Tom hat dir ja schon einen Schubser in die richtige Richtung gegeben...

      ... benutz einfach mal www.php.net und geb da die Funktionen ein, die Tom dir vorgeschlagen hat.

    2. Mahlzeit,

      leider kann ich es aber nicht umsetzen, da ich mich noch nicht mit php richtig auseinander gesetz habe.

      Kein Problem: http://tut.php-quake.net/

      für einen kompletten code. den ich einbinden kann, wäre ich absolut dankbar, anders kriege ich das nicht hin.

      Für einen Scheck, den ich auf mein Konto einzahlen kann, wäre ich absolut dankbar. Meinst Du, wir können uns einigen?

      Ach, nicht? Naja, immerhin ist das meine Freizeit hier ... und "hier" ist übrigens "SELF"HTML und nicht "CODEBESTELLSEITEFÜRLEUTEDIEKEINELUSTHABENWASZULERNEN"HTML.

      sicherlich ist das für einen profi ein klax und kein großes ding aber habt bitte mit mir erbarmen, ich über noch :D

      Wenn Du denn üben würdest - im Moment scheinst Du mehr den Eindruck eines Mimimi-bitte-macht-mir-alles-weil-ich-keinen-Plan-hab zu erwecken ...

      MfG,
      EKKi

      --
      sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
      1. vielen dank für den tipp, ich werde mich mal bemühen und hoffe, dass ich es schaffe.
        wollte nicht den eindruck erwecken, zu betteln. ne ne, das nicht. sorry EKKi, dass ich deine freizeit beansprucht habe. mit ist bekannt, dass hier selfhtml forum ist, und die bedeutung und den sinn verstehe ich auch, hatte halt nur die hoffnung, dass vielleicht jemand diese idee hatte und auch umgesetzt hatte und sein wissen teilen wollte.
        wie ich schon sagte, die aussagen von EKKi sind nicht hilfreich und wirklich überflüssig. bevor man sowas schreibt, sollte man besser nichts schreiben, da ist wohl der sinn solcher foren verkannt worden :(
        dennoch, vielen dank

        1. Hallo!

          Der hat schon recht, mit dem was er schreibt. Und wenn es keiner schreibt, merkens die Leute auch nicht. Nur etwas netter haette er schon sein koennen.

          Hilfreich war er schon, weil er nen brauchbaren Link serviert hat.

    3. (Hallo|Hi(ho)|Tag|Mahlzeit) xantofee[1],

      leider kann ich es aber nicht umsetzen, da ich mich noch nicht mit php richtig auseinander gesetz habe.

      Mhmm, also Unmöglichkeit der Umsetzung mangels Auseinandersetzung? ;-)

      Falls dein Subdomain-Bastel-Spielchen nicht das einzige Server-Script auf deiner Website bleiben soll, dann wäre es eine gute Idee, sich mit einer passenden Script-Sprache vertraut zu machen. Notfalls kann es auch PHP sein ... ;-)

      Ergänzend zu den schon geposteten Linktipps hätte ich noch:

      DSP: Datenbank, MySQL und PHP ein Tutorial zum Runterladen.

      Für PHP-Einsteiger zum Reinschnuppern eignet sich PHP für Dich (wenn man die Hinweise auf der Homepage beachtet).

      Für öfter auftretende Probleme gibt es so genannte FAQ-Sammlungen. Die bekanntesten in deutscher Sprache:
      http://www.php-faq.de/
      http://faq.php-q.net/

      Und schließlich hat auf der PHP-Website das Online-PHP-Handbuch ein paar nützliche Tipps für Einsteiger parat.

      für einen kompletten code. den ich einbinden kann, wäre ich absolut dankbar, anders kriege ich das nicht hin.

      Dieses Forum trägt "SELF" im Namen, weil es vor allem Hilfe zur SELBST-Hilfe leisten will/soll. In anderen Foren (oder Boards) bekommst auf so einen Post schon mal einen fertigen Quelltext (manchmal sogar mit Erläuterungen) hingeklatscht. Hier hilft man dir dabei, das Problem selbstständig zu lösen, damit du das in Zukunft ganz alleine "hinkriegst". Fertige Quelltexte können da manchmal nützlich sein -- aber eben nicht immer.

      sicherlich ist das für einen profi ein klax und kein großes ding ...

      Auch für Nichtprofis stellt das keine sooo große Herausforderung dar. Ich würde es sogar als brauchbar für Anfänger bezeichnen. Man lernt einige Grundlagen (wie das für PHP-Server-Scripts sehr wichtige $_SERVER-Array)  kennen.

      ... aber habt bitte mit mir erbarmen, ...

      Man hat sich deiner doch bereits erbarmt. Der Google-Such-Tipp liefert doch eine Menge Beispiele ...

      ... ich über noch :D

      Wirklich?

      Das PHP-Script (aber nur, weil heute Feiertag ist):

        
      <?php  
      function foxy_subdomain(  
       $default = 'Unbekannte(r)'  
      ) {  
        
        // wenn Browser keinen Host-Header geschickt hat, begnuegen wir uns mit SERVER_NAME  
        $host_name = empty($_SERVER['HTTP_HOST']) ? $_SERVER['SERVER_NAME'] : $_SERVER['HTTP_HOST'];  
        
        // $host_name ist nicht definiert? (sollte (eigentlich) nicht vorkommen ...)  
        if ( empty($host_name) ) {  
          return $default;  
        }  
        
        // ist $host_name eine IP-Adresse?  
        if ( ip2long($host_name) ) {  
          return $default;  
        }  
        
        // entspricht $host_name dem geforderten Muster (subdomain.2ndleveldomain.tld)?  
        if (!preg_match('/([^\.]+)\.[^\.]+\.[^\.]+\z/', $host_name, $treffer)) {  
          return $default;  
        }  
        
        return $treffer[1];  
      }  
      ?>  
      
      

      Wenn dein Server Dateien mit der Endung ".html" als PHP-Scripte ausführt, kannst du die Funktion im einfachsten Fall so einbauen:

        
      <html>  
      ...  
      <!-- hier obigen Quelltext einsetzen -->  
      ...  
      <p>Hallo, <?php print(foxy_subdomain()); ?></p>  
      ...  
      </html>  
      
      

      Willst du die Funktion in mehreren Dateien benutzen, dann solltest du das (erste) Script als "richtiges" PHP-Script abspeichern und mit Hilfe der Funktion require_once() einbinden.

      Was die verwendeten Funktionen im Einzelnen machen, erklärt das PHP-Handbuch ausführlich:

      empty()
      ip2long()
      preg_match()
      print()

      MffG
      EisFuX

      [1] Mhmm, ich kenne zwar diverse Feen, aber eine xanto-fee ist mir noch nicht untergekommen. ;-)
      Ich hoffe, du musst dir deinen Lebensunterhalt nicht mit (schlecht bezahltem) Austragen von Briefen verdienen.

      1. Mahlzeit,

        Wenn dein Server Dateien mit der Endung ".html" als PHP-Scripte ausführt, kannst du die Funktion im einfachsten Fall so einbauen:

        <html>
        ...
        <!-- hier obigen Quelltext einsetzen -->
        ...
        <p>Hallo, <?php print(foxy_subdomain()); ?></p>
        ...
        </html>

          
        <haarspalt>Damit unsere Fee gleich vernünftig das [EVA-Prinzip](http://de.wikipedia.org/wiki/EVA-Prinzip) kennenlernt, würde ich stattdessen folgendes vorschlagen:</haarspalt>  
          
        ~~~html
        <!-- hier obigen Quelltext einsetzen -->  
        <!DOCTYPE [...]>  
        <html>  
        [...]  
        <p>Hallo, <?php print(foxy_subdomain()); ?></p>  
        [...]  
        </html>
        

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
  3. Ähm, hat dein Anbieter überhaupt wildcard für deine domain aktiviert?
    Sonst kannst du es nämlich komplett vergessen?

    Hans

    1. ja wildcard sind aktiviert.

      1. ja wildcard sind aktiviert.

        hi,
        Dann wirst du hier fündig:
        http://www.tutorials.de/forum/php/249331-subdomain-einen-teil-auslesen-regul-re-ausdr-cke.html

        $domain = $_SERVER['HTTP_HOST'];
        echo "Aufgerufene Domain: $domain";
        $teile = explode(".", $domain);
        $teile = array_reverse($teile);
        $suchdomain = $teile[2].".".$teile[1].".".$teile[0];
        echo "<br>Die reine Subdomain lautet: $suchdomain";

        oder hier:
        http://www.google.de/search?q=subdomain+mit+php+auslesen&hl=de

        Hans

        1. hallo hans,

          vieeeelen dank, dann probiere ich es mal aus.

          nochmals vielen dank

          top