App installieren
How to install the app on iOS
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Wie kann ich eine MySQL Tabelle mit HTML/PHP aktualisieren ?
- Ersteller Awek
- Erstellt am
Awek
Fleet Captain Special
- Mitglied seit
- 07.10.2006
- Beiträge
- 267
- Renomée
- 0
- Prozessor
- AMD Athlon II X4 640
- Mainboard
- Asrock N68-S
- Kühlung
- Cooler Master Hyper TX3
- Speicher
- Corsair TWIN2X4096-6400C5C 4GB
- Grafikprozessor
- MSI R4650 ATI
- Display
- Samsung SyncMaster 2494LW 24"
- HDD
- Hitachi Deskstar 7K1000.C 1000GB, SATA II (HDS721010CLA332)
- Optisches Laufwerk
- LG 16x DVD Brenner
- Soundkarte
- Audigy 2
- Gehäuse
- Xigmatek Asgard Pro
- Betriebssystem
- Win 7 Pro 64 Bit
- Webbrowser
- Mozilla Firefox
Hallo,
folgendes Problem: Ich habe eine Datenbank mit 2 Tabellen. In der ersten sind verschieden Personen mit PW gespeichert. In der zweiten ihre persönlichen Daten, wie Vorname, Nachname...
Jetzt möchte ich eine Seite programmieren in der man seine persönlichen Daten eingeben und speichern kann. Leider komme ich hier nicht weiter. Ich verbinde mich mit der Datenbank und der ersten Tabelle, nur wie kann ich jetzt das PW abrufen um diese Daten zu ändern. Oder muss ich ganz anders an diese Sache herangehen?
Ich habe schon sehr viel mit Gästebuch Tutorials gearbeitet, aber mir wird gesagt das ein Fehler aufgetreten ist.
In der Verbindugnszeile tritt folgende Meldung auf.
Ich hoffe ihr könnt mir helfen.
Gruß,
Awek
folgendes Problem: Ich habe eine Datenbank mit 2 Tabellen. In der ersten sind verschieden Personen mit PW gespeichert. In der zweiten ihre persönlichen Daten, wie Vorname, Nachname...
Jetzt möchte ich eine Seite programmieren in der man seine persönlichen Daten eingeben und speichern kann. Leider komme ich hier nicht weiter. Ich verbinde mich mit der Datenbank und der ersten Tabelle, nur wie kann ich jetzt das PW abrufen um diese Daten zu ändern. Oder muss ich ganz anders an diese Sache herangehen?
Ich habe schon sehr viel mit Gästebuch Tutorials gearbeitet, aber mir wird gesagt das ein Fehler aufgetreten ist.
PHP:
<html>
<head>
<title>Eintrag hinzufügen</title>
</head>
<body bgcolor="#cccccc" text="#ffffff" link="#333333" alink="#cc6600" vlink="#333333">
<?php
$DatabasePointer = mysql_connect("localhost", "name", "pw");
mysql_select_db("datenbank", $DatabasePointer);
$SQL = "INSERT INTO 2. tabelle (Vorname, Nahcname, Geb, Ort) VALUES ('".$_REQUEST['Name']."',
'".$_REQUEST['Titel']."', '".$_REQUEST['Eintrag']."', NOW(''))";
mysql_query($SQL, $DatabasePointer);
if(mysql_affected_rows($DatabasePointer) == 1)
{
?>
<p>Vielen Dank für Ihren Eintrag!<br>
<a href="gaestebuch08.php">Zurück</a></p>
<?php
}
else
{
?>
<p>Beim Eintragen ist ein Fehler aufgetreten.<br>
<a href="javascript:history.back();">Zurück</a></p>
<?php
}
?>
</body>
</html>
In der Verbindugnszeile tritt folgende Meldung auf.
Ich hoffe ihr könnt mir helfen.
Gruß,
Awek
JKuehl
Grand Admiral Special
- Mitglied seit
- 22.06.2003
- Beiträge
- 7.903
- Renomée
- 145
- Standort
- Stockholm, Schweden
- Mitglied der Planet 3DNow! Kavallerie!
- Aktuelle Projekte
- POEM, SIMAP
- Lieblingsprojekt
- SIMAP, POEM
- Meine Systeme
- Q6600
- BOINC-Statistiken
- Folding@Home-Statistiken
- Prozessor
- Ryzen-3700x
- Mainboard
- Asus B350 Prime Plus
- Kühlung
- Fractal Design Celsius 240
- Speicher
- 48 GB Corsair LPX 3000
- Grafikprozessor
- 1080ti
- Display
- 28" Samsung 3840x2160
- SSD
- Samsung Evo 960 500Gb
- Soundkarte
- Creative X-Fi Titanium PCIe
- Netzteil
- Be Quiet Dark Power 650
- Betriebssystem
- Windows 10 64 Bit
Code:
[COLOR=Black] $DatabasePointer = mysql_connect("localhost", "name", "pw"); [/COLOR]
hier musst du natürlich user und pw der mysql datenbank eintragen.
außerdem: lagere die PHP unbedingt in eine eigene Datei aus!
Code:
[COLOR=#000000][COLOR=#007700][/COLOR][COLOR=#0000BB]$SQL [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#DD0000]"INSERT INTO 2. tabelle (Vorname, Nahcname, Geb, Ort) VALUES ('"[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]$_REQUEST[/COLOR][COLOR=#007700][[/COLOR][COLOR=#DD0000]'Name'[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#DD0000]"',
'"[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]$_REQUEST[/COLOR][COLOR=#007700][[/COLOR][COLOR=#DD0000]'Titel'[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#DD0000]"', '"[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]$_REQUEST[/COLOR][COLOR=#007700][[/COLOR][COLOR=#DD0000]'Eintrag'[/COLOR][COLOR=#007700]].[/COLOR][COLOR=#DD0000]"', NOW(''))"[/COLOR][COLOR=#007700]; [/COLOR][/COLOR]
mir scheint, du bist eine Anfänger in Sachen PHP und SQL und solltest dir dringend mal ein Tutorial zum Thema anschauen.
.
EDIT :
.
speziell zum Thema Gästebuch hilft vielleicht das hier:
http://www.php-kurs.com/beispiel-gaestebuch-programmieren-in-php-und-mysql.htm
Zuletzt bearbeitet:
Awek
Fleet Captain Special
- Mitglied seit
- 07.10.2006
- Beiträge
- 267
- Renomée
- 0
- Prozessor
- AMD Athlon II X4 640
- Mainboard
- Asrock N68-S
- Kühlung
- Cooler Master Hyper TX3
- Speicher
- Corsair TWIN2X4096-6400C5C 4GB
- Grafikprozessor
- MSI R4650 ATI
- Display
- Samsung SyncMaster 2494LW 24"
- HDD
- Hitachi Deskstar 7K1000.C 1000GB, SATA II (HDS721010CLA332)
- Optisches Laufwerk
- LG 16x DVD Brenner
- Soundkarte
- Audigy 2
- Gehäuse
- Xigmatek Asgard Pro
- Betriebssystem
- Win 7 Pro 64 Bit
- Webbrowser
- Mozilla Firefox
Also pw und Name habe ich dort eingetragen, nur nicht hier rein kopiert. Nur sind das ja die Daten der Datenbank, müsste jetzt nicht noch eine Abfrage programmiert werden, in der ich die Daten einer Person angebe, so das ich diese Daten dann verändern kann!?
JKuehl
Grand Admiral Special
- Mitglied seit
- 22.06.2003
- Beiträge
- 7.903
- Renomée
- 145
- Standort
- Stockholm, Schweden
- Mitglied der Planet 3DNow! Kavallerie!
- Aktuelle Projekte
- POEM, SIMAP
- Lieblingsprojekt
- SIMAP, POEM
- Meine Systeme
- Q6600
- BOINC-Statistiken
- Folding@Home-Statistiken
- Prozessor
- Ryzen-3700x
- Mainboard
- Asus B350 Prime Plus
- Kühlung
- Fractal Design Celsius 240
- Speicher
- 48 GB Corsair LPX 3000
- Grafikprozessor
- 1080ti
- Display
- 28" Samsung 3840x2160
- SSD
- Samsung Evo 960 500Gb
- Soundkarte
- Creative X-Fi Titanium PCIe
- Netzteil
- Be Quiet Dark Power 650
- Betriebssystem
- Windows 10 64 Bit
Ich kann dir morgen mal ein kleines Beispiel dazu heraussuchen. Und nein per UPDATE musst du die Daten nicht auslesen sondern kannst diese direkt verändern - und zwar alle Zeilen die der WHERE-Klausel entsprechen (wenn du dort z.B. nur nach Vorname Franz suchst und diese mit Fritz updatest wird sowohl Franz Müller als auch Franz Schubert in Fritz umbenannt!)
Awek
Fleet Captain Special
- Mitglied seit
- 07.10.2006
- Beiträge
- 267
- Renomée
- 0
- Prozessor
- AMD Athlon II X4 640
- Mainboard
- Asrock N68-S
- Kühlung
- Cooler Master Hyper TX3
- Speicher
- Corsair TWIN2X4096-6400C5C 4GB
- Grafikprozessor
- MSI R4650 ATI
- Display
- Samsung SyncMaster 2494LW 24"
- HDD
- Hitachi Deskstar 7K1000.C 1000GB, SATA II (HDS721010CLA332)
- Optisches Laufwerk
- LG 16x DVD Brenner
- Soundkarte
- Audigy 2
- Gehäuse
- Xigmatek Asgard Pro
- Betriebssystem
- Win 7 Pro 64 Bit
- Webbrowser
- Mozilla Firefox
Ok so langsam verstehe ich es wieder.
Also so in der Art:
Naja ich warte auf dein Beispiel morgen und schon einmal vielen Dank für die schnelle Hilfe.
Also so in der Art:
PHP:
$SQL = "INSERT INTO schueler (Vorname, Nachname, Ort, PLZ, StrasseHausnummer, Geb, Telefon, Handy, Email, ICQ, TC, Studi, SchuelerCC, Myspace, Hobbys, Bildung) where Nummer =2";
Naja ich warte auf dein Beispiel morgen und schon einmal vielen Dank für die schnelle Hilfe.
JKuehl
Grand Admiral Special
- Mitglied seit
- 22.06.2003
- Beiträge
- 7.903
- Renomée
- 145
- Standort
- Stockholm, Schweden
- Mitglied der Planet 3DNow! Kavallerie!
- Aktuelle Projekte
- POEM, SIMAP
- Lieblingsprojekt
- SIMAP, POEM
- Meine Systeme
- Q6600
- BOINC-Statistiken
- Folding@Home-Statistiken
- Prozessor
- Ryzen-3700x
- Mainboard
- Asus B350 Prime Plus
- Kühlung
- Fractal Design Celsius 240
- Speicher
- 48 GB Corsair LPX 3000
- Grafikprozessor
- 1080ti
- Display
- 28" Samsung 3840x2160
- SSD
- Samsung Evo 960 500Gb
- Soundkarte
- Creative X-Fi Titanium PCIe
- Netzteil
- Be Quiet Dark Power 650
- Betriebssystem
- Windows 10 64 Bit
naja fast... INSERT fügt immer eine neue Zeile ein - die WHERE-Klausel brauchst du da nicht. Hier könntest du aber mit UPDATE arbeiten falls du den alten Schüler mit ID = 2 rauswerfen willst.
Die Spalte Nummer in deinem Beispiel sollte dann auch UNIQUE sein (kannst du beim Erstellen der Datenbank-Tabelle bzw. -Tabellenspalte angeben)
Die Spalte Nummer in deinem Beispiel sollte dann auch UNIQUE sein (kannst du beim Erstellen der Datenbank-Tabelle bzw. -Tabellenspalte angeben)
Awek
Fleet Captain Special
- Mitglied seit
- 07.10.2006
- Beiträge
- 267
- Renomée
- 0
- Prozessor
- AMD Athlon II X4 640
- Mainboard
- Asrock N68-S
- Kühlung
- Cooler Master Hyper TX3
- Speicher
- Corsair TWIN2X4096-6400C5C 4GB
- Grafikprozessor
- MSI R4650 ATI
- Display
- Samsung SyncMaster 2494LW 24"
- HDD
- Hitachi Deskstar 7K1000.C 1000GB, SATA II (HDS721010CLA332)
- Optisches Laufwerk
- LG 16x DVD Brenner
- Soundkarte
- Audigy 2
- Gehäuse
- Xigmatek Asgard Pro
- Betriebssystem
- Win 7 Pro 64 Bit
- Webbrowser
- Mozilla Firefox
Ja eig. sollen die Daten aktualisiert werden, also in den Spalten wo etwas eingeben wird, wird es aktualisiert und dort wo man nichts eingibt bleibt das Alte bestehen.
Werde jetzt aber erst einmal aufhören und melde mich morgen wieder.
Werde jetzt aber erst einmal aufhören und melde mich morgen wieder.
Onkel Homie
Gesperrt
- Mitglied seit
- 26.03.2003
- Beiträge
- 15.842
- Renomée
- 390
- Standort
- Dortmund
- Aktuelle Projekte
- Spinhenge, SIMAP, QMC, POEM
- Lieblingsprojekt
- Spinhenge
- Meine Systeme
- C2D E8400 @3,8GHz
- BOINC-Statistiken
- Mein Laptop
- Lenovo TP Edge 13 NV122GE, Thinkpad R60 9461-DXG T5600 2GB
- Prozessor
- i7-3770k
- Mainboard
- Asrock Z77 Extreme 4
- Kühlung
- Thermalright Macho 120
- Speicher
- Kingston 1600 CL9 4x4096
- Grafikprozessor
- GTX 770 4096
- Display
- Dell U2713HM, Samsung 226BW
- HDD
- 1 x Samsung 840 Pro SSD, 2 x WD10EZEX 1 TB Raid 1
- Soundkarte
- Realtek onboard
- Gehäuse
- Nanoxia Deep Silence 2
- Netzteil
- beQuiet Straight Power E9 580W
- Betriebssystem
- Windows 8.1 Pro 64, Windows 7 Pro 64, Xubuntu 14.04
- Webbrowser
- Chrome
- Verschiedenes
- NAS: Synology DS214play; Kamera: Nikon D7100, Nexus 7 2013
Zusätzlich kann ich noch dieses Tutorial empfehlen: http://tut.php-quake.net/de/
BoMbY
Grand Admiral Special
- Mitglied seit
- 22.11.2001
- Beiträge
- 7.468
- Renomée
- 293
- Standort
- Aachen
- Prozessor
- Ryzen 3700X
- Mainboard
- Gigabyte X570 Aorus Elite
- Kühlung
- Noctua NH-U12A
- Speicher
- 2x16 GB, G.Skill F4-3200C14D-32GVK @ 3600 16-16-16-32-48-1T
- Grafikprozessor
- RX 5700 XTX
- Display
- Samsung CHG70, 32", 2560x1440@144Hz, FreeSync2
- SSD
- AORUS NVMe Gen4 SSD 2TB, Samsung 960 EVO 1TB, Samsung 840 EVO 1TB, Samsung 850 EVO 512GB
- Optisches Laufwerk
- Sony BD-5300S-0B (eSATA)
- Gehäuse
- Phanteks Evolv ATX
- Netzteil
- Enermax Platimax D.F. 750W
- Betriebssystem
- Windows 10
- Webbrowser
- Firefox
Um dem Problem von SQL-Injections zu begegnen, sollte man vielleicht auch direkt vernünftig anfangen, und nicht die Fehler aus diversen "Tutorials" (was nicht unbedingt für die hier verlinkten gelten muss) übernehmen. Zum Beispiel sollte man wenn möglich PHP Data Objects benutzten mit Prepared-Statements und Parametern. Und auf jeden Fall immer den Inhalt filtern/überprüfen, bevor man ihn an die DB übergibt.
Zuletzt bearbeitet:
JKuehl
Grand Admiral Special
- Mitglied seit
- 22.06.2003
- Beiträge
- 7.903
- Renomée
- 145
- Standort
- Stockholm, Schweden
- Mitglied der Planet 3DNow! Kavallerie!
- Aktuelle Projekte
- POEM, SIMAP
- Lieblingsprojekt
- SIMAP, POEM
- Meine Systeme
- Q6600
- BOINC-Statistiken
- Folding@Home-Statistiken
- Prozessor
- Ryzen-3700x
- Mainboard
- Asus B350 Prime Plus
- Kühlung
- Fractal Design Celsius 240
- Speicher
- 48 GB Corsair LPX 3000
- Grafikprozessor
- 1080ti
- Display
- 28" Samsung 3840x2160
- SSD
- Samsung Evo 960 500Gb
- Soundkarte
- Creative X-Fi Titanium PCIe
- Netzteil
- Be Quiet Dark Power 650
- Betriebssystem
- Windows 10 64 Bit
Komme nich an die Daten kann also frühestens am 5.1. was dazu sagen
Awek
Fleet Captain Special
- Mitglied seit
- 07.10.2006
- Beiträge
- 267
- Renomée
- 0
- Prozessor
- AMD Athlon II X4 640
- Mainboard
- Asrock N68-S
- Kühlung
- Cooler Master Hyper TX3
- Speicher
- Corsair TWIN2X4096-6400C5C 4GB
- Grafikprozessor
- MSI R4650 ATI
- Display
- Samsung SyncMaster 2494LW 24"
- HDD
- Hitachi Deskstar 7K1000.C 1000GB, SATA II (HDS721010CLA332)
- Optisches Laufwerk
- LG 16x DVD Brenner
- Soundkarte
- Audigy 2
- Gehäuse
- Xigmatek Asgard Pro
- Betriebssystem
- Win 7 Pro 64 Bit
- Webbrowser
- Mozilla Firefox
5.1 erster wär super, danke! Danke auch an alle anderen, habe aber noch nicht alles durchgearbeitet.
Ich denke an einem Beispiel kann ich es mir am besten erklären.
Ich denke an einem Beispiel kann ich es mir am besten erklären.
Awek
Fleet Captain Special
- Mitglied seit
- 07.10.2006
- Beiträge
- 267
- Renomée
- 0
- Prozessor
- AMD Athlon II X4 640
- Mainboard
- Asrock N68-S
- Kühlung
- Cooler Master Hyper TX3
- Speicher
- Corsair TWIN2X4096-6400C5C 4GB
- Grafikprozessor
- MSI R4650 ATI
- Display
- Samsung SyncMaster 2494LW 24"
- HDD
- Hitachi Deskstar 7K1000.C 1000GB, SATA II (HDS721010CLA332)
- Optisches Laufwerk
- LG 16x DVD Brenner
- Soundkarte
- Audigy 2
- Gehäuse
- Xigmatek Asgard Pro
- Betriebssystem
- Win 7 Pro 64 Bit
- Webbrowser
- Mozilla Firefox
Jemand eine Idee?
JKuehl kommst du an deine Daten?
JKuehl kommst du an deine Daten?
Awek
Fleet Captain Special
- Mitglied seit
- 07.10.2006
- Beiträge
- 267
- Renomée
- 0
- Prozessor
- AMD Athlon II X4 640
- Mainboard
- Asrock N68-S
- Kühlung
- Cooler Master Hyper TX3
- Speicher
- Corsair TWIN2X4096-6400C5C 4GB
- Grafikprozessor
- MSI R4650 ATI
- Display
- Samsung SyncMaster 2494LW 24"
- HDD
- Hitachi Deskstar 7K1000.C 1000GB, SATA II (HDS721010CLA332)
- Optisches Laufwerk
- LG 16x DVD Brenner
- Soundkarte
- Audigy 2
- Gehäuse
- Xigmatek Asgard Pro
- Betriebssystem
- Win 7 Pro 64 Bit
- Webbrowser
- Mozilla Firefox
Also, ich habe jetzt ein Formular, die Daten werden auch in die Tabelle übertragen. Wenn ich im Formular nichts eintrage/ändere, wird in der Tabelle die Information die ich nicht geändert habe gelöscht.
Wie ändere ich nur einige Informationen und nicht alle?
Wie kann man es programmieren, das im Formular die vorhandene Einträge schon vorhanden sind?
Oder das ein leeres Feld als keine Information "gesehen" wird?
Ich hoffe ihr versteht was ich meine und könnt mir helfen.
Code bis jetzt:
pers-login.php (Ausschnitt):
pers-formular.php (Ausschnitt):
Brauche dringend Antworten...
Gruß,
Awek
Wie ändere ich nur einige Informationen und nicht alle?
Wie kann man es programmieren, das im Formular die vorhandene Einträge schon vorhanden sind?
Oder das ein leeres Feld als keine Information "gesehen" wird?
Ich hoffe ihr versteht was ich meine und könnt mir helfen.
Code bis jetzt:
pers-login.php (Ausschnitt):
PHP:
$anfrage="update schueler set
Hobbys='".$_REQUEST['Hobbys']."',
Bildung='".$_REQUEST['Bildung']."'
WHERE Nummer='1';";
mysql_query($anfrage);
?>
pers-formular.php (Ausschnitt):
PHP:
<form action="pers-login.php" method="post">
Vorname: <input type="text" name="Vorname" size="40"><br>
Nachname: <input type="text" name="Nachname" size="40"><br>
Brauche dringend Antworten...
Gruß,
Awek
OBrian
Moderation MBDB, ,
- Mitglied seit
- 16.10.2000
- Beiträge
- 17.032
- Renomée
- 267
- Standort
- NRW
- Prozessor
- Phenom II X4 940 BE, C2-Stepping (undervolted)
- Mainboard
- Gigabyte GA-MA69G-S3H (BIOS F7)
- Kühlung
- Noctua NH-U12F
- Speicher
- 4 GB DDR2-800 ADATA/OCZ
- Grafikprozessor
- Radeon HD 5850
- Display
- NEC MultiSync 24WMGX³
- SSD
- Samsung 840 Evo 256 GB
- HDD
- WD Caviar Green 2 TB (WD20EARX)
- Optisches Laufwerk
- Samsung SH-S183L
- Soundkarte
- Creative X-Fi EM mit YouP-PAX-Treibern, Headset: Sennheiser PC350
- Gehäuse
- Coolermaster Stacker, 120mm-Lüfter ersetzt durch Scythe S-Flex, zusätzliche Staubfilter
- Netzteil
- BeQuiet 500W PCGH-Edition
- Betriebssystem
- Windows 7 x64
- Webbrowser
- Firefox
- Verschiedenes
- Tastatur: Zowie Celeritas Caseking-Mod (weiße Tasten)
Du mußt auf jeden Fall noch die aus den Formularfeldern ausgelesenen Daten verarbeiten, bevor Du sie in den Tabelle einträgst (dazu gibt es haufenweise Tutorials, deswegen erspar ich mir mal Quelltextschnipsel).
Du könntest z.B., wenn das Formular zum Editieren vorhandener Datensätze benutzt werden soll, ein Dropdownfeld einbauen, was die vorhandenen Unique-Schlüssel enthält, also "Nummer", und nach dessen Auswahl die vorhandenen Daten in die Formularfelder lädt, so daß diese entweder vom Nutzer geändert werden oder unverändert wieder reingeschrieben werden (mit UPDATE blabla WHERE Nummer=x). Zusätzlich dann eben im "Nummer"-Dropdownfeld die Option der Neuanlage eines Datensatzes, bei dem die Felder leer sind und vom Nutzer gefüllt werden müssen (Eintrag danach entsprechend mit INSERT).
Natürlich sollte man die Formularfeldeingaben noch entsprechend absichern, indem man überprüft, ob erlaubte Eingaben drin sind (d.h. keine Angaben vergessen, keine Sonderzeichen, die ggf. zu Problemen führen usw.) und falls man so einen Fehler findet, eine Meldung auswirft "Bitte Feld 'Vorname' ausfüllen" oder sowas. Je unbedarfter oder potentiell böser der Nutzer ist, desto umfangreicher muß man das machen (ein Hacker könnte z.B. einen SQL-Codeschnipsel reinschreiben und so die Datenbank abschießen, falls das nicht richtig abgefangen wird), aber wenn man nur selbst einträgt, kann man sich das auch sparen.
Du könntest z.B., wenn das Formular zum Editieren vorhandener Datensätze benutzt werden soll, ein Dropdownfeld einbauen, was die vorhandenen Unique-Schlüssel enthält, also "Nummer", und nach dessen Auswahl die vorhandenen Daten in die Formularfelder lädt, so daß diese entweder vom Nutzer geändert werden oder unverändert wieder reingeschrieben werden (mit UPDATE blabla WHERE Nummer=x). Zusätzlich dann eben im "Nummer"-Dropdownfeld die Option der Neuanlage eines Datensatzes, bei dem die Felder leer sind und vom Nutzer gefüllt werden müssen (Eintrag danach entsprechend mit INSERT).
Natürlich sollte man die Formularfeldeingaben noch entsprechend absichern, indem man überprüft, ob erlaubte Eingaben drin sind (d.h. keine Angaben vergessen, keine Sonderzeichen, die ggf. zu Problemen führen usw.) und falls man so einen Fehler findet, eine Meldung auswirft "Bitte Feld 'Vorname' ausfüllen" oder sowas. Je unbedarfter oder potentiell böser der Nutzer ist, desto umfangreicher muß man das machen (ein Hacker könnte z.B. einen SQL-Codeschnipsel reinschreiben und so die Datenbank abschießen, falls das nicht richtig abgefangen wird), aber wenn man nur selbst einträgt, kann man sich das auch sparen.
Awek
Fleet Captain Special
- Mitglied seit
- 07.10.2006
- Beiträge
- 267
- Renomée
- 0
- Prozessor
- AMD Athlon II X4 640
- Mainboard
- Asrock N68-S
- Kühlung
- Cooler Master Hyper TX3
- Speicher
- Corsair TWIN2X4096-6400C5C 4GB
- Grafikprozessor
- MSI R4650 ATI
- Display
- Samsung SyncMaster 2494LW 24"
- HDD
- Hitachi Deskstar 7K1000.C 1000GB, SATA II (HDS721010CLA332)
- Optisches Laufwerk
- LG 16x DVD Brenner
- Soundkarte
- Audigy 2
- Gehäuse
- Xigmatek Asgard Pro
- Betriebssystem
- Win 7 Pro 64 Bit
- Webbrowser
- Mozilla Firefox
Danke OBrian, aber das mit dem Dropdownmenü brauche ich garnicht. Bei mir geht es um eine feste Nummer. Leider finde ich kein Tutorial. Könntest du mir einen Link schicken?
Es geht nur darum das die Textfelder mit den Informationen der Nummer, die in dem Quelltext festgelegt wurde "gefüllt" werden.
Ich hoffe mir kann jemand helfen.
Es geht nur darum das die Textfelder mit den Informationen der Nummer, die in dem Quelltext festgelegt wurde "gefüllt" werden.
Ich hoffe mir kann jemand helfen.
PHP:
if($_REQUEST['Hobbys'] != "" && $_REQUEST['Bildung'] != "")
{
$anfrage="update schueler set
Hobbys='".$_REQUEST['Hobbys']."',
Bildung='".$_REQUEST['Bildung']."'
WHERE Nummer='1';";
mysql_query($anfrage);
}
else
{
echo "Bitte Werte eingeben.";
}
?>
Zur erläuterung:
Vorrausgesetzt, es geht dabei um das "update schueler..." -statement. Habe den Thread nur überflogen...
Wenn du möchtest, dass im Formular schon die Werte stehen, die derzeit eingetragen sind, dann geht das beim erstellen des z.B. Formulars folgendermaßen:
PHP:
$result = mysql_fetch_assoc(mysql_query("select Bildung, Hobbys from schueler where Nummer = '1';"));
echo '<form action="pers-login.php" method="post">
...
Bildung: <input type="text" name="Vorname" size="40" value="'.$result["Bildung"] .'"><br>
Hobby: <input type="text" name="Nachname" size="40" value="'.$result["Hobby"] .'"><br>
... ';
Habe den Code nicht probiert, aber wenn er nicht auf Anhieb geht, wirst du bestimmt verstehen, wie es gemeint ist und den/die Fehler finden.
Diese Art zu Programmieren würde ich als "quick and very dirty" bezeichnen. Aber du scheinst es ja grade erst zu lernen. So hat jeder mal angefangen. Sei trotzdem darauf hingewiesen, dass man solche Codes nicht produktiv einsetzen sollte.
Grade wie BoMbY schon erwähnt hat, ist die Gefahr durch SQLInjections enorm, da das jeder kann, der auch nur ein wenig Ahnung von SQL und PHP hat. Und das sind genug Leute. Zur Folge kann das veränderte/gelöschte oder auch einfach nur die Veröffentlichung von Daten aus der Datenbank bis hin zu veränderten/zerstörten Datenbankstrukturen haben.
Die Begriffe Date_Objects und Prepared_Statements sind zwar auf Dauer sicherlich die sauberste und sicherste Lösung, aber grade am Anfang möchtest du wohl lieber kleiner Anfangen. Versuchs mal mit dem Suchbegriffen "escape sql injection".
Mit der Methode versteht man meiner Meinung nach am schnellsten worum es geht weil man das Problem an der Wurzel bekämpft.
Hoffe die Antwort kam dir nicht zu spät!
Marrek
Ähnliche Themen
- Antworten
- 8
- Aufrufe
- 3K
- Antworten
- 9
- Aufrufe
- 2K