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

Mit PHP Formular in DB schreiben funktioniert nicht

Frage Entwicklung

Mitglied: helmuthelmut2000

helmuthelmut2000 (Level 2) - Jetzt verbinden

20.07.2006, aktualisiert 23.07.2006, 5853 Aufrufe, 18 Kommentare

Hallo,

Ich habe ein Problem mit mienem ersten Formular wo ich Daten in eine
MySql DB schreiben will, kann mir da jemand helfen?

Wenn ich das Formular abschicke dann werden die Felder wieder leer gemacht
und es wird nichts in die DB geschrieben.
Weis jemand warum??




<html>
<head>
<?php
if (isset($gesendet))
{
mysql_connect();
mysql_select_db("firma");

$sqlab = "insert personen";
$sqlab .= "(name, vorname, personalnummer,";
$sqlab .= " gehalt, geburtstag) values ";
$sqlab .= "('$na', '$vn', $pn, $ge, '$gt')";

mysql_query($sqlab);

$num = mysql_affected_rows();
if ($num>0)
echo "Es wurde 1 Datensatz hinzugef&uuml;gt<p>";
else
{
echo "Es ist ein Fehler aufgetreten, ";
echo "es wurde kein Datensatz hinzugef&uuml;gt<p>";
}
}
?>
</head>
<body>
Geben Sie einen vollst&auml;ndigen Datensatz ein und senden Sie das formular ab:
<form action = "ud13.php" method = "post">
<input name="na"> Name<p>
<input name="vn"> Vorname<p>
<input name="pn"> Personalnummer
(eine ganze Zahl)<p>
<input name="ge"> Gehalt (Nachkommastellen
mit Punkt) <p>
<input name="gt"> Geburtsdatum (in der
Form JJJJ-MM-TT)<p>
<input type="submit" name="gesendet">
<input type="reset">
</form>
Alle Datens&auml;tze <a href="ud07.php">anzeigen</a>
</body>
</html>



Wenn mir da jemand den Fehler finden würde wäre ich sehr Dankbar.

Gruß
Helmut
Mitglied: Dani
20.07.2006 um 20:21 Uhr
Hi,
probier es mal so:
01.
<html> 
02.
<head> 
03.
<?php 
04.
 
05.
define ('MYSQL_HOST','localhost'); 
06.
define ('MYSQL_USER','BENUTZER'); 
07.
define ('MYSQL_PASS','PASSWORT'); 
08.
define ('MYSQL_DATABASE','DATENBANK'); 
09.
 
10.
$db_link=mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PASS); 
11.
$select=mysql_select_db(MYSQL_DATABASE); 
12.
 
13.
if (isset($gesendet)) 
14.
15.
 
16.
$sql="INSERT INTO personen (name, vorname, personalnummer, gehalt, geburtstag) 
17.
		  VALUES (NULL , '".$_POST['na']."', '".$_POST['vn']."', '".$_POST['pn']."', '".$_POST['ge']."', '".$_POST['gt']."');"; 
18.
mysql_query($sql); 
19.
 
20.
$num = mysql_affected_rows(); 
21.
if ($num > 0) 
22.
echo "Es wurde 1 Datensatz hinzugef&uuml;gt<p>"; 
23.
else 
24.
25.
echo "Es ist ein Fehler aufgetreten, "; 
26.
echo "es wurde kein Datensatz hinzugef&uuml;gt<p>"; 
27.
28.
29.
?> 
30.
</head> 
31.
<body> 
32.
Geben Sie einen vollst&auml;ndigen Datensatz ein und senden Sie das formular ab: 
33.
<form action = "ud13.php" method = "post"> 
34.
<input name="na"> Name<p> 
35.
<input name="vn"> Vorname<p> 
36.
<input name="pn"> Personalnummer 
37.
(eine ganze Zahl)<p> 
38.
<input name="ge"> Gehalt (Nachkommastellen 
39.
mit Punkt) <p> 
40.
<input name="gt"> Geburtsdatum (in der 
41.
Form JJJJ-MM-TT)<p> 
42.
<input type="submit" name="gesendet"> 
43.
<input type="reset"> 
44.
</form> 
45.
Alle Datens&auml;tze <a href="ud07.php">anzeigen</a> 
46.
</body> 
47.
</html>
Gruß
Dani
Bitte warten ..
Mitglied: helmuthelmut2000
20.07.2006 um 22:35 Uhr
Hallo,

Erstmal danke für die schnelle Antwort.
Aber das funktioniert leider auch nicht.
Also wenn ich Daten ins Formular eingebe,
und dann auf Anfrage senden gehe dann löscht
es nur meine Daten wieder raus und nichts wird in die
DB geschrieben,
Es gibt auch keine Fehlermeldung.

Woran könnte das noch liegen??

Danke.

