zielscheibe: schwimmbad funktion

<?php
$pH=4.0; //Preis Hallenbad in Euro
$pF=3.0 //Preis Freibad in Euro
?>
<!doctype html>
<html>
<head>
  <link rel = "stylesheet" href = "style.css">
  <meta charset = "utf-8"> 
  <title>Städische Bäderbetriebe</title>
</head>
<body>
<div id = "page">
<h2>Städtische Bäderbetriebe</h2>

<h3>Mannheim</h3>
<h4>Preistabelle</h4>
<table>
<tr>
  <td>Freibad:</td>
  <td><?php echo number_format($pF,2,",","")."€";?></td>
</tr>
<tr>
  <td>Hallenbad:</td>
  <td><?php echo number_format($pH,2,",","")."€";?></td>
</tr>
</table>

<!-- HTML-Eingabeformular -->

<form method = "GET">
<!-- Radiobutton -->
<div class="auswahl">
 <fieldset>
   <legend>Auswahl Badanlage</legend>
   <input id = "freibad" type = "radio" name = "bad" value = "Freibad" checked>
   <label for= "freibad">Freibad</label><br>
   <input id = "hallenbad" type = "radio" name = "bad" value = "Hallenbad">
   <label for= "hallenbad">Hallenbad</label>
 </fieldset>
</div>
<div class="mitglied">
  <label for = "ja">DLRG-Mitglied: Ja</label>
  <input id = "ja" type = "checkbox" name = "dlrg" value = "Ja">
