Willkommen in der Webstatt Zum Webstatt Blog und Stories
Bonze am 09.02.07 17: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!"); }
if( empty($_POST['typ']) ){ die("Sie müssen einen Autotyp angeben!"); }
if( empty($_POST['art']) ){ die("Sie müssen eine Fahrzeugart angeben!"); }
if( empty($_POST['status']) ){ die("Sie müssen den Verkaufsstatus angeben!"); }
if( empty($_POST['preis']) ){ die("Sie müssen einen Preis angeben!"); }
if( empty($_POST['ezmonat']) || empty($_POST['ezjahr'] ) ){ die("Sie müssen das Erzulassungsdatum angeben!"); }
if( empty($_POST['aumonat']) || empty($_POST['aujahr'] ) ){ die("Sie müssen das Datum der letzten AU angeben!"); }
if( empty($_POST['humonat']) || empty($_POST['hujahr'] ) ){ die("Sie müssen das Datum der letzten HU angeben!"); }
if( empty($_POST['km']) ){ die("Sie müssen den KM-Stand angeben!"); }
if( empty($_POST['kw']) ){ die("Sie müssen die Leistung in KW angeben!"); }
if( empty($_POST['ps']) ){ die("Sie müssen die Leistung in PS angeben!"); }
if( empty($_POST['getriebe']) ){ die("Sie müssen angeben ob es sich um ein Schalt oder Automatik-Getriebe handelt!"); }
if( empty($_POST['farbe']) ){ die("Sie müssen eine Farbe angeben!"); }
if( empty($_POST['kraftstoff']) ){ die("Sie müssen die Kraftstoffart angeben!"); }
if( empty($_POST['ausstattung']) ){ die("Sie müssen die Austattung angeben!"); }

netcup.de Warum gibt es hier Werbung?
Johannes am 09.02.07 17: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

Rebel4s Rebel4s am 09.02.07 18:09

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

Bonze am 09.02.07 18: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

Rene Rene am 09.02.07 18: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 :P

Franky Franky am 09.02.07 18:51

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

Bonze am 09.02.07 19: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 ?

Snake am 09.02.07 19:17

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

Bonze am 09.02.07 20:59

häh?
raff ich irgendwie nich :D

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt