Markus: mit PHP Eigenschaft eines DIVs ändern

hallo zusammen,

ich möchte die breite eines divs ändern und zwar dynamisch.

kann man über php die style-angaben eines elementes ändern?

vielen dank.

  1. Hello out there!

    kann man über php die style-angaben eines elementes ändern?

    Ja, natürlich.

    Du weißt, was PHP tut? Oft wird es dazu benutzt, HTML-Quelltext zu generieren; CSS-Quelltext ist ebenso mäglich.

    See ya up the road,
    Gunnar

    --
    “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
    1. hi Gunnar,

      in bin newbie in sachen phh.

      nehmen wir an, ich habe folgendes style für ein div definiert:

      #content {width:220px;}

      ich möchte dies nun auf width 300px ändern.

      mit javascript würde ich das so machen:

      <script type="text/javascript">
      <!--
      document.getElementById("content".style.width = "300px";
      //--></script>

      wie geht das denn mit php?

      1. Hi,

        da fehlt natürlich eine klammer:

        document.getElementById("content").style.width = "300px";

      2. hi,

        wie geht das denn mit php?

        In dem du das Dokument neu lädst.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
      3. Hi,

        wie geht das denn mit php?

        was Gunnar dir missverständlich unmissverständlich sagen wollte war eher folgendes: PHP=Server=du kannst alles rein schreiben, was du auch in deine HTML-Datei schreiben könntest. Was PHP nicht kann ist eine Seite zu verändern die der Browser bereits anzeigt (wie deine JavaScript-Beispiel).
        Es kann allerdings ein JavaScript in die Seite schreiben was das tut.

        MfG
        Rouven

        --
        -------------------
        Ambition is the last refuge of failure.  --  Oscar Wilde (Irish Poet, Novelist, Dramatist and Critic, 1854-1900)
        1. Hello out there!

          Es kann allerdings ein JavaScript in die Seite schreiben was das tut.

          Warum sollte PHP das tun? Es kann doch den berechneten Wert für die Breite in den Quelltext schreiben.

          (Wie auch immer der berechnet wird. Darüber schweigt sich Markus ja aus.)

          See ya up the road,
          Gunnar

          --
          “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
          1. Hello out there!
            (Wie auch immer der berechnet wird. Darüber schweigt sich Markus ja aus.)
            Gunnar

            hi Gunnar,

            per parameterübergabe.

            wenn var=1 width 220px
            wenn var=2 width 300px

            1. Hello out there!

              (Wie auch immer der berechnet wird. Darüber schweigt sich Markus ja aus.)

              per parameterübergabe.
              wenn var=1 width 220px
              wenn var=2 width 300px

              Nicht dass du dein Schweigen wirklich gebrochen hättest. Wo kommt der Wert von var her? Wie wird da was übergeben?

              See ya up the road,
              Gunnar

              --
              “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
              1. hi Gunnar,

                per url-übergabe.

                1. habe d'ehre Markus

                  per url-übergabe.

                  In den <head>Bereich *nach* der Definition Deines Standard-CSS einfuegen. #deinDIv wenn ID vergeben, wenn Klasse div.deinDIV, die Benamsung muss auf alle Faelle der von Deiner Defaultbeschreibung entsprechen.

                  [code=PHP]
                  echo "<style type="text/css">";
                  echo "#deinDiv {width:".$_GET['breite']."px";}
                  echo "</style>":
                  [/code]

                  man liest sich
                  Wilhelm

                  1. Hallo Wilhelm.

                    echo "<style type="text/css">";

                    echo "#deinDiv {width:".$_GET['breite']."px";}
                    echo "</style>":

                      
                    Wenn du keine Notice riskieren möchtest, besser so:  
                      
                    ~~~php
                    echo '<style type="text/css">' . "\n";  
                    echo '  #deinDiv {width:' . (isset($_GET['breite']) ? $_GET['breite'] : 200) . 'px;}' . "\n"; # 200 = Standardwert  
                    echo '</style>' . "\n";
                    

                    Einen schönen Montag noch.

                    Gruß, Mathias

                    --
                    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
                    debian/rules
                    1. Hi,

                      autsch, ungeprüfte Werte vom Nutzer direkt in die Ausgabe schreiben? GANZ BÖSE (wird eigentlich nur übertroffen von: ungeprüfte Werte vom Nutzer direkt ausführen)! Würde ich ganz stark davon abreaten, hat immer das Potential gewisse Lücken aufzureißen. So Dinge wie
                      adresse.php?breite=100px;background-image:url(http://12.12.23.43/diese_seite_ist_muell.jpg);border:0
                      Oder zum Beispiel per Adresse eine Weiterleitung in deine Seite schleusen
                      adresse.php?breite=</style><meta http-equiv="refresh" content="2;url=http://www.boeseseite.de">

                      Der Phantasie was man da böses machen kann sind quasi keine Frenzen gesetzt.

                      Dann setz wenigstens eine Prüfung der Angabe davor. Also entweder per regulären Ausdruck testen ob der Übergabewert erlaubt ist oder, falls es nur feste Werte sein sollen sowas wie (ungetestet, aber ich denke klar in welche Richtung es gehen soll):

                      $erlaubt = array(100,200,300);
                      if(!in_array($_GET['breite'],$erlaubt){
                      $breite = 100;
                      } else {
                      $breite = $_GET['breite'];
                      }

                      Marc

                      1. habe d'ehre AllesMeins

                        autsch, ungeprüfte Werte vom Nutzer direkt in die Ausgabe schreiben?

                        Jetzt sollte man doch mal die Vorschlaege einfach nur Vorschlaege sein lassen.

                        Das man GET-Parameter nicht ungeprueft uebernimmt setze ich generell voraus. Jetzt hier noch eine vorgefertigte, komplette Validierung der Werte einzufordern finde ich ueberzogen. Es ging primaer nur darum, wie er mit PHP bestehende Formatierungen ueberschreiben koennte, dieser Weg wurde ihm gezeigt.

                        Ich konzidiere Dir, dass ein Hinweis auf die Problematik angebracht gewesen waere. Aber ich gehe in meiner Unbedarftheit davon aus, dass gewisse Sicherheitsgrundlagen bzgl. Parameteruebergabe per URL bei der Verwendung jedweder Programmiersprachen gegeben sein muessen.

                        man liest sich
                        Wilhelm

                        1. Moin,

                          naja, ich befürchte bei jemanden der absoluter PHP-Neuling und Programmierneuling (und davon gehe ich mal aus, denn jemand mit Erfahrung hätte die Frage wohl nicht gestellt, selbst dann wenn er von einer anderen Sprache kommt) kann man das nicht voraussetzen. Deshalb nochmal meine ausfühliche Warnung, was da passieren kann. Und das sich viele Leute keine Gedanken über solche Dinge machen (Ich sag nur include.php?path=../datei.php)

          2. Hi,

            Warum sollte PHP das tun? Es kann doch den berechneten Wert für die Breite in den Quelltext schreiben.
            (Wie auch immer der berechnet wird. Darüber schweigt sich Markus ja aus.)

            na ja, genau, vielleicht liegt die Berechnung außerhalb der Reichweite von PHP oder basiert auf Nutzerinteraktion. Vielleicht befindet sich Markus ja in dem Glauben sämtliche Aktionen komplett durch PHP ersetzen zu können ohne sich darüber im Klaren zu sein, dass das nur über einen Reload oder Beibehalten der HTML/CSS/JavaScript-Ansätze möglich ist.

            MfG
            Rouven

            --
            -------------------
            Eine Bilanz ist wie der Bikini einer Frau. Sie zeigt fast alles, aber verdeckt das Wesentliche  --  Günter Stotz, Regierungsdirektor des baden-württembergischen Wirtschaftsministeriums
            1. Hello out there!

              na ja, genau, vielleicht liegt die Berechnung außerhalb der Reichweite von PHP oder basiert auf Nutzerinteraktion.

              Dann muss JavaScript her (wenn nicht eine neue Ressource geladen werden soll). Um dieses JavaScript in den Quelltext zu schreiben, bedarf es keines PHP.

              See ya up the road,
              Gunnar

              --
              “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)