Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

PHP Script speichert Daten nicht

Frage Entwicklung PHP

Mitglied: AndyAh

AndyAh (Level 2) - Jetzt verbinden

15.03.2013, aktualisiert 26.03.2013, 1630 Aufrufe, 9 Kommentare

Hi NG,

folgendes Script:
01.
<?php 
02.
$anrede = $_POST["anrede"]; 
03.
$vorname = $_POST["vorname"]; 
04.
$nachname = $_POST["nachname"]; 
05.
$strasse = $_POST["strasse"]; 
06.
$plz = $_POST["plz"]; 
07.
 
08.
$email = $_POST["email"]; 
09.
$kommentar = $_POST["kommentar"]; 
10.
 
11.
$daten = "adressen"
12.
 
13.
$db = mysql_connect ("localhost", "root", "","adressen"); 
14.
 
15.
$sql_befehl = "INSERT INTO mitgieder(               
16.
                    Anrede, 
17.
					Vorname, 
18.
					Nachname, 
19.
					strasse, 
20.
					plz; 
21.
					ort, 
22.
					EMail, 
23.
					Kommentar) 
24.
					 
25.
					values( 
26.
					 
27.
					'$anrede', 
28.
					'$vorname', 
29.
					'$nachname', 
30.
					'$strasse', 
31.
					'$plz', 
32.
					'' 
33.
					'$email', 
34.
					'$kommentar')"; 
35.
					 
36.
$result = mysql_query($sql_befehl); 
37.
 
38.
if ($result
39.
40.
   echo "gespeichert"
41.
42.
else 
43.
44.
   echo "nicht gespeichert"
45.
46.
 
47.
mysql_close($db); 
48.
			 
49.
?>
speichert keine Daten, obwohl es Datenbank, Tabelle und Datenfelder gibt.
Auch die übergebenen Formulardaten (Namen der Eingabefelder) sind richtig.

Wo liegt da der Fehler?

Gruß
Andy
Mitglied: 16568
15.03.2013 um 09:37 Uhr
Hallo Andy,

Zitat von AndyAh:
Hi NG,

scheinbar verwechselst Du uns hier...


Wo ist Dein Error-Reporting?

$result = mysql_query($sql_befehl);

if ($result)
{
echo "gespeichert";
}
else
{
echo "nicht gespeichert";

Das ist keine Fehlerbehandlung, die Dich weiterführen würde...

$connect = @mysql_connect($db_server,$db_user,$db_pass);
mysql_query("hier ein query");
if(!$connect){echo mysql_error();}
$select_db = @mysql_select_db($db_name);
if(!$select_db){echo mysql_error();}

So, dann guckste mal, was da falsch gelaufen ist


Lonesome Walker
Bitte warten ..
Mitglied: SlainteMhath
15.03.2013 um 09:41 Uhr
Moin,

1. Dein Script ist anfällig für SQL Injection Angriff - siehe http://de.wikipedia.org/wiki/SQL-Injection - wende bitte mysql_real_escape() auf alle $_POST Variablen bevor du sie in SQL Queries verwendest.

2. HASt Du das Anzeigen von Fehlern (in der php.ini) aktiviert?

3. versuchs mal mit
01.
$db = mysql_connect ("localhost", "root", "","adressen") or die "keine verbindung!";
4. Und verwendet doch bitte code-tags im forum, das macht das ganze lesbarerer.

lg,
Slainte
Bitte warten ..
Mitglied: nxclass
15.03.2013, aktualisiert um 09:57 Uhr
evtl. liegst ja nur an der Schreibweise:
01.
- INSERT INTO mitgieder 
02.
+ INSERT INTO mitglieder
http://php.net/manual/de/book.pdo.php
Bitte warten ..
Mitglied: AndyAh
15.03.2013 um 10:02 Uhr
Hi Lonesome Walker,

beide Abfrage ergaben leider kein Ergebnis. Es erfolgte keine Ausgabe.

Gruß
Andy
Bitte warten ..
Mitglied: AndyAh
15.03.2013 um 10:08 Uhr
Hi Slainte,

dein Vorschlag ergab leider die Fehlermeldung:

Parse error: syntax error, unexpected '"keine verbindung!"' (T_CONSTANT_ENCAPSED_STRING) in C:\xampp\htdocs\PHP\datenbank.php on line 20

Gruß
Andy
Bitte warten ..
Mitglied: flow.ryan
15.03.2013 um 10:16 Uhr
Hallo,

mal abgesehen von den Fehlern, die schon genannt wurden:
01.
$sql_befehl = "INSERT INTO mitgieder( 
02.
Anrede, 
03.
Vorname, 
04.
Nachname, 
05.
strasse, 
06.
plz; 
07.
ort, 
08.
EMail, 
09.
Kommentar)
Schau doch bitte mal genau hinter plz. Das Semikolon hat da nichts zu suchen.
Was auch noch besser wäre: Du postest du jetzt mal dein komplettes, angepasstes und kaputt gefummeltes Script. Die letzte Fehlermeldung:
Parse error: syntax error, unexpected '"keine verbindung!"' (T_CONSTANT_ENCAPSED_STRING) in C:\xampp\htdocs\PHP\datenbank.php on line 20

lässt auf einiges schließen - nur finde ich den betreffenden Code dafür nicht!

Gruß Florian
Bitte warten ..
Mitglied: SlainteMhath
15.03.2013, aktualisiert um 10:20 Uhr
Zitat von AndyAh:
Hi Slainte,

dein Vorschlag ergab leider die Fehlermeldung:

Parse error: syntax error, unexpected '"keine verbindung!"' (T_CONSTANT_ENCAPSED_STRING) in
C:\xampp\htdocs\PHP\datenbank.php on line 20
Selber mal einen Block in die PHP-Doku werfen ist nicht, oder?


01.
$db = mysql_connect(...) or die(mysql_error())
/EDIT:

Noch mehr Tippfehler gefunden:
01.
'$anrede', 
02.
'$vorname', 
03.
'$nachname', 
04.
'$strasse', 
05.
'$plz', 
06.
'' 
07.
'$email', 
08.
'$kommentar')";
da fehlt ein Komma.

Also: bring mal den code in Ordnung, und poste dann das ganze nochmal, diesmal mit code-tags, falls es immer noch nicht geht.
Bitte warten ..
Mitglied: Biber
15.03.2013 um 10:31 Uhr
[OT]
Zitat von SlainteMhath:
...poste dann das ganze nochmal, diesmal mit code-tags, falls es immer noch nicht geht.
Bitte in jedem Fall mit Code-Tags posten, nicht nur bei Fehlern.
Danke

Biber
[/OT]
Bitte warten ..
Mitglied: AndyAh
20.03.2013 um 12:59 Uhr
Hi,

hab es selber hinbekommen.

Gruß
Andy
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
PHP
gelöst Übergabe Formularinhalte an externes PHP Script (15)

Frage von schneerunzel zum Thema PHP ...

Batch & Shell
Script zum Entpacken von rar und zip-Dateien (6)

Frage von windows-nutzer zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
TK-Netze & Geräte
gelöst Telefonanlage gesucht (35)

Frage von Xaero1982 zum Thema TK-Netze & Geräte ...

Erkennung und -Abwehr
Virenschutz - Meinungen (29)

Frage von honeybee zum Thema Erkennung und -Abwehr ...

Windows 10
gelöst Welches OS für Firmengeräte? (20)

Frage von MarkusVH zum Thema Windows 10 ...

Exchange Server
SBS2011: POP3-Connector 10 MB Grenze Email Benachrichtigung (20)

Frage von bogi1102 zum Thema Exchange Server ...