Deutschsprachiges NOF - Forum

Support und Tutorials rund um das Thema NetObjects Fusion

collapse

* Alles hat ein Ende...

Eine Weisheit der Dakota-Indianer sagt:
"Wenn Du entdeckst, dass Du ein totes Pferd reitest, steig ab!"

Vor fast fünf Jahren habe ich die NOF-Community gegründet und nachdem just zu diesem Zeitpunkt das „alte NOF-Forum“ quasi über Nacht vom Betreiber geschlossen wurde, war mein Forum für viele Nutzer von NetObjects Fusion eine willkommene Alternative.

Inzwischen sind weit über 5000 NetObjects-Nutzer in der NOF-Community registriert und täglich kommen weitere hinzu. An interessierten Mitgliedern fehlt es also nicht. Was aber fehlt, sind Mitglieder, die Lust haben, anderen Nutzern bei der Lösung ihrer vielfältigen Probleme in der Anwendung von NetObjects Fusion zu helfen. Vielleicht, weil viele von ihnen - ebenso wie ich - das Interesse an NOF verloren haben und zwischenzeitlich mit anderen Programmen arbeiten.

Aktuell ist es so, dass der Support wie die Kosten für den Betrieb der NOF-Community fast ausschließlich von mir übernommen werden. Dies, und die Tatsache, dass ich die Arbeit mit NetObjects Fusion nicht mehr für zeitgemäß halte, veranlasst mich, den aktiven Forenbetrieb zu beenden. Die Beiträge, Tipps und Anleitungen aus den letzten Jahren stehen ab heute nur noch als Nachschlagewerk zur Verfügung.

Ich bedanke mich an dieser Stelle ganz herzlich bei allen, die mich und die NOF-Community in den vergangenen Jahren unterstützt haben.

Beste Grüße nettesekel

Die letzten Beiträge

Autor Thema: PHP und MySQL -> Erstellung von Einträgen in der Datenbank mit einem Formular  (Gelesen 3676 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

 


Wenn dir dieser Artikel gefallen hat, dann empfehle ihn doch weiter... ;)