ERLEDIGT
NEIN
NEIN
ANTWORTEN
11
11
ZUGRIFFE
460
460
EMPFEHLEN
-
03.08.04 17:54 #1
Hi alle zusammen.
Ich habe ein kleines Problem. Ich hab ein Formular und der Inhalt soll in eine Datenbank eingetragen werden.
Das Formular seht Ihre hier: Formular
Und hier das Script, das alles abspeichern soll.
Was hab ich da falsch gemacht?PHP-Code:<?
include("dbconnect.php");
?>
<HTML>
<HEAD>
<TITLE>Kontrolle</TITLE>
<style type="text/css"><!--
.rand{
border:1px white solid;
}
.cssButton{
border-right: #FFFFFF 2px inset;
border-top: #FFFFFF 2px outset;
font-weight:Normal;
font-size: 10pt;
border-left: #FFFFFF 2px outset;
color: #FFFFFF ;
border-bottom: #FFFFFF 2px inset;
font-family: Arial, Helvetica, sans-serif;
background-color: #035787;
}
-->
</style>
</HEAD>
<BODY bgcolor="#035787" style="scrollbar-face-color:#035787; scrollbar-track-color:#035787; scrollbar-base-color:#035787; scrollbar-arrow-color:white;">
<FONT face="arial" size="2" color="white"><center>Die Daten werden gesichert.<p>Bitte warten Sie einen Moment. Sie werden automatisch zum Wochenplan weitergeleitet.<p><IMG src=buttons/loader.gif><p>
<meta http-equiv="refresh" content="3; url=center.php">
<?
$table = "$kalenderwoche$tag$nummer";
$knowdebeka = $HTTP_POST_VARS["knowdebeka"];
$verein = $HTTP_POST_VARS["verein"];
$gesetz = $HTTP_POST_VARS["gesetz"];
$beruf = $HTTP_POST_VARS["beruf"];
$uberschusse = $HTTP_POST_VARS["uberschusse"];
$kostenlos = $HTTP_POST_VARS["kostenlos"];
$knowdebekabe = $HTTP_POST_VARS["knowdebekabe"];
$vereinbe = $HTTP_POST_VARS["vereinbe"];
$gesetzbe = $HTTP_POST_VARS["gesetzbe"];
$berufbe = $HTTP_POST_VARS["berufbe"];
$uberschussebe = $HTTP_POST_VARS["uberschussebe"];
$kostenlosbe = $HTTP_POST_VARS["kostenlosbe"];
$geschlecht = $HTTP_POST_VARS["geschlecht"];
$name = $HTTP_POST_VARS["name"];
$adresse = $HTTP_POST_VARS["adresse"];
$plz = $HTTP_POST_VARS["plz"];
$ort = $HTTP_POST_VARS["ort"];
$telenummer = $HTTP_POST_VARS["telenummer"];
$kalenderwoche = $HTTP_POST_VARS["kalenderwoche"];
$tag = $HTTP_POST_VARS["tag"];
$nummer = $HTTP_POST_VARS["nummer"];
$uhr = $HTTP_POST_VARS["uhr"];
$wegbe = $HTTP_POST_VARS["wegbe"];
$eintrag = "INSERT INTO $table (name, adresse, plz, wohnort, telefon, kalenderwoche, tag, nummer, uhr, wegbe, knowdebeka, verein, gesetz, beruf, uberschusse, kostenlos, knowdebekabe, vereinbe, gesetzbe, berufbe, uberschussebe, kostenlosbe, geschlecht) VALUES ('$name', '$adresse', '$plz', '$ort', '$telenummer', '$kalenderwoche', '$tag', '$nummer', '$uhr', '$wegbe', '$knowdebeka', '$verein', '$gesetz', '$beruf', '$uberschusse', '$kostenlos', '$knowdebekabe', '$vereinbe', '$gesetzbe', '$berufbe', '$uberschussebe', '$kostenlosbe', '$geschlecht')";
$eintragen = mysql_query($eintrag);
?>
</BODY>
</HTML>
-
03.08.04 18:05 #2
Mal mit mysql_error() prüfen, ob ein Fehler ausgegeben wird. Wenn ja, die SQL-Anweisung ausgeben lassen und prüfen.
snuuDas Leben ist wie eine Ketchupflasche - erst kommt nichts und dann alles auf einmal.
www.sven-petruschke.de
-
03.08.04 18:16 #3
Hallo nochmal
hab ich vergessen zu schreiben. So eine Error-Anzeige hab ich schon drin. Ich bekomme keine Fehlermeldung.
-
03.08.04 18:45 #4
- Registriert seit
- Mar 2002
- Ort
- BRD
- Beiträge
- 489
Hola! Mal zwei Sachen von mir:
1. Es ist zu empfehlen Variablen in SQL-Statements stets mit '".$variable."' einzubinden, da es so schonmal nicht möglich ist SQL-Befehle per Variable zu übergeben und auch die Typen keine Probleme machen.
2. $eintragen = mysql_query($eintrag); dürfte falsch sein
=> versuche es ohne das $eintragen
mysql_query($eintrag); müsste richtig sein
-
03.08.04 18:59 #5Ich muss Dir mal wiederprechen.Original geschrieben von Sebastianus
Hola! Mal zwei Sachen von mir:
1. Es ist zu empfehlen Variablen in SQL-Statements stets mit '".$variable."' einzubinden, da es so schonmal nicht möglich ist SQL-Befehle per Variable zu übergeben und auch die Typen keine Probleme machen.
2. $eintragen = mysql_query($eintrag); dürfte falsch sein
=> versuche es ohne das $eintragen
mysql_query($eintrag); müsste richtig sein
1.) Wenn Du die Variable in diesem Format einbindest, dann kannst Du immernoch Code einschleusen. Ausserdem ist die generelle Verwendung der Singlequotes um den einzufügenden Wert falsch. Nummerische Werte beispielsweise, werden nicht in Singlequotes eingefasst. Um sich gegen SQL-injections zu schützen, sollte man mysql_escape_string() für Strings verwenden, intval() für Ganzzahlen und doubleval() für Fließkommazahlen.
2.) Die Funktion mysql_query() gibt TRUE bei Erfolg oder FALSE im Fehlerfall zurück. Also ist diese Schreibweise auch korrekt.
snuuDas Leben ist wie eine Ketchupflasche - erst kommt nichts und dann alles auf einmal.
www.sven-petruschke.de
-
03.08.04 19:05 #6
- Registriert seit
- Mar 2002
- Ort
- BRD
- Beiträge
- 489
Fein - hab ich auch wieder etwas gelernt! Ein Schüler kann selten besser sein als sein Meister - mir wurde es mal anders gesagt, aber nun werde ich dieses Wissen weiter in die Welt tragen - denn snuu schätze ich kompetenter ein als meinen Meister damals

