mysql eintrag

z0oL

Erfahrenes Mitglied
tag,

ich hab ein problem:

will mit einem formular daten in meine mysql db eintragen. Aber nur, wenn alle Felder ausgefüllt wurden. Bei meinem genutzten String, läuft aber irgendwas schief :/
sry für den sch**** code

PHP:
if( $_POST[name] != '' && $_POST[vorname] != '' && $_POST[straße] != '' && $_POST[hausnummer] != '' && $_POST[plz] != '' && $_POST[ort] != '' && $_POST[kontonummer] != '' && $_POST[servername] != '' &&  $_POST[clanname] != '' && $_POST[email] != '' && $_POST[icq] != '')
$sqlkommando = "INSERT INTO gs_best (id, name, vorname, straße, hausnummer, plz, ort, kontonummer, vorraus, servername, slots, clanname, email, icq) VALUES ('$id', '$_POST[name]', '$_POST[vorname]', '$_POST[straße]', '$_POST[hausnummer]', '$_POST[plz]', '$_POST[ort]', '$_POST[kontonummer]', '$_POST[vorraus]', '$_POST[servername]', '$_POST[slots]', '$_POST[clanname]', '$_POST[email]', '$_POST[icq]')";

Als Fehlermeldung kommt immer, dass das Query leer sein würde ..

Hab mir das ganze schon stunden angeschaut, aber ich finde keinen fehler.. hoffe jmd von euch kann mir helfen
 
also....

PHP:
if( $_POST[name] != '' && $_POST[vorname] != '' && $_POST[straße] != '' && $_POST[hausnummer] != '' && $_POST[plz] != '' && $ [...]

ich würde es generell so machen:

PHP:
if ($name == "" || !$name || $vorname == "" || !$vorname [...]

probier das mal! sollte klappen...
 
:(

Leider hat das auch nichts genützt. Irgendwas in meinem Syntax ist falsch, aber ich kanns net finden :/

Ich sterbe :)
 
kommt die meldung IMMER? d.h. bei Jeder möglichkeit, wie du die Felder ausfüllen kannst?

überprüf das doch mal, indem du dir alle werte mittels echo $....; anzeigen lässt!
 
ja, die meldung kommt immer!
bei echo komt auch immer das richtige... ist in meinem query oben etwas falsch ?

rechtschreibefehler oder sonst was dummes ?
 
probier doch einfach mal, die ' durch " zu ersetzen. und wenn das nichts hilft, überprüf doch einfach, ob die variablen leer sind (da gibts eine funktion für).

ausserdem solltest du vielleicht nicht gerade einen variablennamen wie "straße" verwenden. nenn die variable stattdessen lieber "strasse". (das gilt auch für die feldnamen in der datenbank.)
 
oder vielleicht probierst du es andersrum (falls alle Stricke reißen):

if ($_POST[name] == '') echo "Du hast deinen Namen nicht eingegeben";
elseif ($_POST[vorname] =='') echo "Du ...";
...
...
...
else $sqlkommando = "INSERT...."


verstehst du was ich meine?
 
so sollte es funktionieren.

PHP:
if(!empty($_POST['name']) && !empty($_POST['vorname']) && !empty($_POST['strasse']) && !empty($_POST['hausnummer']) && !empty($_POST['strasse']) && !empty($_POST['plz']) && !empty($_POST['ort']) && !empty($_POST['kontonummer']) && !empty($_POST['servername']) && !empty($_POST['clanname']) && !empty($_POST['email']) && !empty($_POST['icq']))
 
Geht´s so?
Ansonsten gibt es in bestimmten Programmiersprachen eine Begrenzung von maximal 6 Bedingungen pro If-Schleife..könnnte ja eine Möglichkeite sein.
(Fragt mich nicht welche und ob es PHP war!)

Aber irgendwie passt die Fehlermeldung nicht dazu..
 
@zOol: surely not php.

@pxlartizzt:

gerade nich ohne $_POST[] schreiben.
mal wieder nicht aufgepasst, wie?

neue syntax! ohne Array funktioniert es in den neuren php-versionen nicht.
also besser nicht gennerell ohne machen...^^
 
Zurück