Deutschsprachiges NOF - Forum

Support und Tutorials rund um das Thema NetObjects Fusion

collapse

* Wichtige Mitglieder-Information

Aufgrund der anstehenden gesetzlichen Änderungen in Sachen Datenschutz habe ich am 03.05.2018 eine umfassende Bereinigung unserer Datenbanken vorgenommen.

Bei dieser Bereinigung habe ich alle personenbezogenen und privaten Daten unserer Mitglieder aus den Mitglieder- , Beitrags- und Nachrichtendatenbanken gelöscht.

Konkret von der Löschung betroffen waren hierbei im Wesentlichen folgende Daten:

persönliche Avatare
E-Mail-Adressen
Angaben zum Wohnort
Angaben zum Geschlecht
Angaben zu Alter und Geburtstag
IP-Adressen
Websites und Websitetitel
Signaturen
Angaben zu diversen Messengern
Passwörter
Sicherheitsfragen und -antworten
Angaben zur verwendeten Programmversion
Angaben zum verwendeten Betriebssystem
sämtlicher persönlicher Schriftverkehr in Form privater Nachrichten

Beste Grüße nettesekel

* Friendship

DER Katzenblog – mit tollen Tipps und Ideen für deine Katze(n) <3

Die letzten Beiträge

Autor Thema: PHP und MySQL -> Erstellung von Einträgen in der Datenbank mit einem Formular  (Gelesen 4015 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Hans K.

  • Gast
Gerade wenn man viel mit dynamischen Seiten und Datenbanken arbeitet, ist das Eintragen von neuen Daten in MySQL etwas umständlich.

Aus diesem Grunde werden wir ein Formular bauen, mit welchem wir die Daten recht komfortabel eingeben und an die Datenbank übergeben können.

Außerdem haben wir im Tut PHP und MySQL -> Erstellung einer automatisch generierten Linkliste Miniaturbilder eingebaut. Da wir diese nicht auch jedes Mal erstellen wollen, werden wir dieses auch automatisieren.

Hans K.

  • Gast
Bevor wir mit dem Formular beginnen, legen wir in der MySQL Datenbank eine neue Tabelle an, mit welcher wir Zugriffe für verschiedene User ermöglichen. Dadurch ist es möglich, dass mehrere User Daten in die Datenbank eintragen können und jeder User sein eigenes Passwort erhält.

Benötigt werden 3 Felder:
ID - eine fortlaufende ID, welcher die Funktion auto_increment vergeben werden muss (automatischer Zähler)
User - der User
Zugriff - Passwort des Users

Die Felder müssen noch als Typ definiert werden:

Id              int(11)
User          varchar (20)
Zugriff       varchar (20)

int(11) ist ein reines Zahlenfeld, varchar (20) ist ein auf 20 Zeichen begrenztes Textfeld.

Nun befüllen wir die Tabelle mit einem Datensatz:
Als User geben wir Hans ein, als Zugriff geben wir Test ein.

Natürlich solltet Ihr später Usernamen und Passwort selber definieren.

Hans K.

  • Gast
Nun erstellen wir in NOF eine neue Seite und stellen diese wie gehabt auf PHP um:
Umstellung der Seite auf PHP

Dann wird die Verbindung zu der MySQL Datenbank hergestellt.
Verbindung zur MySQL Datenbank herstellen

Hans K.

  • Gast
Als nächstes ergänzen wir den Code in den Layout Eigenschaften:

Code: PHP
  1. <?php
  2. include("./html/datenbank.php");
  3.  
  4. $sql="SELECT User FROM Zugang";
  5. $result = mysql_query($sql);
  6.  
  7. ?>

Diesen Code benötigen wir, um nachher im Formular den Benutzer auswählen können, bzw. wenn nur ein Benutzer eingetragen ist, ist dieser bereits vorbelegt.

Hans K.

  • Gast
Dann erstellen wir eine Tabelle, in welcher wir die abzufragenden Daten eintragen. Dabei fügen wir ein Feld für das Bild, den User und das Passwort mit ein:




Hans K.

  • Gast
Dann markieren wir die Tabelle, so dass die Tabellen-Eigenschaften angezeigt werden. Dort den Haken bei "Tabelle ist ein Formular" setzen.

Als nächstes fügen wir hinter den Beschriftungen ein Eingabefeld aus den Formularwerkzeugen ein (Bild, User und Passwort machen wir später):


Hans K.

  • Gast
Nun markieren wir das erste Eingabefeld und geben im Eingabefeld-Eigenschaften in dem Feld Name die Bezeichnung für das Feld an.

In dem Eingabefeld hinter dem Modell tragen wir bei Name auch Modell ein. Bei Hubraum tragen wir als Name Hubraum ein, usw.

Um einen besseren Zusammenhang zu behalten, hilft es die gleiche Bezeichnung zu verwenden, wie wir das in der Datenbank auch gemacht haben:

Modell
Hubraum
Nennleistung
Höchstgeschwindigkeit
Kraftstoffart
Radstand
Reifen_vorne
Reifen_hinten
Bremse_vorne
Bremse_hinten
ABS
Länge
Breite
Höhe
Trockengewicht
zulässiges_Gesamtgewicht
Tankvolumen

Hans K.

  • Gast
Hinter der Bezeichnung Bild wählen wir das Feld Formular-Dateiauswahl aus den Formularwerkzeugen aus.

Bei den Eigenschaften tragen wir Datei bei Name ein.

Hinter der Bezeichnung User wählen wir das Auswahlfeld aus und bei den Eigenschaften bei Name tragen wir User ein.

Hinter dem Feld Passwort fügen wir noch ein Eingabefeld ein und bei dem Namen in den Eigenschaften tragen wir Passwort ein.

Hans K.

  • Gast
Wir markieren noch mal das Auswahlfeld bei der Bezeichnung User und in dem Eigenschaftsfenster klicken wir HTML an.
Dann geben wir im Tag folgenden Code ein:

Code: PHP
  1. >
  2. <?php
  3.  
  4. while ($row = mysql_fetch_array($result)) {
  5. echo "<option value=\"". $row["User"]. "\">". $row["User"]. "</option>";
  6. }
  7.  
  8. ?>
  9. </select>
  10. <!--

Und nach dem Tag:

Code: HTML5
  1. -->
  2.  

Damit erfolgt die Vorbelegung, bzw. Auswahl der User, welche in der Datenbank hinterlegt sind (Achtung: Zeilenumbruch nach --> ist wichtig, ansonsten wird das auf dem Bildschirm angezeigt).
« Letzte Änderung: 31. März 2013, 22:54:15 von Hans K. »

Hans K.

  • Gast
Nun ist das Formular als Solches zu definieren. Einmal die Tabelle markieren und den Schriftzug "Formular" anklicken. Dann sollten die Formular-Eigenschaften angezeigt werden.

Folgende Eingaben sind zu machen:
Name: Eintragsformular
Aktion: seitenname.php
Methode: Verschicken

(wobei seitenname.php wieder die Seitenbezeichnung der aktuellen Seite ist)

Hans K.

  • Gast
Mit einem Klick auf den Reiter "Formularfeld-Analyse" kommt man zu den Eingaben, die den User "zwingen" alle Felder auszufüllen. Auf den ersten Blick sieht man, welche Felder hinterlegt sind und welche Gültigkeit erwartet wird.

Einmal den Button Gültigkeit prüfen betätigen und es öffnet sich ein weiteres Fenster.

Im Feld kann man die Eingabefelder auswählen und in dem darunterliegendem Feld die Bedingung in das Feld "Feldüberprüfungsoptionen" übernehmen.
Der Einfachhalt halber habe ich bei allen Feldern die Überprüfung "erforderlich" vom linken Fenster mit dem großen Pfeil nach rechts in das rechte Fenster übernommen. Dadurch kann das Formular nur gesendet werden, wenn die Felder User ausgefüllt sind.
(bei einigen Feldern kann man zusätzliche Bedingungen hinzufügen, zum Beispiel ob die Eingabe eine Zahl ist)

Wird dann noch die Bezeichnung "erforderlich" angeklickt, dann erscheint unten eine Fehlermeldung, die individuell eingegeben werden kann.

Hans K.

  • Gast
Eine Kleinigkeit fehlt dem Formular noch: Der Sende-Button.

Dazu wählen wir aus den Formular-Werkzeugen die Schaltfläche und fügen sie in die Tabelle ein.
In den Eigenschaften tragenb wir bei Name Eintragen ein und bei Wert Daten eintragen

Damit ist das Formular grundsätzlich fertig.

Hans K.

  • Gast
Jetzt müssen wir die Daten aus dem Formular noch verarbeiten. Bitte nicht erschrecken, es sieht nach viel Code aus, ist aber gar nicht so viel.

Ich werde erst ein paar Schnipsel erläutern und am Ende kommt der komplette Code.


Hans K.

  • Gast
Wir werden eine Abfrage einfügen, ob jetzt Daten zu verarbeiten sind, oder ob das Formular angezeigt werden soll.

Code: PHP
  1. if (empty($_POST['Passwort'])) {

Damit prüfen wir, ob ein Passwort eingegeben wurde. Wenn ja, dann soll das Formular verarbeitet werden.
Wurde kein Passwort eingegeben, dann soll das Formular ohne Aktivitäten angezeigt werden, damit wir es befüllen können.

Dann müssen wir die Felder auslesen, die wir befüllt haben. Das machen wir damit:

Code: PHP
  1. $dateityp = GetImageSize($_FILES['Datei']['tmp_name']);
  2. $Passwort = $_POST['Passwort'];
  3. $User = $_POST['User'];
  4. $Modell = $_POST['Modell'];
  5. $Hubraum = $_POST['Hubraum'];
  6. $Nennleistung = $_POST['Nennleistung'];
  7. $Höchstgeschwindigkeit = $_POST['Höchstgeschwindigkeit'];
  8. $Kraftstoffart = $_POST['Kraftstoffart'];
  9. $Radstand = $_POST['Radstand'];
  10. $Reifen_vorne = $_POST['Reifen_vorne'];
  11. $Reifen_hinten = $_POST['Reifen_hinten'];
  12. $Bremse_vorne = $_POST['Bremse_vorne'];
  13. $Bremse_hinten = $_POST['Bremse_hinten'];
  14. $ABS = $_POST['ABS'];
  15. $Länge = $_POST['Länge'];
  16. $Breite = $_POST['Breite'];
  17. $Höhe = $_POST['Höhe'];
  18. $Trockengewicht = $_POST['Trockengewicht'];
  19. $zulässiges_Gesamtgewicht = $_POST['zulässiges_Gesamtgewicht'];
  20. $Tankvolumen = $_POST['Tankvolumen'];

Hans K.

  • Gast
Als nächste Funktion erfolgt die Prüfung, ob der User das korrekte Passwort eingegeben hat. Dazu lesen wir das Passwort aus der Datenbank aus und vergleichen es mit der Eingabe des Users:

Code: PHP
  1. $sql2="SELECT Zugriff FROM Zugang WHERE User = '$User'";
  2. $result2 = mysql_query($sql2);
  3. $row2 = mysql_fetch_array($result2);
  4.  
  5. if ($Passwort == $row2["Zugriff"]) {

Ist das Passwort richtig, dann erfolgt der Eintrag der Daten des Formulars in die Datenbank:

Code: PHP
  1. mysql_query("INSERT INTO Moped (Modell, Hubraum, Nennleistung, Höchstgeschwindigkeit, Kraftstoffart, Radstand, Reifen_vorne, Reifen_hinten, Bremse_vorne, Bremse_hinten, ABS, Länge, Breite, Höhe, Trockengewicht, zulässiges_Gesamtgewicht, Tankvolumen) VALUES ('$Modell', '$Hubraum', '$Nennleistung', '$Höchstgeschwindigkeit', '$Kraftstoffart', '$Radstand', '$Reifen_vorne', '$Reifen_hinten', '$Bremse_vorne', '$Bremse_hinten', '$ABS', '$Länge', '$Breite', '$Höhe', '$Trockengewicht', '$zulässiges_Gesamtgewicht', '$Tankvolumen')");

Deutschsprachiges NOF - Forum

Support und Tutorials rund um das Thema NetObjects Fusion