Webstatt.org - Community seit 2006 - 2012 (2024?)

schönerer code dafür?

user-139
09.02.2007 16:24

hab hier ne überprüfung von nem formular und frag mich grad obs da für nicht ne "edlere" bzw bessere variante gibt?
			if(	empty($_POST['marke'])							){	die("Sie müssen eine Automarke angeben!"zwinkern;					}
if( empty($_POST['typ']) ){ die("Sie müssen einen Autotyp angeben!"zwinkern; }
if( empty($_POST['art']) ){ die("Sie müssen eine Fahrzeugart angeben!"zwinkern; }
if( empty($_POST['status']) ){ die("Sie müssen den Verkaufsstatus angeben!"zwinkern; }
if( empty($_POST['preis']) ){ die("Sie müssen einen Preis angeben!"zwinkern; }
if( empty($_POST['ezmonat']) || empty($_POST['ezjahr'] ) ){ die("Sie müssen das Erzulassungsdatum angeben!"zwinkern; }
if( empty($_POST['aumonat']) || empty($_POST['aujahr'] ) ){ die("Sie müssen das Datum der letzten AU angeben!"zwinkern; }
if( empty($_POST['humonat']) || empty($_POST['hujahr'] ) ){ die("Sie müssen das Datum der letzten HU angeben!"zwinkern; }
if( empty($_POST['km']) ){ die("Sie müssen den KM-Stand angeben!"zwinkern; }
if( empty($_POST['kw']) ){ die("Sie müssen die Leistung in KW angeben!"zwinkern; }
if( empty($_POST['ps']) ){ die("Sie müssen die Leistung in PS angeben!"zwinkern; }
if( empty($_POST['getriebe']) ){ die("Sie müssen angeben ob es sich um ein Schalt oder Automatik-Getriebe handelt!"zwinkern; }
if( empty($_POST['farbe']) ){ die("Sie müssen eine Farbe angeben!"zwinkern; }
if( empty($_POST['kraftstoff']) ){ die("Sie müssen die Kraftstoffart angeben!"zwinkern; }
if( empty($_POST['ausstattung']) ){ die("Sie müssen die Austattung angeben!"zwinkern; }

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
user-203
09.02.2007 16:56

Um das Ganze auch aus einer Datenbank heraus füttern zu können würde ich so ganz grob folgende Lösung vorschlagen:
<?php
$felder = array(
'marke',
'typ',
'art',
'status',
'preis',
array( 'ezmonat', 'ezjahr' ),
array( 'aumonat', 'aujahr' ),
array( 'humonat', 'hujahr' ),
'km',
'kw',
'ps',
'getriebe',
'farbe',
'kraftstoff',
'ausstattung'
);

$fehler = array(
'Sie müssen eine Automarke angeben!',
'Sie müssen einen Autotyp angeben!',
'Sie müssen eine Fahrzeugart angeben!',
'Sie müssen den Verkaufsstatus angeben!',
'Sie müssen einen Preis angeben!',
'Sie müssen das Erzulassungsdatum angeben!',
'Sie müssen das Datum der letzten AU angeben!',
'Sie müssen das Datum der letzten HU angeben!',
'Sie müssen den KM-Stand angeben!',
'Sie müssen die Leistung in KW angeben!',
'Sie müssen die Leistung in PS angeben!',
'Sie müssen angeben ob es sich um ein Schalt oder Automatik-Getriebe handelt!',
'Sie müssen eine Farbe angeben!',
'Sie müssen die Kraftstoffart angeben!',
'Sie müssen die Austattung angeben!'
);
$checked = array();
for ( $x = 0; $x < count( $felder ); $x++ )
{
if ( is_array( $felder[$x] ) )
{
for ( $y = 0; $y < count( $felder[$x] ); $y++ )
{
if ( empty( $_POST[$felder[$x][$y]] ) AND !isset( $checked[$x] ) )
{
echo $fehler[$x]."<br />";
$checked[$x] = true;
}
}
}
elseif ( empty( $_POST[$felder[$x]] ) )
{
echo $fehler[$x]."<br />";
}
}
?>


mfg

Denkt dran, Kinder auf dem Rücksitz verursachen Unfälle, Unfälle auf dem Rücksitz verursachen Kinder.
Avatar user-287
09.02.2007 17:09

Ich kann mir aber nicht vorstellen, dass das effizienter ist.

user-139
09.02.2007 17:17

jo das sieht ja noch unübersichtlicher aus , aba mal ne frage , wenn ich jetzt z.b. viele automarken haben , sollte ich dann ein array nehemen , in dieses alle marken eintragen, und dann ids zuordnen,
und diese ids in die db speichern ,
beim auslesen dann halt wieder das array durchsuchen ? scheint die beste lösung zu sein , odr halt alles nochma seperat in die db schreiuben (also die marken) was aber mehr aufwand is,. bzw mehr speicher belegt

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
Avatar user-290
09.02.2007 17:49

Ich will ja nicht aufdringlich erscheinen, zumal ich in eurem Gebiet (php) eigentlich nix verloren hab *g* ...
Aber ist so eine Überprüfung der Formulareingaben, sowohl für User als auch für den Scripter, in JavaScript nicht viel "angenehmer" ? Ich find die Lösungen in php ziemlich hässlich frech

Avatar user-182
09.02.2007 17:51

und wenn man kein js aktiviert hat kommt man "sofort" weiter? zwinkern

Seid ihr auch schon wix'r? xD
user-139
09.02.2007 18:12

ja es soll natürlich schon "save" sein ,.
habs jetzt auch leicht abgeändert von wegen html eingaben usw,.
..
aber ich denke so kann mans lassen hab nurnoch das porblem mit den automakren da weiss ich nochnich so recht,.

hab mir das in etwa so vorsgetellt
$automarken = array("audi", "vw",....)

nur wie bekomme ich da werte zugeoprdnet, das ich mit 1 audi aufurfen kann ,.
die werte brauche ich ja fpr mei dropdown feld,.
später wenn ich dann das ganze aus der db ausklese , wie bekomme ich dann bei der ausgabe wieder audi heraus ?

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe
user-303
09.02.2007 18:17

mach 2 tabellen und beim auslesen joinst du einfach die tabelle mit der marke über die id

user-139
09.02.2007 19:59

häh?
raff ich irgendwie nich Fettes Grinsen

OS: Windows XP CPU: AMD Athlon XP 3200+ RAM: 512MB DDR PC3200 (Dual Channel) Mainboard: MSI K7n2 Delta-L HDD: 80GB WD Graka:Radeon 9600 Pro =>Alekeijer Straussbuwe