</div>
<input type = "submit" name = "ok" value = "Berechne Preis!">
</form>
<?php
/* M A I N */
if(isset($_GET["ok"]))
{
  $bad=$_GET["bad"];
 
  //DLRG-Abfrage
  if(isset($_GET["dlrg"])){$dlrg=$_GET["dlrg"];}
  else{$dlrg="Nein";}

 	//Funktionsaufruf
 		ausgabe(preisErmittlung($bad,$dlrg,$pH,$pF));
}
/* F U N K T I O N E N */
function preisErmittlung ($bad,$dlrg,$pH,$pF)
{
	$endpreis=0.0;
	$rabattFreibad=0.5;	//50%Ermäßigung
	$rabattHallenbad=0.75;//25%Ermäßigung
	
	if($bad=="Freibad")	// == ist eine vergleichs abfrage = ist eine zuweisung 
	{
		if ($dlrg=="Ja"){$endpreis=$pF*$rabattFreibad;}
		else {$endpreis=$pF;}
	}	
	else
	{
	if ($dlrg=="Ja"){$endpreis=$pH*$rabattHallenbad;}
		else {$endpreis=$pH;}
	}
		return $endpreis;
}
function ausgabe ($eP)
{
	echo"<div class='ergebnis'> 
	Der Endpreis beträgt:".number_format($eP,2,",","")." Euro</div>";// TEXT wird einem anderen CSS Feld zugewiesen 
}
?>
  1. Hallo zielscheibe,

    interessanter Code. Habe ihn mal mit ~~~ umrahmt, damit er auch wie Code aussieht.

    Und die Frage lautet?

    Rolf

    --
    sumpsi - posui - clusi
    1. @@Rolf B

      Und die Frage lautet?

      Ist das Code oder kann das weg?

      LLAP 🖖

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

      Und die Frage lautet?

      Wo ist mein Klemmbrett?

      --
      Neu im Forum! Signaturen kann man ausblenden!
  2. "Zielscheibe" ist ein passender Nick, wenn Du hier solche Postings absonderst…😉

    1. @@klawischnigg

      "Zielscheibe" ist ein passender Nick, wenn Du hier solche Postings absonderst…😉

      Der traf ins Bull’s Eye.

      LLAP 🖖

      --
      „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
  3. sry die Frage hatte ich vergessen^^ kann ich den Preis mit einem anderem Befehl als <?php echo number_format($pH,2,",","")."€";?> hochladen?

    1. Moin,

      Wo bitte lädts du den Preis "hoch". Ich sehe nur eine formatierte Ausgabe.

      Nur so nebenbei: Warum kopierst du die Werte aus dem $_GET-Array um? Die kannst du auch direkt verwenden!

      Gruß Bobby

      --
      -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <- ### Henry L. Mencken ### -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <- ### Viktor Frankl ### ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
    2. Hallo zielscheibe,

      ich würde Dir vorschlagen, dass Du den PHP Code am Anfang der Seite konzentrierst, und aus PHP heraus keine echo Ausgaben machst (den Tipp hast Du ja schon anderswo bekommen). PHP verleitet zwar dazu, Code und HTML bunt zu mischen, aber Du tust Dir damit keinen Gefallen. Und Funktionen aufzurufen, die ECHOs machen, führt am Ende zu einer völligen Unklarheit, wo nun Ausgaben erfolgen. EIGENTLICH verwendet man immer zwei PHP Dateien: Eine als HTML-Template, die sich NUR um die Ausgabe kümmert, und eine als Logik-Block, die die erforderlichen Daten berechnet und überhaupt kein HTML enthält. Die Code-Datei bindet die Template-Datei per include ein, wenn alle für das Template benötigten Daten berechnet sind. Für einfache Übungen geht es auch in einer Datei; aber Fachlogik und HTML-Aufbau solltest Du trotzdem trennen. Das gehört einfach so.

      Setze zu Beginn eine Variable $preisAusgabe auf FALSE, und wenn $_GET['ok'] kommt, dann führst Du deine Berechnung durch. Das Ergebnis speicherst Du z.B. in einer Variablen $endPreis, und du setzt $preisAusgabe auf TRUE. Wichtig: (1) sprechende Variablennamen, (2) Variablen haben EINEN Zweck (also: $endPreis auf -1 setzen, um anzuzeigen dass keine Ausgabe erfolgen soll, geht gar nicht).

      DANN kommt dein HTML Block, und hinter deiner Table kannst Du dann kurz ins PHP zurückkehren um zu entscheiden ob Du den Ausgabeblock bringen musst oder nicht:

      </table>
      <?php if ($preisAusgabe): ?>
      <div class='ergebnis'>Der Endpreis beträgt: <?= number_format($endPreis,2,",","") ?> Euro</div>
      <?php endif; ?>
      </body>
      </html>
      

      Ich habe hier die alternative Syntax für Kontrollstrukturen verwendet, die ist bei einem solchen Hin- und Herschalten zwischen HTML und PHP besser lesbar.

      Häufiges Umschalten zwischen HTML und PHP kostet Dich keine Performance. Der PHP Interpreter verarbeitet ohnehin die ganze Datei...

      Rolf

      --
      sumpsi - posui - clusi
      1. Danke Rolf der Link hat mir weiter geholfen. Anscheinend habe ich mir das zu leicht vorgestellt. Ich werde auch versuchen die echo befehle weg zu lassen. Nur habe ich in der Schule gezeigt bekommen alles anzeigen zu lassen-dann weiter programmieren.

        1. Hallo zielscheibe,

          natürlich hat im Zweifelsfall erstmal der Lehrer recht. Wenn der einen bestimmten Stil sehen will, dann will er das. Und wird sich von einem Schüler nicht sagen lassen, dass es anders besser wäre (es sei denn, es ist so ein Fritze wie der Infolehrer meiner Jungs, die eher ihm was beibringen).

          Aber ein Grundmuster von Programmen ist EVA: Eingabe, Verarbeitung, Ausgabe, und je weniger man das vermischt, desto übersichtlicher ist das Ergebnis.

          Aber was meinst Du mit "zu leicht vorgestellt" - offenbar haben wir dein eigentliches Problem noch gar nicht gesehen?

          Rolf

          --
          sumpsi - posui - clusi
          1. @@Rolf B

            natürlich hat im Zweifelsfall erstmal der Lehrer recht.

            Und wenn der Lehrer sagt, dass man click-Events für img-Elemente registrieren sollte, dann hat der Lehrer natürlich auch recht‽ Was für ein Unsinn.

            LLAP 🖖

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

              In einer Lehrer-Schüler-Situation ist es nachwievor so, dass die Noten vom Lehrer und nicht vom Gunnar vergeben werden…

              Gruß
              Kalk

            2. Hallo Gunnar Bittersmann,

              Und wenn der Lehrer sagt, dass man click-Events für img-Elemente registrieren sollte, dann hat der Lehrer natürlich auch recht‽ Was für ein Unsinn.

              „Tja, es gibt halt den einen oder anderen Lehrer, der in Punkto Webdesign nicht auf dem aktuellen Stand ist. Und es ist von einem Schüler auch nicht zu erwarten, dass er das Rückgrat hat, dem Lehrer das zu sagen.“ (https://forum.selfhtml.org/m1550265)

              Ersetze "Webdesign" durch "Barrierefreiheit". Ich fürchte zudem, dass es ganz schön viele "eine oder andere" gibt.

              Bis demnächst
              Matthias

              --
              Rosen sind rot.
              1. @@Matthias Apsel

                „Tja, es gibt halt den einen oder anderen Lehrer, der in Punkto Webdesign nicht auf dem aktuellen Stand ist. […]“

                Ersetze "Webdesign" durch "Barrierefreiheit".

                Warum sollte ich? Barrierefreiheit ist integraler Bestandteil von Webdesign.

                LLAP 🖖

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

                  Ersetze "Webdesign" durch "Barrierefreiheit".

                  Warum sollte ich? Barrierefreiheit ist integraler Bestandteil von Webdesign.

                  Mir kommt da gerade so ein (ernst gemeinter)Gedanke… Wenn du aus einer 747 alle Sitze ausbaust, ist das dann kein Flugzeug mehr für dich?

                  Gruss
                  Henry

                  --
                  Meine Meinung zu DSGVO & Co:
                  „Principiis obsta. Sero medicina parata, cum mala per longas convaluere moras.“
                  1. @@Henry

                    Mir kommt da gerade so ein (ernst gemeinter)Gedanke… Wenn du aus einer 747 alle Sitze ausbaust, ist das dann kein Flugzeug mehr für dich?

                    Das Ding wäre nicht flugfähig, also kein Flugzeug.

                    LLAP 🖖

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

                      Das Ding wäre nicht flugfähig, also kein Flugzeug.

                      Dachte ich mir schon(wäre auch enttäuscht gewesen, wenn nicht), dass du das so siehst. 😉 YMMD.

                      Gruss
                      Henry

                      --
                      Meine Meinung zu DSGVO & Co:
                      „Principiis obsta. Sero medicina parata, cum mala per longas convaluere moras.“
                    2. Lieber Gunnar,

                      Das Ding wäre nicht flugfähig, also kein Flugzeug.

                      und wenn wir die Sitze für die Piloten drin ließen?

                      Liebe Grüße,

                      Felix Riesterer.

                      1. @@Felix Riesterer

                        Das Ding wäre nicht flugfähig, also kein Flugzeug.

                        und wenn wir die Sitze für die Piloten drin ließen?

                        Was so zwei, drei Sitze für einen Unterschied machen! 😉

                        Es gibt etliche Frachtversionen der 747.

                        LLAP 🖖

                        --
                        „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
                    3. Hi,

                      Mir kommt da gerade so ein (ernst gemeinter)Gedanke… Wenn du aus einer 747 alle Sitze ausbaust, ist das dann kein Flugzeug mehr für dich?

                      Das Ding wäre nicht flugfähig, also kein Flugzeug.

                      Muß der Pilot sitzen? Und wenn ja, der kann sich doch auf den Boden setzen.

                      Ist doch heute eh alles flybywire, da kann der das Ding bestimmt auch mit seinem Smartphone steuern. Auch wenn er dabei liegt …

                      cu,
                      Andreas a/k/a MudGuard

                      1. @@MudGuard

                        Muß der Pilot sitzen? Und wenn ja, der kann sich doch auf den Boden setzen.

                        Die Bedienelemente (Steuerknüppel oder wie immer das Ding jetzt heißt, Pedale, …) sind so angeordnet, dass sie aus auf dem (Co-)Pilotensessel sitzender Position erreicht werden. Die Fenster auch, also nichts mit auf dem Boden.

                        Andere Positionen sind der Flugsicherheit abträglich; nichts mit flugfähig.

                        Ist doch heute eh alles flybywire, da kann der das Ding bestimmt auch mit seinem Smartphone steuern.

                        Das könnte ja dann (fast) jeder. Wie bei Autos. Im Café sitzend ein Flugzeug entführen …

                        Nee nee, so kannste mir nicht kommen. Ich hatte eher befürchtet, jemand käme drauf, dass Autopiloten heutzutage auch schon starten und landen können und gar niemand mehr an Bord sein müsste, der sitzen müsste.

                        LLAP 🖖

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

                      Das Ding wäre nicht flugfähig, also kein Flugzeug.

                      genau, dinge ohne sitze koennen halt einfach nicht fliegen, wie z.b. aeh ein vogel.

                      lass das mal nicht die flintenuschi hoeren. der wuerde bestimmt die haartolle zusammenfallen, wenn sie herausbekaeme, dass sie schon wieder ein paar euro zum fenster rausgeschmissen hat (dabei achtete sie doch extra darauf, dass die UAVs keine fenster haben).

                      prost

                      seth

                  2. Hallo Henry,

                    Ersetze "Webdesign" durch "Barrierefreiheit".

                    Warum sollte ich? Barrierefreiheit ist integraler Bestandteil von Webdesign.

                    Mir kommt da gerade so ein (ernst gemeinter)Gedanke… Wenn du aus einer 747 alle Sitze ausbaust, ist das dann kein Flugzeug mehr für dich?

                    Was mir so als Mitlesender auffällt: Also zumindest nicht mehr als Passagierflugzeug und für eine Frachtmaschine fehlt eine passende Luke. Also eigentlich für nichts mehr zu gebrauchen. (Ich nahm einfach mal an, dass die Pilotensitze drin bleiben...)

                    Gruß
                    Julius

                    1. Hi,

                      Mir kommt da gerade so ein (ernst gemeinter)Gedanke… Wenn du aus einer 747 alle Sitze ausbaust, ist das dann kein Flugzeug mehr für dich?

                      Was mir so als Mitlesender auffällt: Also zumindest nicht mehr als Passagierflugzeug

                      Warum? Im Stadtbus gibt's auch Stehplätze, warum also nicht im Flugzeug?

                      cu,
                      Andreas a/k/a MudGuard

                      1. Hallo MudGuard,

                        Warum? Im Stadtbus gibt's auch Stehplätze, warum also nicht im Flugzeug?

                        So neu ist die Idee nicht.

                        Bis demnächst
                        Matthias

                        --
                        Rosen sind rot.
                      2. @@MudGuard

                        Mir kommt da gerade so ein (ernst gemeinter)Gedanke… Wenn du aus einer 747 alle Sitze ausbaust, ist das dann kein Flugzeug mehr für dich?

                        Was mir so als Mitlesender auffällt: Also zumindest nicht mehr als Passagierflugzeug

                        Warum? Im Stadtbus gibt's auch Stehplätze, warum also nicht im Flugzeug?

                        Besonders in der 747, wo in der Ursprungsversion im Buckel die Bar ist.

                        LLAP 🖖

                        --
                        „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
    3. Liebe zielscheibe,

      was genau ist das Ziel bei Deinem Webprojekt? Wenn man das weiß, kann man Dir bessere Ratschläge geben.

      Liebe Grüße,

      Felix Riesterer.