Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Problem bei PHP Verzweigung

Mitglied: 72036

72036 (Level 1)

14.02.2009, aktualisiert 23.02.2009, 4614 Aufrufe, 11 Kommentare

Hallo, ich habe ein Problem mit der PHP-Programierung.
Ich mache momentan ne Ausbildung zur IT-System Elektronikerin und nun steht die PHP Programierung an.
Nun habe ich ein Problem.
Ich habe zu Hause ein bissl gelernt und dann habe ich folgende html und folgende php geschrieben:

das ist die html:
01.
<html> 
02.
<body> 
03.
 
04.
<form action="Mwst berechnung.php" method="post"> 
05.
 
06.
Bitte wählen Sie einen Artikel aus 
07.
 
08.
<select name="$artTyp" size=1"> 
09.
	<option> CD-Rom </option> 
10.
	<option> Buch </option> 
11.
	<option> Sonstige </option> 
12.
</select><p> 
13.
	<input type="submit"> 
14.
	<input type ="reset"> 
15.
 
16.
</form> 
17.
 
18.
</body> 
19.
</html>
und hier die php:
01.
/* Programm zur MwSt-Berechnung */ 
02.
 
03.
<html> 
04.
<body> 
05.
<?php 
06.
  $netto = 1000; 
07.
  $artTyp = "B"; // Artikeltyp, B: Buch, C: CD-ROM 
08.
  
09.
  if ("B" == $artTyp) 
10.
11.
   $uSt = $netto*0.07; 
12.
   echo "Der Artikel ist ein Buch"; 