Was mich jedoch wundert ist der Name der Tabelle! Ist wirklich sichergestellt, dass stest eine solche Tabelle existiert - denn ein Tebellenname mit Kalenderwoche Tag und Nummer klingt in meinen Augen schon sehr dynamisch
Ansonsten sehe ich auch keinen direkten Fehler da drin Außer, dass evtl. noch ein Tippfeld in den Spaltenbezeichnungen der Tabelle ist o.ä.!
-
04.08.04 11:30 #7
Hallo
also die Tabelle wird ausgewählt aus der kalenderwoche in der der Termin stattfindet, aus dem wochentag und aus terminnummer.
-
04.08.04 12:07 #8
Muss ich vielleicht die Verbindung zur Datenbank erst wieder beenden
Kann das sein?
Achso und die MySQL Spalten hab ich alle so eingestellt:
z.B.: Name: "text" "100"
ist das überhaupt richtig?
-
Was heisst richtig... es ist irgendwo in der Mitte... aber ich würde dennoch soachen wie PLZ eher als INT speichern, Text als Varchar (es sei denn du willst nur ein Zeichen, dann char) sofern dieser nicht mehr als 255 Zeichen haben wird, sonst TEXT.
@snuu: Aber auch beim Schützen gegen Injections ist es schwachsinn, alles vorher in eine extra variable zu Packen. Das kostet a) Speicher (wenn auch nicht viel, aber dennoch eine Verschwendung), b) Schade um die Tipparbeit und c) können mysql_escape_string etc direkt im Statement gemacht werden...
EDIT: @snuu: sry verlesen...Geändert von Ben Ben (04.08.04 um 13:00 Uhr)
-
04.08.04 12:40 #10
@Ben Ben: Da gebe ich Dir vollkommen Recht! Ich habe auch nicht behauptet, dass er jede übergebene Variable nochmals in eine extra Variable verpacken soll. Ich sprach nur davon, dass die generelle Verwendung von Singlequotes falsch ist und dass man die Funktionen mysql_escape_string(), intval() und doubleval() verwenden sollte.
Bitte nochmal nachlesen ...Das Leben ist wie eine Ketchupflasche - erst kommt nichts und dann alles auf einmal.
www.sven-petruschke.de
-
04.08.04 19:45 #11
Hallo,
1. Also es funktioniert jetzt.
Die Datenbank hat nur die Tabellenauswahl mit den 3 Variablen ($kalenderwoche$tag$nummer) nicht angenommen.
Hat jemand vielleicht eine andere Idee, wie ich jetzt durch das Formular die Tabelle auswählen könnte?
Mfg
CHPA
-
04.08.04 19:49 #12
Du kannst doch nicht je Kalenderwoche, Tag und Nummer eine neue Tabelle verwenden. Nimm eine einzige Tabelle und füge dieser die Felder Kalenderwoche, Tag und Nummer hinzu. Somit kannst Du später über die WHERE-Bedingung im SQL-Statement die Daten einschränken.
snuuDas Leben ist wie eine Ketchupflasche - erst kommt nichts und dann alles auf einmal.
www.sven-petruschke.de
Ähnliche Themen
-
Warum werden die Daten nicht korrekt in der MySql-Db gespeichert? [UTF-8]
Von VanHellsehn im Forum PHPAntworten: 17Letzter Beitrag: 18.03.10, 20:23 -
Typo3 Einsteiger. Wo werden Daten gespeichert ?
Von dropdown im Forum Content Management Systeme (CMS)Antworten: 2Letzter Beitrag: 05.12.08, 13:32 -
Daten werden nicht gespeichert
Von bodoschmidt im Forum .NET DatenverwaltungAntworten: 2Letzter Beitrag: 22.01.08, 00:13 -
Daten werden in Array nicht richtig gespeichert
Von cesupa im Forum PHPAntworten: 5Letzter Beitrag: 31.08.07, 11:43 -
Daten werden nicht in der Datenbank gespeichert
Von Dirk_1973 im Forum PHPAntworten: 6Letzter Beitrag: 06.02.05, 20:39





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren