Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: WebStyleBoard. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

1

Montag, 2. Juni 2008, 15:06

Fehlersuche PHP-Formular

Guten Mittag, bräuchte mal eure Hilfe bei der Suche eines Fehlers. Das Skript müsste so eigentlich funktionieren, aber ich finde den Fehler nicht.


Diese Datei enthält das PHP-Skript:

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php 
include ("checkuser.php"); 
?> 
<?php

error_reporting(E_ALL);

mysql_connect("localhost""root""");

mysql_select_db("erp");

$St_Name1 "";
$St_Name2 "";
$St_Straße "";
$St_Hausnummer "";
$St_Postleitzahl "";
$St_Wohnort "";
$St_Telefon "";
$St_Fax "";
$Ls_Name1 "";
$Ls_Name2 "";
$Ls_Straße "";
$Ls_Postleitzahl "";
$Ls_Wohnort "";
$Rs_Name1 "";
$Rs_Name2 "";
$Rs_Straße "";
$Rs_Postleitzahl "";
$Rs_Wohnort "";
$Zb_Skonto "";
$Zb_Netto "";
$Kp_Name "";
$Kp_Telefon "";

    $sql "INSERT INTO kunden
                (St_Name1, St_Name2, St_Straße, St_Hausnummer, St_Postleitzahl, St_Wohnort, St_Telefon, St_Fax, Ls_Name1, Ls_Name2, Ls_Straße, Ls_Postleitzahl, Ls_Wohnort, Rs_Name1, Rs_Name2, Rs_Straße, Rs_Postleitzahl, Rs_Wohnort, Zb_Skonto, Zb_Netto, Kp_Name, Kp_Telefon)
            VALUES
                ('".addslashes(htmlspecialchars($_POST['St_Name1']))."',
                '".addslashes(htmlspecialchars($_POST['St_Name2']))."',
                '".addslashes(htmlspecialchars($_POST['St_Straße']))."',
                '".addslashes(htmlspecialchars($_POST['St_Hausnummer']))."',
                '".addslashes(htmlspecialchars($_POST['St_Postleitzahl']))."',
                '".addslashes(htmlspecialchars($_POST['St_Wohnort']))."',
                '".addslashes(htmlspecialchars($_POST['St_Telefon']))."',
                '".addslashes(htmlspecialchars($_POST['St_Fax']))."',
                '".addslashes(htmlspecialchars($_POST['Ls_Name1']))."',
                '".addslashes(htmlspecialchars($_POST['Ls_Name2']))."',
                '".addslashes(htmlspecialchars($_POST['Ls_Straße']))."',
                '".addslashes(htmlspecialchars($_POST['Ls_Postleitzahl']))."',
                '".addslashes(htmlspecialchars($_POST['Ls_Wohnort']))."',
                '".addslashes(htmlspecialchars($_POST['Rs_Name1']))."',
                '".addslashes(htmlspecialchars($_POST['Rs_Name2']))."',
                '".addslashes(htmlspecialchars($_POST['Rs_Straße']))."',
                '".addslashes(htmlspecialchars($_POST['Rs_Postleitzahl']))."',
                '".addslashes(htmlspecialchars($_POST['Rs_Wohnort']))."',',
                '".addslashes(htmlspecialchars($_POST['Zb_Skonto']))."',
                '".addslashes(htmlspecialchars($_POST['Zb_Netto']))."',
                '".addslashes(htmlspecialchars($_POST['Kp_Name']))."',
        '".addslashes(htmlspecialchars($_POST['Kp_Telefon']))."',
        NOW())";

    mysql_query($sql) OR die(mysql_error());

echo "Datensatz hinzugefügt";

?>



Und dieser Fehler erscheint:

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 '', '', '', '', '', NOW(' at line 21


Würde mich über jede Hilfe freuen.

Pem

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »pem« (2. Juni 2008, 18:47)


2

Montag, 2. Juni 2008, 15:14

Hallo pem,

wirf mal einen Blick auf Zeile 55 des Scriptes. Das Ende mit der Variable $_POST['Rs_Wohnort'].

Fällt Dir da was auf?

Schöne Grüße

LapisInfernalis
Signatur von »LapisInfernalis« Eine Milde Gabe...

Der Horizont vieler Menschen ist ein Kreis mit dem Radius Null - und das nennen sie ihren Standpunkt.

Albert Einstein (1879-1955)

A common mistake people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
Douglas Adams (1952-2001)

3

Montag, 2. Juni 2008, 15:18

Danke, manchmal sieht man die einfachsten vertipper einfach nicht selbst.

Danke.

4

Montag, 2. Juni 2008, 15:23

Richtig, dafür hat man ja das WSB... :D
Signatur von »LapisInfernalis« Eine Milde Gabe...

Der Horizont vieler Menschen ist ein Kreis mit dem Radius Null - und das nennen sie ihren Standpunkt.

Albert Einstein (1879-1955)

A common mistake people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
Douglas Adams (1952-2001)

5

Freitag, 13. Juni 2008, 09:26

Hi,
noch ein Tipp:
addslashes(htmlspecialchars()) ist hier völlig fehl am Platz.
Damit verfälscht Du die Daten nicht nur, sondern erreichst auch nicht die notwendige Sicherheit, da in MySQL auch noch weitere Zeichen(ketten) kritisch sind.

Du solltest stets die für den jeweiligen Kontext erforderliche Maskierung verwenden:
für MySQL: mysql_real_escape_string()
für PHP, sofern für die weitere Verarbeitung erforderlich: addslashes()
für die HTML-Ausgabe: htmlspecialchars() bzw. bei Problemen mit der Kodierung: htmlentities()

Gruß
Ingo