PHP Datei für das ABI
Hallo,
ich habe demnächst ABI und muss hier eine Aufgabe lösen auf dich ich seit Wochen keine Antwort finde.
Und zwar soll meine Website, unter Auswahl der Flugziele und der Klasse und der Personenanzahl mit Benutzer und Passwort den Preis zurückgeben, aber ich hab einfach keine Lösung für das Problem. Ich weiss dass ich bei form action einen Fehler habe und die Datei selber nehmen muss aber mit PHP_SELF schaff ich es nicht.
Kann mir bitte einer Helfen? Ich bin wirklich am verzweifeln und am 25.06 muss ich es Vortragen.
Ich bedanke mich schon mal im voraus!
Gruß
mrcljnff
ich habe demnächst ABI und muss hier eine Aufgabe lösen auf dich ich seit Wochen keine Antwort finde.
Und zwar soll meine Website, unter Auswahl der Flugziele und der Klasse und der Personenanzahl mit Benutzer und Passwort den Preis zurückgeben, aber ich hab einfach keine Lösung für das Problem. Ich weiss dass ich bei form action einen Fehler habe und die Datei selber nehmen muss aber mit PHP_SELF schaff ich es nicht.
Kann mir bitte einer Helfen? Ich bin wirklich am verzweifeln und am 25.06 muss ich es Vortragen.
Ich bedanke mich schon mal im voraus!
Gruß
mrcljnff
<html>
<head>
<title></title>
<meta name="author" content="Papa">
<meta name="editor" content="html-editor phase 5">
</head>
<body>
<table align= "center">
<tr>
<td>
<div id="root_site">
<div id="head_main_container">
Happy-Air
<div id="logo">
<img src= "C:\Users\Papa\Desktop\haha.png" align="right" />
</div>
<h1> Flüge buchen </h1>
<h2> Auswahl des Fluges <h2>
<ul>
<li> Berlin -----> London
<li> Frankfurt -----> Rom
<li> Frankfurt -----> Madrid
<ul>
<h2> Auswahl der Klasse </h2>
<form action = "Flug.php" method= "post" enctype ="text/plain" >
<table>
<tr> <td> Benutzername: </td> <td> <input name ="Bname" size="20" maxlength="20"> </td> </tr>
<tr> <td> Passwort: </td> <td> <input name ="Passwort" size ="20" maxlength ="20" type="password"> </td> </tr>
<br>
<input type= "radio" name="Economy" value ="Economy" /> Economy Class <br>
<input type= "radio" name=" Premium" value ="Premium" /> Premium Class <br>
<input type= "radio" name=" Business" value ="Business" /> Business Class <br>
<input type= "radio" name=" First" value ="First" /> First Class <br>
<h2> Anzahl der Personen </h2>
<select name ="Anzahl" size ="1">
<option> 1 Person </option>
<option> 2 Person </option>
<option> 3 Person </option>
</select>
<input type ="submit" value="Absenden" />
<?php
$Economy = 100€;
$Premium = 150€;
$Business = 200€;
$First = 250€;
$1Person= 100%;
$2Person= 200%;
$3Person= 300%;
$Gesamtpreis = 0€;
if (empty ( $_POST ['Economy']) && empty ( $_POST ['Premium']) && empty ( $_POST ['Business']) && empty ( $_POST ['First'] && empty ( $_POST ['First'])
&& empty ( $_POST ['Anzahl']) {
}
else {
if ( $_POST ['Economy'] && ( $_POST ['1Person'] == TRUE ) {
$Gesamtpreis = $Gesamtpreis + $Economy * $1Person ;
}
if ( $_POST ['Economy'] && ( $_POST ['2Person'] == TRUE ) {
$Gesamtpreis = $Gesamtpreis + $Economy * $2Person ;
}
if ( $_POST ['Economy'] && ( $_POST ['3Person'] == TRUE ) {
$Gesamtpreis = $Gesamtpreis + $Economy * $3Person ;
}
if ( $_POST ['Premium'] && ( $_POST ['1Person'] == TRUE ) {
$Gesamtpreis = $Gesamtpreis + $Premium * $1Person ;
}
if ( $_POST ['Premium'] && ( $_POST ['2Person'] == TRUE ) {
$Gesamtpreis = $Gesamtpreis + $Premium * $2Person ;
}
if ( $_POST ['Premium'] && ( $_POST ['3Person'] == TRUE ) {
$Gesamtpreis = $Gesamtpreis + $Premium * $3Person ;
}
if ( $_POST ['Business'] && ( $_POST ['1Person'] == TRUE ) {
$Gesamtpreis = $Gesamtpreis + $Business * $1Person ;
}
if ( $_POST ['Business'] && ( $_POST ['2Person'] == TRUE ) {
$Gesamtpreis = $Gesamtpreis + $Business * $2Person ;
}
if ( $_POST ['Business'] && ( $_POST ['3Person'] == TRUE ) {
$Gesamtpreis = $Gesamtpreis + $Business * $3Person ;
}
if ( $_POST ['First'] && ( $_POST ['1Person'] == TRUE ) {
$Gesamtpreis = $Gesamtpreis + $First * $2Person ;
}
if ( $_POST ['First'] && ( $_POST ['2Person'] == TRUE ) {
$Gesamtpreis = $Gesamtpreis + $First * $2Person ;
}
if ( $_POST ['First'] && ( $_POST ['3Person'] == TRUE ) {
$Gesamtpreis = $Gesamtpreis + $First * $2Person ;
}
echo "Ihr Gesamtpreis beträgt: $Gesamtpreis" }
</body>
</html>
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 341109
Url: https://administrator.de/contentid/341109
Ausgedruckt am: 17.11.2024 um 19:11 Uhr
7 Kommentare
Neuester Kommentar
Vorab, der Aufbau ist ziemlich schlecht, warum rechnest du mit Prozent und nicht einfach mit dem Multiplikator?
Dazu benötigst du die vielen if Abfragen überhaupt nicht.
Es finden sich auch einige Syntaxfehler und Wissenslücken in Bezug auf HTML.
Bei
<option> 1 Person </option>
<option> 2 Person </option>
<option> 3 Person </option>
fehlen die values, besser so
<option value="1person"> 1 Person </option>
<option value="2person"> 2 Person </option>
<option value="3person"> 3 Person </option>
Bei PHP kommt die Auswahl dann mit $_POST["Anzahl"] an
Mal ganz abgesehen von der Tatsache das Eingaben immer erst geprüft werden sollten würde ich es so schreiben:
Dazu benötigst du die vielen if Abfragen überhaupt nicht.
Es finden sich auch einige Syntaxfehler und Wissenslücken in Bezug auf HTML.
Bei
<option> 1 Person </option>
<option> 2 Person </option>
<option> 3 Person </option>
fehlen die values, besser so
<option value="1person"> 1 Person </option>
<option value="2person"> 2 Person </option>
<option value="3person"> 3 Person </option>
Bei PHP kommt die Auswahl dann mit $_POST["Anzahl"] an
Mal ganz abgesehen von der Tatsache das Eingaben immer erst geprüft werden sollten würde ich es so schreiben:
...........................................
<form action = "Flug.php" method= "post" enctype ="text/plain" >
<table>
<tr> <td> Benutzername: </td> <td> <input name ="Bname" size="20" maxlength="20"> </td> </tr>
<tr> <td> Passwort: </td> <td> <input name ="Passwort" size ="20" maxlength ="20" type="password"> </td> </tr>
<br>
<input type= "radio" name="klasse" value ="Economy" /> Economy Class <br>
<input type= "radio" name=" klasse" value ="Premium" /> Premium Class <br>
<input type= "radio" name=" klasse" value ="Business" /> Business Class <br>
<input type= "radio" name=" First" value ="First" /> First Class <br>
<h2> Anzahl der Personen </h2>
<select name ="Anzahl" size ="1">
<option value="1"> 1 Person </option>
<option value="2"> 2 Person </option>
<option value="3"> 3 Person </option>
</select>
<input type ="submit" value="Absenden" />
<?php
$Economy = 100;
$Premium = 150;
$Business = 200;
$First = 250;
if(!isset($_POST["First"]) or $_POST["First"] != "First")
{
$First = 0;
}
if (isset($_POST ['klasse']) && $_POST ['klasse'] == "Economy")
{
$preis = $Economy*$_POST["Anzahl"]+$First;
}elseif (isset($_POST ['klasse']) && $_POST ['klasse'] == "Premium")
{
$preis = $Premium*$_POST["Anzahl"]+$First;
}elseif (isset($_POST ['klasse']) && $_POST ['klasse'] == "Business")
{
$preis = $Business*$_POST["Anzahl"]+$First;
}
echo "Ihr Gesamtpreis beträgt: $preis";
Moin (oder um es mit den Worten von Penny zu sagen: Schatz!),
erstmal sind wir hier nicht die Hausaufgabenhilfe die dir Lösungen sagt. Höchstens den Weg dazu die Aufgabe zu lösen, aber das umsetzen musst du schon machen. Dann: Schau doch mal bitte deine Werte an -
$Gesamtpreis = 0€
-> wie möchtest du denn bitte damit rechnen? Für deinen Rechner kannst du auch schreiben $Gesamtpreis = 0Kojumbel oder 0Euro -> für deinen Rechner is das in dem Moment keine Zahl mehr sondern ein String (nein, geh bitte jetzt nicht zum Schrank mit der Unterwäsche, DAS is was anderes!). Und somit möchtest du das dein Rechner Zahlen und Strings addiert -> wäre also eine Anweisung wie "$Gesamt = hallo + 17 *2; -> wundert dich das der da nix sinnvolles rauswirft?
Fang damit schon mal an....
Wenn du dann noch mal z.B. SelfHTML dazu nimmst und guckst wie du dein Select-Feld machst (option value="xyz"....) dann merkst du das du dir deine IF-Abfragen in die Haare schmieren kannst -> brauchst du nicht. Dann guck auch gleich auf der Seite noch mal nach Checkboxen - insbesondere warum es sowas gibt wie checkbox .... name="abc" -> dann wirfst du nämlich gleich noch mal die anderen IF's raus... am Ende ist dein PHP-Code ggf. noch 5-6 Zeilen lang...
erstmal sind wir hier nicht die Hausaufgabenhilfe die dir Lösungen sagt. Höchstens den Weg dazu die Aufgabe zu lösen, aber das umsetzen musst du schon machen. Dann: Schau doch mal bitte deine Werte an -
$Gesamtpreis = 0€
-> wie möchtest du denn bitte damit rechnen? Für deinen Rechner kannst du auch schreiben $Gesamtpreis = 0Kojumbel oder 0Euro -> für deinen Rechner is das in dem Moment keine Zahl mehr sondern ein String (nein, geh bitte jetzt nicht zum Schrank mit der Unterwäsche, DAS is was anderes!). Und somit möchtest du das dein Rechner Zahlen und Strings addiert -> wäre also eine Anweisung wie "$Gesamt = hallo + 17 *2; -> wundert dich das der da nix sinnvolles rauswirft?
Fang damit schon mal an....
Wenn du dann noch mal z.B. SelfHTML dazu nimmst und guckst wie du dein Select-Feld machst (option value="xyz"....) dann merkst du das du dir deine IF-Abfragen in die Haare schmieren kannst -> brauchst du nicht. Dann guck auch gleich auf der Seite noch mal nach Checkboxen - insbesondere warum es sowas gibt wie checkbox .... name="abc" -> dann wirfst du nämlich gleich noch mal die anderen IF's raus... am Ende ist dein PHP-Code ggf. noch 5-6 Zeilen lang...
Also wenn Du bei beim form-Tag kein action-Attribut einträgst wird das Formular automatisch an die gleiche Datei versendet. Die Datei muss als .php gespeichert werden. Mit einer html-Endung wird der PHP-Code nicht interpretiert.
Methode post oder get bestimmen dann wie Du die gesendeten Daten wieder ausliest.
Beispiel:
if(isset($_POST['feld'] && $_POST['feld'] !='')
{
echo $_POST['feld'];
}else{
echo '<form method="post" name="testform">';
echo '<input type="text" name="feld">';
echo '<input type="submit" value="senden">';
echo '</form>';
echo '<form method="post" name="testform">';
echo '<input type="text" name="feld"';
if(isset($_POST['feld'] && $_POST['feld'] !='')
{
echo ' value="'.$_POST['feld'].'"';
}
echo '>';
echo '<input type="submit" value="senden">';
echo '</form>';
Ich hoffe, das hilft etwas
Methode post oder get bestimmen dann wie Du die gesendeten Daten wieder ausliest.
Beispiel:
if(isset($_POST['feld'] && $_POST['feld'] !='')
{
echo $_POST['feld'];
}else{
echo '<form method="post" name="testform">';
echo '<input type="text" name="feld">';
echo '<input type="submit" value="senden">';
echo '</form>';
- Soll der Wert im Formular stehen?
echo '<form method="post" name="testform">';
echo '<input type="text" name="feld"';
if(isset($_POST['feld'] && $_POST['feld'] !='')
{
echo ' value="'.$_POST['feld'].'"';
}
echo '>';
echo '<input type="submit" value="senden">';
echo '</form>';
Ich hoffe, das hilft etwas