Gruß
Helmut
Bitte warten ..
Mitglied: Dani
20.07.2006 um 22:41 Uhr
Hi,
du solltest erst mal ganz oben deine Daten angeben für den MySQL Server. Danach vergewissern, dass es die Datenbank gibt. Daraufhin überprüfen, ob die Tabelle mit genau den angegebenen Spalten vorhanden ist!


Gruß
Dani
Bitte warten ..
Mitglied: helmuthelmut2000
20.07.2006 um 22:47 Uhr
Hallo,

Ja klar das hab ich gemacht,
Ich habe den Benutzername und das Passwort geändert.
Ich habe die dB gelöscht und auch neu angelegt und mit
<a href="ud07.php">anzeigen, kann ich auf die DB zugreifen.
ud07.php sieht so aus:

<html>
<body>
<?php
mysql_connect();
mysql_select_db("firma");
$res = mysql_query("select * from personen");
$num = mysql_num_rows($res);

Tabellenbeginn
echo "<table border>";

Ueberschrift
echo "<tr><td>Lfd.Nr.</td><td>Name</td>";
echo "<td>Vorname</td>
<td>Personal-nummer</td>";
echo "<td>Gehalt</td> <td>Geburtstag</td> </tr>";

$lf = 1;

while ($dsatz = mysql_fetch_assoc($res))
{
echo "<tr>";
echo "<td>$lf</td>";
echo "<td>" . $dsatz["name"] . "</td>";
echo "<td>" . $dsatz["vorname"] . "</td>";
echo "<td>" . $dsatz["personalnummer"] . "</td>";
echo "<td>" . $dsatz["gehalt"] . "</td>";
echo "<td>" . $dsatz["geburtstag"] . "</td>";
echo "</tr>";
$lf = + 1;
}
//Tabellenende
echo "</table>";
?>
</body>
</html>

Gruß
Helmut
Bitte warten ..
Mitglied: Dani
20.07.2006 um 22:51 Uhr
Hi,
probier wirklich mal meins. Ich habe es grad probiert! => Es geht.


Gruß
Dani
Bitte warten ..
Mitglied: helmuthelmut2000
20.07.2006 um 23:04 Uhr
Hallo,

Hab ich schon, aber geht nicht.
Habe ich da ein fehler in der DB?

Gruß
Helmut

P.S. Oder liegt es an verschiedene versionen.
Ich mach das mit PHP5 und Mysql 5

Mit welchen Versionen hast du das Probiert?
Bitte warten ..
Mitglied: helmuthelmut2000
21.07.2006 um 21:46 Uhr
Hallo,

Jetzt hab ich das mal mit MySql4.1 versucht da geht es auch nicht.
Da gibt es doch einen Befehl den man mit reinschreibt, wo man dann
sieht in welcher Zeile der Fehler ist.
Weis den vielleicht jemand?


Gruß
Helmut
Bitte warten ..
Mitglied: Xaero1982
22.07.2006 um 00:12 Uhr
Lad dir mal den MySQL Query Browser runter.
Starte die MySQL Konsole und zeig mal den dump. Also die sicherung wie deine dp aussieht.
Bitte warten ..
Mitglied: helmuthelmut2000
22.07.2006 um 10:03 Uhr
Hallo,

Ich habe das PHPMyadmin installiert geht das da auch?

Ich habe schon in der DB nur mit zwei Spalten das probiert,
also nur mit Name und Vorname. Das geht auch nicht.
Mich wunder nur das ich die Daten aus der DB lesen kann wenn
ich die mit PHPMyadmin reinschreibe.
Liegt es vielleicht an den Berechtigungen?
Ich habe aber alle Hacken drin also volle berechtigung.

Gruß
Helmut
Bitte warten ..
Mitglied: Dani
22.07.2006 um 11:13 Uhr
Hi,
sry, ich hab dir den falschen Code gepostet!
Der hier geht:
01.
<html> 
02.
<head> 
03.
<?php 
04.
 
05.
define ('MYSQL_HOST','localhost'); 
06.
define ('MYSQL_USER','root'); 
07.
define ('MYSQL_PASS','test'); 
08.
define ('MYSQL_DATABASE','helmut'); 
09.
 
10.
$db_link=mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PASS); 
11.
$select=mysql_select_db(MYSQL_DATABASE); 
12.
 
13.
if (isset($_POST['gesendet'])) 
14.
15.
 
16.
$sql="INSERT INTO personen (id, name, vorname, personalnummer, gehalt, geburtstag) 
17.
          VALUES (NULL , '".$_POST['na']."', '".$_POST['vn']."', '".$_POST['pn']."', '".$_POST['ge']."', '".$_POST['gt']."');"; 
18.
mysql_query($sql); 
19.
 
