tomgk: Titel mit php ändern

Hallo,

Ich möchte wissen ob es möglich ist den Titel der in der Browser-Titelleiste angezeigt wird änderbar ist.
echo wäre eine möglichkeit, aber ich includiere Daten abhängig vom Parameter.
Wenn ich zuerst die Datei include, dann würde der title-tag nicht am Anfang der Datei stehen. Umgekehrt wüsste ich nicht wie der Titel heist.
Die Datei, die includet wird, setzt den Titel abhängig vom Parameter.
Den Titel durch abfragen des Parameters mit if-Verzweigungen oder switch in der aufgerufenen Datei (nicht der include-Datei) kommt nicht in Frage.

MfG
tomgk

  1. Grüße,

    Ich möchte wissen ob es möglich ist den Titel der in der Browser-Titelleiste angezeigt wird änderbar ist.

    eigentlich ja

    echo wäre eine möglichkeit, aber ich includiere Daten abhängig vom Parameter.

    ja, normal, tun viele von uns. kein grund sich zu schämen

    Wenn ich zuerst die Datei include, dann würde der title-tag nicht am Anfang der Datei stehen. Umgekehrt wüsste ich nicht wie der Titel heist.

    nun - wenn du es schon  um 2 ecken machen willst- includiere den teil mit <title></title></head><body>rest

    aber das wäre imho nciht ganz praktisch

    Die Datei, die includet wird, setzt den Titel abhängig vom Parameter.

    leicht irritierende ausage wenn ich ehrlich bin

    Den Titel durch abfragen des Parameters mit if-Verzweigungen oder switch in der aufgerufenen Datei (nicht der include-Datei) kommt nicht in Frage.

    da fehlt ein werb der dem satz evtl merh sinn geben würde - aber wenn ich ich richtig verstanden habe, so includierst du die datei in abhängigkeit von einem parameter, den du .. woher hast? $_GET? ohne switch/if oder sonstiger absicherung? prost!

    MFG
    bleicher

    1. Hallo,

      da fehlt ein werb der dem satz evtl merh sinn geben würde - aber wenn ich ich richtig verstanden habe, so includierst du die datei in abhängigkeit von einem parameter, den du .. woher hast? $_GET? ohne switch/if oder sonstiger absicherung? prost!

      Zur Info:Ich mach das so:

      switch($_GET['action'])
      {
          case 'doA':include('A.php');
                     break;
          case 'doB':include('B.php');
                     break;
          case 'doC':include('C.php');
                     break;
          default: include('default.php');
      }

      Gibts es eine Möglichkeit auser mit echo?

      MfG
      tomgk

      1. Hallo,

        Hallo

        Zur Info:Ich mach das so:

        switch($_GET['action'])
        {
            case 'doA':include('A.php');
                       break;
            case 'doB':include('B.php');
                       break;
            case 'doC':include('C.php');
                       break;
            default: include('default.php');
        }

        Gibts es eine Möglichkeit auser mit echo?

        Wenn ich dich oben richtig verstanden habe, dann setzen die Scripte A-C den Titel in Abhängigkeit zum $_GET-Parameter welcher aber nicht "action" ist.
        Ist zwar umständlich, aber du könntest in dem oben dargestellten script einfach eine Variable schreiben, welche den neuen Titel enthält und in den Scripten A-C fängst du die Variable wieder ab, prüfst ob sie gesetzt ist bzw. leer. Wenn sie existiert und nicht leer ist ersetzt du den "geplanten" Titel durch die Variable.

        --
        sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(
        1. Hallo,

          Zur Info:Ich mach das so:

          switch($_GET['action'])
          {
              case 'doA':include('A.php');
                         break;
              case 'doB':include('B.php');
                         break;
              case 'doC':include('C.php');
                         break;
              default: include('default.php');
          }

          Gibts es eine Möglichkeit auser mit echo?
          Wenn ich dich oben richtig verstanden habe, dann setzen die Scripte A-C den Titel in Abhängigkeit zum $_GET-Parameter welcher aber nicht "action" ist.

          Meine switch-Anweisung ist etwas anders als ich angegeben habe:

          switch($_GET["action"])
          {
           case 'mail':include('Mail/index.php');
              break;
           case 'profil.view':include('profil.php');
              break;
           case 'profil.edit': include('Profil_bearbeiten.php');
              break;
           case 'logout': include('logout.php');
              break;
           case 'photo.upload': include('upload.php');
              break;
           case '':case 'home': include('Home.inc');
              break;
           default:echo('Ungültige Action '.$_GET['action']);

          }

          Ist zwar umständlich, aber du könntest in dem oben dargestellten script einfach eine Variable schreiben, welche den neuen Titel enthält und in den Scripten A-C fängst du die Variable wieder ab, prüfst ob sie gesetzt ist bzw. leer. Wenn sie existiert und nicht leer ist ersetzt du den "geplanten" Titel durch die Variable.

          Wie meinen?

          MfG
          tomgk

          1. Wie meinen?

            Nun, du schriebst oben doch sinngemäß dass in den inkludierten Dateien (Mail/index.php profil.php etc.) die Titel-Ausgabe aufgrund eines GET-Parameters erfolgt. Jetzt möchtest du diesen aber vom Inkludier-Script sozusagen "überschreiben".
            Ich nehme also an, dass in profil.php soetwas drin steht wie

            <?php  
            // (...)  
            if ($_GET['titelparameter'] == '1') {  
             echo ('<titel>Titel 1</titel>);  
            } else {  
             echo ('<titel>Kein Titel</titel>  
            }  
            / (...)
            

            Oder irgendwie sowas. Und das änderst du einfach in
            Mail/index.php
            profil.php
            Profil_bearbeiten.php
            logout.php
            upload.php
            und
            Home.inc
            in etwa dieser Art

            <?php  
            // (...)  
            if (!isset($Neuer_Titel)) {  
              
             if ($_GET['titelparameter'] == '1') {  
              $Neuer_Titel ='Titel 1';  
             } else {  
              $Neuer_Titel ='Kein Titel';  
             }  
              
            }  
            echo ('<title>'.$Neuer_Titel.'</title>');  
            //(...)  
            ?>
            

            Im Inkludierenden Formular setzt du eben $Neuer_Titel, diese Variable kann auch von den inkludierten Scripten gelesen werden. Oder du setzt sie eben nicht, dann besteht weiterhin die vorhandene Funktionalität.
            Und ja, du musst dafür alle Dateien editieren, aber ich sagte ja es sei (unnötig) umständlich :)
            Alternativ zum "isset" kannst du natürlich die Variable auch in jedem Falle setzen und im Falle des Default-Wertes die bisherige Funktionalität aufrufen.

            --
            sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(
            1. Hallo,

              Eigendlich meine ich es so:
              Alle includeten Dateien haben einen konstanten Titel, auser Profil.php.

              Ich hab die Datei jetzt so geändert:

                
              <html>  
                
              //....  
                
              switch($_GET["action"])  
              {  
               case 'mail':include('Mail/index.php');  
                  break;  
               case 'profil.view':include('profil.php');  
                  break;  
               case 'profil.edit': include('Profil_bearbeiten.php');  
                  break;  
               case 'logout': include('logout.php');  
                  break;  
               case 'photo.upload': include('upload.php');  
                  break;  
               case '':case 'home': include('Home.inc');  
                  break;  
               default:echo('Ungültige Action '.$_GET['action']);  
                  include('auth.php');  
                
              }  
              ?>  
                
              </html>  
              
              

              So kann jede Datei den Titel selbst bestimmen.

              MfG
              tomg

    2. Hi bleicher!

      da fehlt ein werb

      1. wir nennen Frauen schon lange nicht mehr so!
      2. da fehlt ein Vokal
      3. Sex löst nicht alle unserer Probleme

      off:PP

      --
      "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
  2. Hi,

    Ich möchte wissen ob es möglich ist den Titel der in der Browser-Titelleiste angezeigt wird änderbar ist.

    aus PHP-Sicht ist das nur eine Zeichenkette in der Ausgabe. PHP ist durchaus in der Lage, Zeichenketten in die Ausgabe zu bringen. Hierzu werden u.a. die Befehle 'echo' und 'print' zur Verfügung gestellt.

    echo wäre eine möglichkeit, aber ich includiere Daten abhängig vom Parameter.

    Warum sollte das eine Einschränkung sein?

    Wenn ich zuerst die Datei include, dann würde der title-tag nicht am Anfang der Datei stehen. Umgekehrt wüsste ich nicht wie der Titel heist.

    Das ist Unfug. Ich inkludiere den lieben langen Tag mit PHP Dateien, und das hindert mich nicht daran, abhängig von dieser Inkludierung an einer anderen Stelle noch etwas zu machen.

    Die Datei, die includet wird, setzt den Titel abhängig vom Parameter.

    Wenn Dir dies nicht gefällt, dann ändere es.

    Den Titel durch abfragen des Parameters mit if-Verzweigungen oder switch in der aufgerufenen Datei (nicht der include-Datei) kommt nicht in Frage.

    Warum auch? So wie ich Dich verstehe weiß die inkludierte Datei, welcher Titel gelten soll. Also hinterlege die Information dort und gib sie an geeigneter Stelle aus.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi!

      So wie ich Dich verstehe

      dass ich noch erleben darf, dass du mehr Einfühlungsvermögen öffentlich demonstrierst als ich, rettet mir den Tag - merci!

      off:PP

      --
      "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
  3. Hi!

    Ich möchte wissen ob es möglich ist den Titel der in der Browser-Titelleiste angezeigt wird änderbar ist.

    Ja, das ist der Inhalt des title-Elementes, der ist beliebig.

    echo wäre eine möglichkeit, aber ich includiere Daten abhängig vom Parameter.

    Welchem Parameter?

    Wenn ich zuerst die Datei include, dann würde der title-tag nicht am Anfang der Datei stehen.

    Man muss nicht immer alles direkt ausgeben, oder hast du bereits beim Essen Stuhlgang?

    PHP bietet außerdem eine Möglichkeit, Ausgaben zu puffern - das hat mit Gebäck und Bordell nix zu tun!

    Umgekehrt wüsste ich nicht wie der Titel heist.

    Das ist einfach: Le Tit!

    Die Datei, die includet wird, setzt den Titel abhängig vom Parameter.

    s.o!

    Den Titel durch abfragen des Parameters mit if-Verzweigungen oder switch in der aufgerufenen Datei (nicht der include-Datei) kommt nicht in Frage.

    Warum nicht?

    Willst Du in die aktive Politik, oder warum schreibst du hier solche Sätze?

    off:PP

    --
    "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
  4. Hallo,

    Meine (Vielleicht)-Lösung:

    <html>
    <body>
    <?php
    switch($_GET["action"])
    {
     //...
    }
    ?>
    </body>
    <head><title><?php echo $title ?></title></head>
    </html>

    Ist dieser Code in HTML korrekt (head nach body)?

    MfG
    tomgk

    1. Moinsen!

      Meine (Vielleicht)-Lösung:

      <html>
      <body>
      <?php
      switch($_GET["action"])
      {
      //...
      }
      ?>
      </body>
      <head><title><?php echo $title ?></title></head>
      </html>

      Ist dieser Code in HTML korrekt (head nach body)?

      Lass mich kurz überlegen... Nein!

      Was spricht denn dagegen das phpgedöns VOR dem ersten HTML-Tag zu erledigen? Dann solltest Du doch alle Variablen haben, die Du später im HTML vielleicht brauchst: Titel, Inhalt des body, ...

      --
      Trau Dich!
       
  5. Hello,

    Du könntest auf eine Template-technik umstellen, bei der die Ausgabe des Zusammengebauten templates erst am Ende des Scriptes stattfindet.
    http://forum.de.selfhtml.org/archiv/2008/8/t175925/

    Du könntest die Buffer-Funktinen von PHP benutzen.
    http://www.php.net/manual/en/ref.outcontrol.php

    Liebe Grüße aus Syburg bei Dortmund

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de