hallo community,
habe folgendes problem, wofür ich einfach keine lösung finde.
habe eine tabelle (fdaten) angelegt, die spalten sind wie folgt betitelt.
geraet varchar
bestellnummer varchar
hersteller varchar
modell varchar
chassis varchar
fehler varchar
loesung varchar
name varchar
über ein html-formular möchte ich den usern die
möglichkeit geben daten in die datenbank einzutragen,
was aucgh funktioniert und natürlich auch daten abzu-
fragen was überhaupt nicht funzt.
über formularfelder die die gleiche bezeichnung wie die tabellenspalten
haben sende ich mittels
<form action="db_ausgabe.php" method="post">
die variablen an db_ausgabe.php
geraet='".$_POST['geraet']."'
bestellnummer='".$_POST['bestellnummer']."'
hersteller = '".$_POST['hersteller']."'
modell = '".$_POST['modell']."'
chassis = '".$_POST['chassis']."'
fehler = '".$_POST['fehler']."'
loesung='".$_POST['loesung']."'
name = '".$_POST['name']."'
jetzt möchte ich mittels der übergebenen variablen in der db_ausgabe.php
eine datenbankabfrage starten bei der einzelne, als auch mehrere oder alle
formularfelder eingaben haben.
leider werden auch die variablen interpretiert, die nur leerzeichen übergeben
bekommen.
wenn ich mittels AND-verknüpfung eine SELECT WHERE abfrage starte
funktioniert es zwar, der user muss aber alle formularfelder richtig ausfüllen um einen
datensatz zu erhalten.
wie erreiche ich es nun, dass die leeren formularfelder nicht zu einer nicht gewollten tabellenabfrage
führen (bei OR-verknüfung) bzw. wir kann ich es erreichen, dass bei suche von
geraet oder hersteller oder name .....
als auch bei eingaben von geraet und hersteller als bei geraet herstelller und modell ...
die richtigen datensätze ausgegeben werden ?
über über jede hilfe dankbar
gruss
scarfe
p.s. habe auch solchen blödsinn versucht
aber da kommt es dann auch zu ergebnissen bei leeren spalten, wenn leere formularfelder übergeben werden.
habe folgendes problem, wofür ich einfach keine lösung finde.
habe eine tabelle (fdaten) angelegt, die spalten sind wie folgt betitelt.
geraet varchar
bestellnummer varchar
hersteller varchar
modell varchar
chassis varchar
fehler varchar
loesung varchar
name varchar
über ein html-formular möchte ich den usern die
möglichkeit geben daten in die datenbank einzutragen,
was aucgh funktioniert und natürlich auch daten abzu-
fragen was überhaupt nicht funzt.
über formularfelder die die gleiche bezeichnung wie die tabellenspalten
haben sende ich mittels
<form action="db_ausgabe.php" method="post">
die variablen an db_ausgabe.php
geraet='".$_POST['geraet']."'
bestellnummer='".$_POST['bestellnummer']."'
hersteller = '".$_POST['hersteller']."'
modell = '".$_POST['modell']."'
chassis = '".$_POST['chassis']."'
fehler = '".$_POST['fehler']."'
loesung='".$_POST['loesung']."'
name = '".$_POST['name']."'
jetzt möchte ich mittels der übergebenen variablen in der db_ausgabe.php
eine datenbankabfrage starten bei der einzelne, als auch mehrere oder alle
formularfelder eingaben haben.
leider werden auch die variablen interpretiert, die nur leerzeichen übergeben
bekommen.
wenn ich mittels AND-verknüpfung eine SELECT WHERE abfrage starte
PHP-Code:
<?
include("mysql_connect.php3");
include("mysql_func.php3");
$sql="SELECT geraet, bestellnummer, hersteller, modell, chassis, name,
FROM $tabelle WHERE
bestellnummer ' = '".$_POST['bestellnummer']."' AND hersteller = '".$_POST['hersteller']."' AND modell = '".$_POST['modell']."'
AND chassis = '".$_POST['chassis']."' name = '".$_POST['name']."'"
If ($res=send_sql($db,$sql)) {
echo "SQL-Kommando wurde ausgeführt<br>";
}
tab_out($res);
datensatz zu erhalten.
wie erreiche ich es nun, dass die leeren formularfelder nicht zu einer nicht gewollten tabellenabfrage
führen (bei OR-verknüfung) bzw. wir kann ich es erreichen, dass bei suche von
geraet oder hersteller oder name .....
als auch bei eingaben von geraet und hersteller als bei geraet herstelller und modell ...
die richtigen datensätze ausgegeben werden ?
über über jede hilfe dankbar
gruss
scarfe
p.s. habe auch solchen blödsinn versucht
PHP-Code:
<?
<? // L183.php3
include("mysql_connect.php3");
include("mysql_func.php3");
$sql="SELECT geraet, bestellnummer, hersteller, modell, chassis, fehler, loesung, spoint, name, email, datum
FROM $tabelle WHERE
bestellnummer NOT '' = '".$_POST['bestellnummer']."'
OR hersteller = '".$_POST['hersteller']."'
OR modell = '".$_POST['modell']."'
OR chassis = '".$_POST['chassis']."'
OR spoint = '".$_POST['spoint']."'
OR name = '".$_POST['name']."'
OR geraet = '".$_POST['geraet']."' AND bestellnummer = '".$_POST['bestellnummer']."'
OR geraet = '".$_POST['geraet']."' AND bestellnummer = '".$_POST['bestellnummer']."' AND hersteller = '".$_POST['hersteller']."'
OR geraet = '".$_POST['geraet']."' AND bestellnummer = '".$_POST['bestellnummer']."' AND hersteller = '".$_POST['hersteller']."' AND modell = '".$_POST['modell']."'
OR geraet = '".$_POST['geraet']."' AND bestellnummer = '".$_POST['bestellnummer']."' AND hersteller = '".$_POST['hersteller']."' AND modell = '".$_POST['modell']."' AND chassis = '".$_POST['chassis']."'
OR geraet = '".$_POST['geraet']."' AND bestellnummer = '".$_POST['bestellnummer']."' AND hersteller = '".$_POST['hersteller']."' AND modell = '".$_POST['modell']."' AND chassis = '".$_POST['chassis']."' AND spoint = '".$_POST['spoint']."'
OR geraet = '".$_POST['geraet']."' AND bestellnummer = '".$_POST['bestellnummer']."' AND hersteller = '".$_POST['hersteller']."' AND modell = '".$_POST['modell']."' AND chassis = '".$_POST['chassis']."' AND spoint = '".$_POST['spoint']."' AND name = '".$_POST['name']."'
OR bestellnummer = '".$_POST['bestellnummer']."' AND hersteller = '".$_POST['hersteller']."' AND modell = '".$_POST['modell']."' AND chassis = '".$_POST['chassis']."' AND spoint = '".$_POST['spoint']."' AND name = '".$_POST['name']."'
OR hersteller = '".$_POST['hersteller']."' AND modell = '".$_POST['modell']."' AND chassis = '".$_POST['chassis']."' AND spoint = '".$_POST['spoint']."' AND name = '".$_POST['name']."'
OR modell = '".$_POST['modell']."' AND chassis = '".$_POST['chassis']."' AND spoint = '".$_POST['spoint']."' AND name = '".$_POST['name']."' NOT ''
OR chassis = '".$_POST['chassis']."' AND spoint = '".$_POST['spoint']."' AND name = '".$_POST['name']."'
OR spoint = '".$_POST['spoint']."' AND name = '".$_POST['name']."'
";
If ($res=send_sql($db,$sql)) {
echo "SQL-Kommando wurde ausgeführt<br>";
}
tab_out($res);
?>
Kommentar