Top-Themen

Aktuelle Themen (A bis Z)

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

Mitglied: helmuthelmut2000

helmuthelmut2000 (Level 2) - Jetzt verbinden

20.07.2006, aktualisiert 23.07.2006, 6010 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: https://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 ..
Ähnliche Inhalte
PHP
PHP Formular für MSSQL
gelöst Frage von MCAJ10PHP13 Kommentare

Hallo zusammen, ich bin neu in der Materie und habe folgendes Problem: Ich möchte ein Web-Formular erstellen welches nur ...

PHP
PHP Formular für ORACLE Datenbank
gelöst Frage von Mr.RobotPHP

Hallo Freunde, ich bin Systemintegrator in einem mittelständischen Unternehmen. Wir haben gerade ein Warenwirtschaftsprojekt + Umzug hinter uns und ...

Datenbanken

Schnelle Entwicklung für eine PHP, MySQL-DB?

gelöst Frage von 1410640014Datenbanken2 Kommentare

Hallo, würde mir gerne ein paar Anregungen holen, ob es für PHP und MySQL so ne Art Formular- / ...

Apache Server

PHP funktioniert nicht auf VirtualHosts

gelöst Frage von peterlaApache Server4 Kommentare

Hallo! Ich kenne mich zwar grundsätzlich mit Linux aus, allerdings nicht so mit Apache. Nun habe ich einen Apache ...

Neue Wissensbeiträge
Windows 10
Die tickende DSGVO-Zeitbombe von Microsoft
Information von Frank vor 4 StundenWindows 101 Kommentar

Hier ein guter Beitrag von Golem.de zum Thema DSGVO und das Windows 10 aktuell nicht DSGVO konform ist! Das ...

Microsoft Office

Gebrandete OEM-Version von Office 2003 auf Nachfolgerechner installieren

Tipp von Lochkartenstanzer vor 6 StundenMicrosoft Office

Hallo Kollegen, gerade mal wieder ein Kundensystem mit Widows 10 in den Fingern gehabt, bei dem der Besitzer sein ...

Windows Server

Ein Feature, welches einem das Arbeiten mit Windows-2019-Coreservern erleichtern kann

Information von DerWoWusste vor 7 StundenWindows Server2 Kommentare

Man kann mittels Kommando nun folgendes auf Server 2019 in der Coreversion v1809 freischalten, so dass man es lokal ...

Windows 10
MS möchte offenbar lokale Konten abschaffen
Information von UweGri vor 22 StundenWindows 1010 Kommentare

Guten Tag Admins, ab und an lese ich bei Dr.-Windows Bei dieser Meldung dachte ich, wird MS jetzt offen ...

Heiß diskutierte Inhalte
Erkennung und -Abwehr
MS-Hotline-Telefonterror
Frage von HenereErkennung und -Abwehr22 Kommentare

Servus zusammen, seit ca 3 Wochen haben wir immer wieder Anrufe von unbekannten Nummern, teils aus dem Ausland. Nach ...

Batch & Shell
Active Directory Picker - Get-ADGroup kann nicht in den Typ konvertiert werden
Frage von dispatcherBatch & Shell17 Kommentare

Mahlzeit zusammen, Im folgenden Skript erhalte ich immer die Meldung: Get-ADGroup : "System.Object " kann nicht in den Typ "Microsoft.ActiveDirectory.Management.ADGroup" ...

Windows 10
Windows 10 mit kaputtem .Net 4.8
Frage von krischeuWindows 1012 Kommentare

Hi, ich habe mit dem Programm ADDISON ein Stabilitätsproblem. Es stürzt regelmäßig während des Arbeitens ab. In der Ereignisanzeige ...

Batch & Shell
Last Logon Datum per Powershell abrufen
gelöst Frage von DerWoWussteBatch & Shell12 Kommentare

Moin Kollegen. Wer ist vor 10 schon so fit, mir Folgendes zu erklären: Das zum Titel passende Skript ist ...