Bedingung Php?

Aufgabe 6 oben - (PC, Informatik, html)

3 Antworten

Hast im Informatikunterricht nicht aufgepasst? ;)
Na gut, also hier mal im Detail erklärt.

Im Prinzip findest du in in 5. alles, was du für das Script brauchst. Zusätzlich brauchst du noch ein Form, geschrieben in HTML. Damit fangen wir an.

HTML

Du machst erstmal nichts weiter, als ein Formular aufzubauen.
Verwende sinnvolle Namen für die Input-Felder, die brauchen wir später.

<html>
 <body>
   <form method="post">
   <!--- Feld für den Namen --->
     <label>Name</label>
       <input type="text" name="name"/>

   <!--- Feld für das Alter --->
     <label>Alter</label>
       <input type="text" name="age"/>

   <!--- Feld für die Heimatstadt --->
     <label>Heimatstadt<label>
       <input type="text" name="city"/>

   <!--- Feld für die E-Mail-Adresse --->
     <label>E-Mail-Adresse</label>
       <input type="name" name="email"/>

   <!--- Submit-Button --->
     <input typ="submit" name="submit" value="Senden"/>
   </form
 </body>
</html>

PHP

In PHP prüfst du als erstes, ob der Submit-Button gedrückt wurde:

<?php
   if(isset($_POST['submit'])){
   }
?>

Wird er gedrückt, sollen alle Input-Felder in ein Array gepackt werden:

<?php
if(isset($_POST['submit'])){
$name = $_POST['name']; $alter = $_POST['age']; $city = $_POST['city']; $mail = $_POST['email']; $requestedCity = "Mönchengladbach"; }

In meinem Beispiel habe ich noch den Namen definiert, um den Nutzer später direkt ansprechen zu können. Da die Aufgabe ihn nicht fordert, kannst du ihn weglassen.

Achtung: der Wert für $requestedCity ist als fester Wert definiert, da ja nur einer zugelassen ist. Alle anderen interpretiert das Script als falsch.

Was ich jetzt schreibe fordert die Aufgabe auch nicht, ist aber trotzdem nützlich. Ich prüfe nämlich zuerst, ob die Felder leer sind.

<?php
   if(empty($name OR $alter OR $city OR $mail)){
       echo "Bitte füllen sie alle Felder aus!";
   }
?>

Sind die Felder leer, wird die Fehlermeldung ausgegeben, wenn nicht, wird abgefragt, ob das Feld für das Alter leer (also = 0) ist. Ist es eine Zahl größer als 0, geht es weiter.

<?php
   elseif($alter == 0) {
      echo "Geben Sie bitte ihr Alter ein";
} ?>

Ist das Alter nicht gleich null, aber kleiner als 18, gibt es die nächste Meldung. Entspricht die Eingabe einer Zahl, die größer oder gleich 18 ist, geht es weiter.

<?php
   elseif($alter < 18){
      echo "Sie sind leider nicht geschäftsfähig!";
   }
?>

Als nächstes wird die Stadt geprüft, die der Nutzer eingegeben hat. Ist es nicht Mönchengladbach, erhält er eine Fehlermeldung.

Handelt es sich bei der eingegebenen Stadt um MGB, geht es weiter.

<?php
   elseif($city == $requestedCity){
      //Hier kommt noch was hin!!
      }else{echo "Wir freuen uns über ihr Interesse, $name, müssen Ihnen allerdings leider mitteilen, dass wir eher Personen aus dem näheren Umfeld bevorzugen. Wir bitten um Ihr Verständnis!";
      }
   }
?>

Diesmal eine kleinere Formänderung, da der letzte Script-Teil an die Stelle oben eingefügt wird, wo der Kommentar "//Hier kommt noch was hin!!" steht.

<?php
   if($mail = $mail) {
      echo "$name, wir senden Ihnen ab sofort alle wichtigen Informationen an ihre Mail-Adresse $mail.";
   }elseif(empty($mail)){
      echo "Sie erreichen uns jederzeit per Post. Unsere Anschrift finden Sie im Impressum.";
   }
}
?>

Abhängig davon, ob eine Mail-Adresse angegeben ist, oder nicht, erhält der User eine Ausgabe. 

Hat er sie angegeben, erhält er Ausgabe 1 (oben), wenn er das Feld leergelassen hat, erhält er Ausgabe 2 (darunter).

So - übernehmen ist deine Aufgabe. 

Wenn du Fehler kriegst, die du nicht selbst lösen kannst, melde dich!

Live-Demohttps://www.niklasfandrich.de/demo/gutefrage-01.php

Liebe Grüße,
Savix

Hast du es schon ausprobiert? Hat alles funktioniert, oder hast du Fehler gemacht?

0

Programmiere das bitte selbst, es sind if elseif und else abfragen und ein wenig logik. Wenn du das nicht selber übst lernst du nicht viel

Mit php und html. Was ist die konkrete frage/das problem?

Was möchtest Du wissen?