Problem bei if(isset ...

Raeubertochter

Grünschnabel
Hallo,

folgende Grundlage.

Ich fülle über ein Formular immer 2 Felder aus mit je einmal "Angebot" und "Preis". Es können bis zu 10 Angebote eingegeben werden. Bei "Abschicken" werden die Daten in eine Textdatei geschrieben, auch werden die Daten gleich noch einmal angezeigt, damit man überprüfen kann, ob alles richtig ist. Wenn nicht, kann man über einen Button zum Editieren gehen.

Nun wollte ich gerne automatisch bei allen Einträgen, die tatsächlich gemacht werden (z.B. werden nur 5 von 10 Angeboten und Preisen eingetragen), den Begriff "Euro" dahinterstellen.

Hab ich gemacht mit:
PHP:
if(isset($preis1)) { 
		$preis1 = "$preis1 Euro";
    }

Klappt insofern auch, nur wird "Euro" leider auch bei leeren Formularfeldern eingetragen.
Die Textdatei sieht nach einem Eintrag (ohne isset) so aus:
Angebot1|12,83|Angebot2|20,31|Angebot3|5,21||||||||......

Die Textdatei sieht nach einem Eintrag (mit isset) so aus:
Angebot1|12,83 Euro|Angebot2|20,31 Euro|Angebot3|5,21 Euro|| Euro|| Euro|| Euro||......

Da ich natürlich in der Ausgabe nur wirkliche Angebote ausgeben will und nicht nur Euro-Zeichen stehe ich jetzt vor einem Problem.

Kann mir da bitee jemand weiterhelfen?

Danke
Die Räubertochter
 
Ich schätze einfach mal, dass du per Formular auf das unten bechriebene PHP Dokument verlinkst bzw. sendest. Außerdem vermute ich, bzw. bin ich so dreist anzunehmen, dass deine Textfelder von preis1 bis preisN durchnummeriert als namentliche Kennziffer sind.

Dies hat dann nämlich zu Folge, dass jedes Textfeld, egal ob es Leer ist oder nicht, als Variable in dem PHP Dokument zur Verfügung steht.

Was dir vielleicht weiter hilft, ist die Funktion empty(), welche dazu dient als Unifzierung, ob ein Textfeld Leer ist oder nicht. Denn wenn ein Textfeld bei deinem gestellten Problem Leer ist, soll kein "Euro" hinten angefügt werden.

Demnach sollte dein Code folgendermaßen aussehen:

PHP:
if(!empty($preis1)) {  
        $preis1 = "$preis1 Euro"; 
    }
 
Zurück