• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Mehrere Werte aus Formular in 1Variable?

Chuky

New member
Mahlzeit :)

also...ich habe 3 Textfelder zur eingabe des Datums und möchte nun diese 2 Werte in 1 Variable packen um sie dann in meine MySQL DB zu speichern, in der reihenfolge: yyyy.mm.dd

ich hoffe einer von euch hat eine Idee oder einen Tipp?! :confused:
falls ihr den code oder Teile davon braucht einfach sagn ;)

greetz chuky
 
PHP:
$Startdatum = isset($_POST['startyear']) ?
   $_POST['startyear'].".".
   $_POST['startmonth'].".".
   $_POST['startday'] : "";

Bedingung: die Ziffern in den Formularfeldern sind schon im richtigen Format (Jahr 4 ziffrig...) und diese sind nicht leer.
 
es funzt so wie es soll nur jetzt hab ich ien anderes problem oO

$sql_befehl ="INSERT INTO antrag (NutzerVM, TechVer, DNSname, System, Festplattenspeicher, RAM, CPU, Startdatum, vm_zurücksetzen, Backupzeiten, Hinweise ,Ablaufdatum) VALUES('$_POST[NutzerVM]','$_POST[TechVer]','$_POST[Dnsname]','$_POST[System]','$_POST[Festplattenspeicher]',
'$_POST[ram]','$_POST[cpu]',$Startdatum,'$_POST[vm_back]','$_POST[Backupzeiten]','$_POST[textarea1]',$Ablaufdatum)";
<--das steht in meiner connect.php

un das zeigt mir der FF an : "Die Verbindung mit localhost ist hergestellt!
'nutzer: 'rhgrt 'techv ist: 'aegre 'dns: 'system: 'W2K8 R2 64Bit'hdd: 213 GB''ram: '512MB 'cpu: '2vCPUs 'datum start: ' 'vm_back?: '(2011.11.25)'backupzeiten: 'monatlich'datum ende'(2012.06.01)1Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.25,'nein','monatlich','efbh eg egreg dge',2012.06.01)' at line 1"

versteh das grad überhaupt nicht, hoffe einer kann helfen ?!?!
 
Gib Dir mal per echo den Inhalt von $sql_befehl aus, damit aus den Variablen deren Inhalte werden. Dann kannst Du das besser prüfen.

Wenn ich solche Fehler habe, gehe ich per phpMySQL direkt in die DB und lasse den Befehl dort ausführen. Anhand des angezeigten Fehlercodes kann man besser prüfen, was los ist. Eventuell versuchst Du in ein Integerfeld einen String einzufügen. Ohne Kentnisse der Tabellenstruktur der DB kann man das aber kaum prüfen.

CU

Frank-Andre
 
Bei eine Ausgabe per echo wirst du sehen daß in einfachen Hochkommas keine Variablen substituiert werden.
 
Sorry, jspit, das stimmt hier nicht.

Der SQL-Code ist in "..." eingerahmt und die '..' müssen sein, damit MySQL den Code annimmt. Ausserdem zeigt der Fehlertext, dass die Werte übernommen wurden:

....to use near '.25,'nein','monatlich','efbh eg egreg dge',2012.06.01)'
I.d.R. kommen solche Fehlertexte bei unpassenden Tabellenstrukturen (string vs. integer).

CU

Frank-André
 
"Die Verbindung mit localhost ist hergestellt!

'nutzer: 'rhgrt 'techv ist: 'aegre 'dns: 'system: 'W2K8 R2 64Bit'hdd: 213 GB''ram: '512MB 'cpu: '2vCPUs 'datum start: ' 'vm_back?: '(2011.11.25)'backupzeiten: 'monatlich'datum ende'(2012.06.01)

1
Diese (mindestens) drei Ausgaben machst Du selbst, was dahintersteht kannst nur Du wissen.

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.25,'nein','monatlich','efbh eg egreg dge',2012.06.01)' at line 1"
Dein Datumsformat ist falsch. Außerdem ist Dein DB-Code höchstgradig anfällig für Angriffe mittels SQL-Injection. Das solltest Du dringend abstellen, sonst kann man Deine ganze Datenbank löschen, auslesen oder verunstalten.
 
@Thies: Code + Meldung passen nicht zueinander. Mit VALUES('$_POST[NutzerVM]', würde die Textkette '$_POST[NutzerVM]' als Value geschrieben werden und nicht der Wert aus dem Formular. Ganz abgesehen davon, ist es nicht gut diese direkt zu verarbeiten, wie Albu schon bemerkte.
 
@Thies: Code + Meldung passen nicht zueinander. Mit VALUES('$_POST[NutzerVM]', würde die Textkette '$_POST[NutzerVM]' als Value geschrieben werden und nicht der Wert aus dem Formular.
Die eingestrichenen Hochkommas sind hier aber nicht aktiv, da der komplette String von zweigestrichenen eingeschlossen ist.
 
Das Ablaufdatum muss auch in ' gesetzt werden. Auch wenn dei Spalte eine Datumsspalte wäre (was sie nicht sein kann, da das Format von MySQL yyyy-mm-dd ist) müsste der Inhalt als String übergeben werden.

@Thies: Auch bei einer numerischen Spalte würden die 's nicht stören - da ist MySQL relativ robust.
 
Zurück
Oben