13.
14.
  else { 
15.
   $uSt = $netto*0.16; 
16.
   echo "Der Artikel ist eine CD-ROM"; 
17.
18.
  $brutto = $netto+$uSt; 
19.
  echo "Der Artikelpreis: $brutto"; 
20.
 
21.
?> 
22.
</body> 
23.
</hmtl>
diese beiden habe ich miteinander verzweigt, wie ihr sehen könnt.
Nun habe ich mir natürlich auch xampp heruntergeladen und es gestartet....dann noch alle Dateien in den Ordner htdocs gespeichert und alles.

All diese Sachen helfen bei mir aber nicht. Die html Seite wird fehlerfrei angezeigt, aber sobald ich auf absenden klicke, wird in dem erscheinendem Fenster nur mein php dokument dargestellt und nicht die auswertung....

kann mir mit meinem problem jemand helfen??

Danke schon im vorraus


lg Sunny
Mitglied: nxclass
14.02.2009 um 18:46 Uhr
rufst du die HTML auch über http://localhost/... auf und nicht über file:// ... !?

(ich nutze JanaServer2, PHP mit Sqlite und 'Active' Perl)

01.
$uSt = $netto*0.16; 
02.
echo "Der Artikel ist eine CD-ROM";
nur 16% Steuer? - wo wohnst du?
Bitte warten ..
Mitglied: kaiand1
14.02.2009 um 18:51 Uhr
Lass mich raten du hast die PHP Datei .htm benannt anstelle .php ?!
16% MWST? Ist bestimmt eine ältere Vorlage oder? Hab letztens in ein Buch ne € Betrag stehen sehen aber als Bild DM Münzen :D
Bitte warten ..
Mitglied: 72036
14.02.2009 um 20:27 Uhr
Zitat von kaiand1:
Lass mich raten du hast die PHP Datei .htm benannt anstelle .php ?!
16% MWST? Ist bestimmt eine ältere Vorlage oder? Hab letztens in
ein Buch ne € Betrag stehen sehen aber als Bild DM Münzen :D


Nein ich habe die php natürlich .php genannt.....und ja das mit der MWST ist eine ältere Vorlage aus der Schule....


Dann zu nxclass:
Ich kann nicht auf den localhost zugreifen...das ist ja eines meiner Probleme, die ich habe.
Bitte warten ..
Mitglied: kaiand1
14.02.2009 um 20:50 Uhr
Wenn du Xampp entpackt hast hast du im Xampp dir auch die setup_xampp.bat vorher ausgeführt damit der die Pfadangaben anpassen kann gemacht?.
Mit xampp-control.exe kannst du den Status sehen. Im Logfile evtl gucken wenn der nicht startet warum der nicht will
Bitte warten ..
Mitglied: 72036
14.02.2009 um 22:49 Uhr
so das klappt jetzt alles soweit und ich kann in den localhost reinschauen und die einzelnen Dateien auch öffnen....nun habe ich aber ein neues Problem:

Meine PHP löst die HTML falsch auf....könnt ihr mir helfen??


Das ist meine .html Datei......diese wird ohne Probleme richtig angezeigt:

<html>
<body>

<form action="mwst.php" method="post">

Bitte wählen Sie einen Artikel aus

<select name="$artTyp" size=1">
<option> Buch </option>
<option> CD-ROM </option>
<option> Sonstiges </option>
</select><p>
<input type="submit">
<input type ="reset">

</form>

</body>
</html>


So und jetzt die PHP, die diese auswerten soll:

<html>
<body>
<?php
$netto = 1000;
$artTyp = "Buch"; Artikeltyp, B: Buch
$artTyp = "CD-ROM";
Artikeltyp, C: CD-ROM
$artTyp = "Sonstiges"; // Artikeltyp, S: Sonstiges

if ($artTyp = "Buch")
{
$uSt = $netto * 0.07;
echo "Der Artikel ist ein Buch";
}

else
{
if ($artTyp = "CD-ROM")
{

$uSt = $netto * 0.16;
echo "Der Artikel ist eine CD-Rom";
}
}

$brutto = $netto+$uSt;
echo "Der Artikelpreis: $brutto";

?>
</body>
</hmtl>

Die Auswertung, die ich von der PHP erhalte ist immer unabhängig davon, welchen Artikel ich auswähle:

Der Artikel ist ein BuchDer Artikelpreis: 1070


Danke im Vorraus

Sunny
Bitte warten ..
Mitglied: Guenni
15.02.2009 um 11:21 Uhr
Hi Sunny,

<select name="$artTyp" size=1">

ist schonmal falsch, hier gehört . . .

<select name="artTyp" size=1">

. . . hin, ohne Dollarzeichen.

Um die Select-Box im PHP-Script auszuwerten, würde ich

in dieser die Options um den Parameter value erweitern:

01.
 
02.
<select name="$artTyp" size=1"> 
03.
<option value="1"> CD-Rom </option> 
04.
<option value="2"> Buch </option> 
05.
<option value="3"> Sonstige </option> 
06.
</select> 
07.
 
Gesendet wird dann 1,2 oder 3, je nach Auswahl.

Gesendete Formulardaten werden, wenn die gewählte Methode post

ist, im $_POST-Array gespeichert. Die Auswahl wird also mit $_POST['artTyp']

abgefragt.

Die if-else-Konstruktion würde ich durch switch abkürzen:

01.
 
02.
<?php> 
03.
 
04.
switch($_POST['artTyp']){ 
05.
  case 1:$MwSt=0.16;break
06.
  case 2:$MwSt=0.07;break
07.
  case 3:$MwSt=0.16; 
08.
09.
 
10.
?> 
11.
 
Die Artikeltypen würde ich in einem Array ablegen. Der Index wird dann

mit $_POST['artTyp'] angesprochen, welcher ja 1,2 oder 3 enthält:

01.
 
02.
<?php> 
03.
 
04.
$artikel=array("1" => "CD-Rom","2" => "Buch","3" => "Sonstiges"); 
05.
 
06.
?> 
07.
 
Je nachdem, welche Zahl gesendet wird, gibt . . .

echo "Sie haben Artikeltyp ".$artikel[$_POST['artTyp']]." gewählt.";

. . . den entsprechenden Artikeltyp aus.

Vollständig würde das dann so aussehen:


01.
 
02.
<?php> 
03.
 
04.
 $netto=100; 
05.
 $artikel=array("1" => "CD-Rom","2" => "Buch","3" => "Sonstiges"); 
06.
 switch($_POST['artTyp']){ 
07.
  case 1:$MwSt=0.16;break
08.
  case 2:$MwSt=0.07;break
09.
  case 3:$MwSt=0.16; 
10.
11.
 echo "Sie haben Artikeltyp ".$artikel[$_POST['artTyp']]." gewählt.<br>"
12.
 echo "Nettopreis ".$netto."<br>"
13.
 echo "MwSt ".$MwSt * $netto."<br>"
14.
 $brutto=$netto + $MwSt*$netto
15.
 echo "Bruttopreis ".$brutto
16.
 
17.
?> 
18.
 
Gruß
Günni
Bitte warten ..
Mitglied: nxclass
15.02.2009 um 12:31 Uhr
.. jetzt über schwemmt Sunny6 nicht mit eurem Code.

http://www.php.net/manual/de/ und http://de.selfhtml.org/ muss man kennen.

Mein Senf dazu:
Was wenn jemand ein 'artTyp' = 4 absendet - dann hat er keine MWSt. - weil da jemend den
01.
switch () { 
02.
.. 
03.
    default: 
04.
        ...!!!... 
05.
}
vergessen hat.
Bitte warten ..
Mitglied: Guenni
15.02.2009 um 13:22 Uhr
Hi nxclass,


aus Versehen artTyp=4 abzusenden ist für OttoNormal eigentlich nicht möglich,

da er seine Auswahl aus der Select-Liste vornimmt, und da sind die Werte vorgegeben.


Ein gewiefter Freak kann das Formular natürlich manipulieren und andere Werte unterschieben,

aber darum ging es in diesem Thread doch nicht. Es ging sich hier erstmal um die Frage, wie

kann ich Daten übertragen und auswerten.


Die Frage, wie kann ich Manipulationen verhindern, gehört in eine ganz andere Kategorie, die

man angehen kann, wenn alles andere funktioniert.


Und wie du schon richtig bemerktest:

Wir wollen Sunny doch nicht überfordern


Gruß
Günni
Bitte warten ..
Mitglied: 72036
15.02.2009 um 15:09 Uhr
Hallo Günni, danke schonmal für deine Antwort, aber ich steige da nicht so ganz durch.
Wo berechnet er denn jetzt den Bruttowert und wo die Märchensteuer??

Ich fände es super, wenn du oder jemand anders, mir meine Verfassung eventuell korrigieren könnte.
Wir lernen das in der Art auch in der Schule.


Vielen Dank auch an nxclass.....die Seiten habe ich direkt gespeichert!
Alina
Bitte warten ..
Mitglied: 72036
15.02.2009 um 17:54 Uhr
ein super Genie hat mir geholfen und wir haben es geschafft über das ICQ meine Version so zu ändern, dass jetzt alles läuft und ich bin sooooo glücklich darüber *megafreu*

habe sogar alles verstanden hehe.

Aber danke nochmal an alle hier

lg Sunny
Bitte warten ..
Mitglied: masterG
23.02.2009 um 10:07 Uhr
Somit Thread closed

masterG(Moderator)
Bitte warten ..
Ähnliche Inhalte
PHP
Problem mit php
Frage von jensgebkenPHP4 Kommentare

hallo gemeinschaft ein bekannter hat mir ein kleines script geschrieben in diesem code weerden die variaben f eine sql ...

PHP
Problem mit PHP Besucherzähler
Frage von gamerffPHP9 Kommentare

Hallo Leute, ich habe ein Problem mit meinem PHP besucherzähler $gesamt = fopen("gesamt.txt","r+"); $gesamt = fgets($gesamt, 10); rewind($gesamt); $gesamt=$zahl+$gesamt; ...

PHP
Problem mit php und mysql
Frage von gamerffPHP6 Kommentare

Hallo Forum ich hab ein Problem beim Update eines Datensatzes Kann mir jemand sagen wo mein Fehler liegt

PHP
PHP Problem mit Formular
gelöst Frage von vServerPHP6 Kommentare

Hallo, ich habe ein Formular jedoch ein Problem das später nicht alle Felder weitergegeben werden? und hier hab ich ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 2 TagenWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 2 TagenAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 3 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 3 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Router & Routing
Router auf Orginal Firmware zurück flashen mit Tftpd
Frage von ILeonardRouter & Routing21 Kommentare

Hallo, Ich habe zwei Router, einmal TP-Link 841n v11 und TP-Link 940N v5. Ich wollte fragen, ob jemand mir ...

Router & Routing
WRT keine Verbindung zum Web Interface
gelöst Frage von ILeonardRouter & Routing18 Kommentare

Hallo, Ich habe einen TP-Link WR841n mit wrt geflasht, das Problem ist ich kann mich mit 192.168.1.1 nicht verbinden. ...

Windows Server
Standortvernetzung zu einem Strato VServer (Windows)
Frage von matzefratze81Windows Server10 Kommentare

Moin, ich komme aus einem Enterprise-Umfeld und habe den Fehler gemacht, dass ich mich auf ein kleines Unternehmen eingelassen ...

TK-Netze & Geräte
Telefonie zweier Fritzboxen mit je eigenem DSL Anschluss verbinden
Frage von hannsgmaulwurfTK-Netze & Geräte10 Kommentare

Hallo zusammen, ich habe hier einen Haushalt mit zwei Anschlüssen. Einmal ISDN, einmal DSL. An jedem Anschluss hängt eine ...