20.
$num = mysql_affected_rows(); 
21.
if ($num > 0) 
22.
echo "Es wurde 1 Datensatz hinzugef&uuml;gt<p>"; 
23.
else 
24.
25.
echo "Es ist ein Fehler aufgetreten, "; 
26.
echo "es wurde kein Datensatz hinzugef&uuml;gt<p>"; 
27.
28.
29.
?> 
30.
</head> 
31.
<body> 
32.
Geben Sie einen vollst&auml;ndigen Datensatz ein und senden Sie das formular ab: 
33.
<form action = "<? echo $PHP_SELF; ?>" method = "post"> 
34.
<input name="na"> Name<p> 
35.
<input name="vn"> Vorname<p> 
36.
<input name="pn"> Personalnummer 
37.
(eine ganze Zahl)<p> 
38.
<input name="ge"> Gehalt (Nachkommastellen 
39.
mit Punkt) <p> 
40.
<input name="gt"> Geburtsdatum (in der 
41.
Form JJJJ-MM-TT)<p> 
42.
<input type="submit" name="gesendet"> 
43.
<input type="reset"> 
44.
</form> 
45.
Alle Datens&auml;tze <a href="ud07.php">anzeigen</a> 
46.
</body> 
47.
</html>
Gruß
Dani
Bitte warten ..
Mitglied: helmuthelmut2000
22.07.2006 um 21:41 Uhr
Hallo,

Danke,

Ich komme weiter, aber mit einer neuen Fehlermeldung:

Forbidden
You don't have permission to access /< on this server.

Apache/2.0.55 (Win32) PHP/5.1.4 Server at localhost Port 80

Sagt dir die Fehlermeldung was?
Ich habe natürlich Passwort und DB name geänder.

Gruß
Helmut
Bitte warten ..
Mitglied: Dani
22.07.2006 um 23:09 Uhr
Hi,
hört sich so an, als die Datei nicht die nötigen Rechte hat. Mach mal chmod 755 DATEINAME.


Gruß
Dani
Bitte warten ..
Mitglied: helmuthelmut2000
23.07.2006 um 12:37 Uhr
Hallo,

Jetzt bekomme ich die Fehlermeldung:

Es ist ein Fehler aufgetreten, es wurde kein Datensatz hinzugefügt


Gibt es das noch???

Gruß
Helmut
Bitte warten ..
Mitglied: helmuthelmut2000
23.07.2006 um 13:31 Uhr
Hallo,

Jetzt hab ich noch folgendes Probiert.

Ich habe den Befehl
if (mysql_errno()) die ("MySQL-Error:" . mysql_error());

nach der Zeile
mysql_query($sql);

eingefügt.

Jetzt bekomme ich die Fehlermeldung:

MySQL-Error:Unknown column 'id' in 'field list'

Ist das richtig so??

Gruß
Helmut
Bitte warten ..
Mitglied: helmuthelmut2000
23.07.2006 um 13:57 Uhr
Hallo,,,,


Ich habs es funtzt.


Ich habe in der Zeile
personen (id, name, vorname... das id entfernt,

und in der Zeile
VALUES (NULL , '".$_POST[.... das NULL entfernt.

Dann gehts.

Aber ist das richtig?
Was bedeutet das id und NULL braucht man das?
Muß ich da eine Spalte dafür hinzufügen?

Gruß
Helmut
Bitte warten ..
Mitglied: Xaero1982
23.07.2006 um 14:20 Uhr
Also aus deinem Eingangspost lese ich, dass du schon mit DB gearbeitet hast.

Kommt mir nicht so vor :/

Du solltest schon wissen wie deine Tabelle "personen" aufgebaut ist. Ob du da nen PKey hast und wie der heißt und welchen Typ dieser hat. Vielleicht ne PersonenId die du manuell eingibst oder eine Fortlaufende .. DAS musst du wissen, deswegen bat ich dich uns mal deine Tabelle zu posten.

bzw. aus dem Post konnt ich das lesen: http://www.administrator.de/Mit_einem_PHP-Formular_in_eine_MSSQL-DB_sch ...
Bitte warten ..
Mitglied: helmuthelmut2000
23.07.2006 um 19:48 Uhr
Hallo,

Ja alles klar,
Jetzt weis ichs.
Ich habe immer nur mit MSSQL2000 gearbeitet.
PHPmyadmin ist total neu für mich,
aber wo du das jetzt schreibst leuchtet mirs ein.

Danke nochmal für alles.

Gruß
Helmut
Bitte warten ..
Mitglied: Xaero1982
23.07.2006 um 19:52 Uhr
Fein fein .. auch wenn du noch nicht auf meine Bitte eingegangen bist.
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Webbrowser
gelöst Daten in entfernte Mysql DB schreiben (3)

Frage von nullacht15 zum Thema Webbrowser ...

Router & Routing
Transparenter Proxy funktioniert nicht? (1)

Frage von mrserious73 zum Thema Router & Routing ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...