Maximilian Dötsch: PHP Ausgabe design?

Hallo zusammen,

Ich habe da mal eine Frage wie kann man PHP echo ausgaben mit CSS versehen?

  1. Hallo Maximilian,

    Ich habe da mal eine Frage wie kann man PHP echo ausgaben mit CSS versehen?

    Hast du ein konkretes Beispiel?

    Gruss
    Henry

    1. Ja zum beispiel ein Usercounter bei dem man die Zahl der User designen will.

      function usercounter() {
      	session_set_cookie_params(10000);
         session_start();
      
         $usercounter = intval(file_get_contents("logs/counter.txt"));
         
         if (!isset($_SESSION['counter_ip']))
         {
      	   
      	   $usercounter++;
      	   file_put_contents("logs/counter.txt", $usercounter);
      	   
      	   
      	   $_SESSION['counter_ip'] = true;
      	   
      	   
         }
      
      
         echo $usercounter;
       
      }
      

      Und dieses "echo $usercounter;" will ich designt haben.

      1. Hallo Maximilian Dötsch,

        Und dieses "echo $usercounter;" will ich designt haben.

        Das geht nicht, du kannst nur das HTML-Element gestalten, in das diese Zahl ausgegeben wird.

        Bis demnächst
        Matthias

        --
        Rosen sind rot.
      2. Hallo Maximilian,

        Und dieses "echo $usercounter;" will ich designt haben.

        Du weißt doch bestimmt wie man im reinen HTMl/CSS etwas styled? zb. <h1>Überschrift</h1> , oder <p class="zaehlerstand">xxx</p> oder <p style="color:red;">xxx</p>, usw…

        Das kannst du genauso mit der Echoausgabe:

        
        echo '<p class="zaehlerstand">'.$usercounter.'</p>';
        

        Würde auch noch andere Wege geben wie zb. heredoc, aber führt zu weit.

        Wichtig für dich ist wahrscheinlich die Zusammensetzung. Also Normaler Text in Anführungszeichen. (Einfache, wenn keine Variable ausgelesen wird, erspart dann auch das Escapen von gewünschten Doppelten Anführungszeichen) verbunden mit einem Punkt.

        Alternativ (escaped und ohne Punkt):

        echo "<p class=\"zaehlerstand\">$usercounter</p>";
        

        Gruss
        Henry

        1. @@Henry

          echo '<p class="zaehlerstand">'.$usercounter.'</p>';
          

          […] Alternativ (escaped und ohne Punkt):

          echo "<p class=\"zaehlerstand\">$usercounter</p>";
          

          Weder noch. HTML-Tags sollten überhaupt nicht mit PHP ausgegeben werden, sondern:

          <p class="zaehlerstand"><?php echo $usercounter; ?></p>
          

          oder kurz

          <p class="zaehlerstand"><?= $usercounter ?></p>
          

          LLAP 🖖

          --
          „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
          1. Hallo Gunnar Bittersmann,

            Weder noch. HTML-Tags sollten überhaupt nicht mit PHP ausgegeben werden, sondern:

            Und Funktionen sollten einen Wert zurückgeben und nicht auch noch für die Ausgabe zuständig sein.

            Also so: <p class="zaehlerstand"><?= $usercounter() ?></p>

            Bis demnächst
            Matthias

            --
            Rosen sind rot.
            1. Vielen Dank 🌝

          2. Bei mir sagt PHP das die Variable undefiniert ist obwohl ich sie definiert habe.

          3. Hallo Gunnar,

            Weder noch. HTML-Tags sollten überhaupt nicht mit PHP ausgegeben werden…

            Ob man das verallgemeinern sollte? Mal neugierig… Eine der häufigsten Anwendungen von PHP ist das Auslesen von kunterbunten Artikeln/News aus einer Datenquelle und dieses formgerecht ausgeben. Mal abgesehen von einigen Template-Engines, die meist ja auch nur parsen und somit wieder HTML ausgeben, wie gehst du bei diesen dynamischen Inhalten vor?

            Inhalt aus DB(unbestimmte Menge):

            idname|headline|content|url|urlimg

            Daraus wird(natürlich nicht in der Schreibweise, nur zur Verständlichkeit der Variablen):

            <h3 id="$idname">$headline</h3>  
            <img class="newsimage" alt="$idname" src="$urlimg" />
            <p class="content">$content<a href="$url">$url</a></p>
            

            Bilder und/oder Urls kommen nicht immer vor.

            Gruss
            Henry

            1. @@Henry

              Weder noch. HTML-Tags sollten überhaupt nicht mit PHP ausgegeben werden… Ob man das verallgemeinern sollte?

              Ja, unbedingt.

              Mal neugierig… wie gehst du bei diesen dynamischen Inhalten vor?

              Inhalt aus DB(unbestimmte Menge):

              idname|headline|content|url|urlimg

              Bilder und/oder Urls kommen nicht immer vor.

              <?php foreach ($articles as $article): ?>
              	<article id="<?= htmlspecialchars($article->idname) ?>">
              		<h3><?= htmlspecialchars($article->headline) ?></h3>
              	<?php if (!empty($article->urlimg)): ?>
              		<img src="<?= htmlspecialchars($article->urlimg) ?>" alt=""/>
              	<?php endif; ?>
              		<p><?= htmlspecialchars($article->content) ?></p>
              	<?php if (!empty($article->url)): ?>
              		<a href="<?= htmlspecialchars($article->url) ?>"><?= htmlspecialchars($article->url) ?></a>
              	<?php endif; ?>
              	</article>
              <?php endforeach; ?>
              

              LLAP 🖖

              --
              „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
        2. Vielen Dank!

      3. Tach!

        Ja zum beispiel ein Usercounter bei dem man die Zahl der User designen will.

        Man kann den einfach weglassen. Nutzerzähler waren schon seit es sie gibt nicht weiter sinnvoll. Für das Auswerten von Besuchen gibt es Logfiles und Analyseprogramme.

        dedlfix.

        1. Nutzerzähler waren schon "immer" ein beliebtes Beispiel für die ersten 10 Seiten eines jeden, an Anfänger gerichteten PHP-Handbuchs. Danach kommt das 1-Seiten-Gästebuch. Erst mit und dann ohne die Möglichkeit, dort auch gültiges aber sehr unerwünschtes HTML einzutragen...

          Man sieht also auf den Webseiten, dass der Betreiber gerade PHP lernt...