 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
27.11.2005, 15:04
|
#1
|
|
TP-Junior
Registriert seit: Oct 2005
|
Erstellen eines Formulars in MySQL? (für mehrere "user" und "passwörter")
hallo,
ich habe mir sagen lassen, dass es wohl besser sei, sich ein formular in mysql anzulegen, als nur eine schlichte tabelle. ich möchte nämlich mehrere user und daher auch mehrere passwörter verwalten können, da sich später auf meiner seite mal mehrere kunden einloggen können sollen.
weiß jemand, wie man so ein formular erstellt?
als eingabefelder in mysql sehe ich nämlich nur "tabelle (mit verschiedenen arten von tabellen" und "SQL". wo bzw. welchen code soll ich jetzt eingeben?
danke
|
|
|
27.11.2005, 15:14
|
#2
|
|
TP-Veteran
Registriert seit: Jun 2004
Ort: Stuttgart
|
formulare kann man nicht in mysql erstellen. sowas gibts nur in access soweit ich weiß. das formular müsstest du dir in html bauen und dann per serverseitigem programm (z.b. in php) die daten in deine tabellen schreiben.
|
|
|
27.11.2005, 15:28
|
#3
|
|
TP-Junior
Registriert seit: Oct 2005
|
wie kriegt man es dann am besten hin, mehrere passwörter anzulegen?
ich habe bis jetzt die erfahrung gemacht, dass man dann für jeden
neuen user theoretisch ein neues eingabefeld machen müsste. und
irgendwann wäre ja dann die startseite mit login-bereichen zugepflastert...
|
|
|
27.11.2005, 15:39
|
#4
|
|
TP-Veteran
Registriert seit: Jun 2004
Ort: Stuttgart
|
Na wie gesagt. Du erstellst eine Seite mit einem Formular, das "Username" und "Passwort" als Inputboxen enthält und einen "Login" Button.
Dann schreibst Du dir ein php - Script, dass die Daten entgegennimmt, die der User eingegeben hat und diese mit deinen Daten, die schon in der Datenbank enthalten sind, vergleicht.
Wie kommst Du auf die Idee für jeden User ein eigenes Formular erstellen zu wollen?  Wäre ziemlich aufwändig, oder? Hast Du sowas schonmal im Internet gesehen?
|
|
|
27.11.2005, 16:51
|
#5
|
|
TP-Junior
Registriert seit: Oct 2005
|
nein, ich sagte ja nur, dass ich es dann so machen müsste, mit mehreren login-bereichen auf der startseite. hab ich natürlich noch nicht gesehen
wäre wäre ja auch bescheuert. aber ich habe mich anscheinend
immer nur bei den login-geschichten umgesehen, die eine
einzige seite schützen, auf die auch nur ein einziger user
zugreifen kann.
deshalb brauch ich ne lösung, die es mehreren usern ermöglicht, auf
bestimmte seiten zuzugreifen.
gibt es auch noch ne andere möglichkeit, wie man das verwirklichen kann?
gibt es nicht irgend ein script, wo man alle user und passwörter reinschreibt (also, dass praktisch dieses script dann wie ein formular fungiert?)
|
|
|
28.11.2005, 09:30
|
#6
|
|
TP-Urgestein
Registriert seit: Nov 2003
Ort: NRW
|
Man man, du scheinst da echt noch Probleme zu haben, das Ganze mit Datenbanken (mySQL) und PHP zu verstehen.
OK, ich nimm mir dann mal ein paar Minuten.
Datenbank:
Eine Datenbank setzt sich aus Tabellen zusammen. Diese Tabellen bestehen erstmal aus einer Struktur. In dieser Struktur wird festgelegt, wieviele Felder es gibt, wie diese Felder jeweils heißen, wie groß sie sind, also wieviel sie speichern können und von welchem Typen sie sind.
Dann gibt es da noch mehr Optionen für ein Feld. Eine der wichtigsten ist die Option, dass ein Feld ein Primärschlüssel sein kann, diesen kann es aber pro Tabelle nur einmal geben und wenn ein Feld (Spalte) ein Primärschlüssel ist, darf später der in ihm gespeicherte Wert in keiner anderen Zeile dieses Feldes stehen. Dieser Primärschlüssel ist dazu da, damit man eine Spalte explizit ansprechen kann. Die wohl häufigste Bezeichnung eines Primärschlüssels ist "id".
Wenn man dann einmal die Struktur einer Tabelle erzeugt hat, kann man diese Tabelle mit Daten befüllen.
Jeden Eintrag in eine Tabelle nennt man Datensatz. Jeder Datensatz erzeugt eine neue Zeile in der Tabelle.
Nun sollte ganz grob die Funktion einer Datenbank klar sein.
Nun zu PHP:
PHP nutzt man einmal um mit der Datenbank zu kommunizieren und die Daten, die man mit einer Abfrage erhält auch auszugeben.
Für die Ausgabe erzeugt PHP eine HTML Datei, die an den Browser des User geschickt wird.
PHP kann noch eine Menge mehr, aber das laß ich jetzt erstmal weg.
Nun zu deiner Anwendung:
Erstmal müssen ja Logindaten (Username/Passwort) in die Datenbank (ergo Tabelle) eingetragen werden.
Dazu kann man sich einmal eine PHP-Datei schreiben, die ein Formular verwendet. Dort gibst du dann die Daten ein und schickst sie an die Datenbank, wo sie dann gespeichert werden (eine neue Zeile wird in der Tabelle angelegt).
Oder man nutzt ein Tool, wie PHPmyAdmin, das ist halt einfach ein in PHP geschriebenes Tool/Script, mit dem man direkt auf der Datenbank arbeiten kann.
Aber man sollte es besser mit einem Formular machen, da man so auch andere als Admin für eine Applikation benennen kann, der dann aber nur auf dem bestimmten Teil der Datenbank arbeiten kann. Mit PHPmyAdmin hat man erstmal vollen Zugriff auf die ganze Datenbank. Das kann man zwar auch konfigurieren, aber das ist erstmal eine andere Sache.
So nun hast du also ein Script geschrieben, in dem man User anlegen kann.
Nun also zum Login-Bereich:
Du schreibst wieder ein Script, diesmal aber nicht um Datensätze einzutragen, sondern um welche abzufragen.
Du hast also zwei Felder: Username und Passwort.
Wenn nun ein User seine Daten einträgt, schickt PHP eine Anfrage an die Datenbank.
Das könnte banal so aussehen:
PHP -> DB: Hast du einen Datensatz in der Tabelle "user" wo in der Spalte "username" der Wert "hans" gespeichter ist?
Die DB schaut nun in der Tabelle "user" in jeder Zeile (also Zeile für Zeile) in die Spalte "username" und sucht "hans".
DB -> PHP: Ja habe ich hier
PHP -> DB: Ist in dieser Zeile unter der Spalte "passwort" auch der Wert "123" gespeichert?
Die DB schaut nun nach, ob in dieser einen Zeile unter "passwort" auch "123" gespeichert ist.
DB -> PHP: Ja habe ich!
PHP lässt den User dann weiter, da der Login stimmt.
Wäre nun keine Zeile mit dem eingetragenen Usernamen da, oder zwar der Username da, aber in der Zeile stimmt dann das gespeicherte Passwort nicht mit dem eingegebenen Passwort überein, gäbe es ein Fehler und der User wäre nicht weiter gekommen.
Solche Abfragen kann man unterschiedlich aufbauen. Hierbei sollte man eine UND-Verknüpfung verwenden, spricht beide Eingaben müssen auch so in der DB stehen. Es gibt da viele Verknüpfungsarten, die man auch kombinieren kann, eine ander oft verwendete wäre ODER.
Hier aber nicht sinnvoll, da man durch zwei Eingaben ja mehr Sicherheit haben will.
Hätte man hier nun mit ODER gearbeitet könnte man auch in das System, wenn man den Usernamen aus der einen Zeile in der DB hat und das Passwort aus einer anderen. Somit würde ja bei sehr vielen Usern eines Systems die Wahrscheinlichkeit steigen, dass jemand einen Login erraten könnte, ohne selber einen zu haben.
So das Ganze ist nun extrem abstrakt beschrieben, real läuft das etwas komplexer ab, aber ich hoffe so verstehst du ehr, wie sowas mit einer Datenbank läuft.
Im Groben kann man hier also einfach sagen, das Loginformular ist einfach nur ein Gerüst, welches die Eingaben an die Datenbank schickt. Erst in der DB wird geprüft, ob es diese Kombination der Eingabe überhaupt gibt.
Hast du also in deinem System 100 User, hast du weiterhin nur ein Login mit 2 Feldern, aber die Tabelle in der DB hat 100 Zeilen, wo dann die Daten gespeichert sind.
So, ich hoffe nun ist es einigermaßen klar.
Für die Zukunft rate ich dir, kauf dir mal ein Einsteigerbuch, wo die Funktion einer Datenbank grundlegend erläutert wird. Ich habe hier nur 0,1% davon angerissen, was es da sonst noch so gibt.
Es hilft dir nicht, hier weiterhin zu fragen, wie es in den letzten Threads war, wenn du das vom Grunde her nicht verstehst, wie eine Datenbank aufgebaut ist und was PHP genau macht. Denn jede Antwort die hier kommt wird noch mehr Fragen bei dir hervor rufen.
Nicht jeder hat Zeit und Lust hier Grundlagen zu tippen, auch ich nicht, aber da es nun nicht die erste Frage von dir war, hab ich mir mal die Zeit genommen.
|
|
|
28.11.2005, 19:32
|
#7
|
|
TP-Junior
Registriert seit: Oct 2005
|
mensch danke, dass du dir die zeit genommen hast.
hat mir weitergeholfen, dein beitrag.
ich glaub ich kauf mir wirklich mal so´n buch.
aber ich weiß halt nicht, ob ich das mit dem php
programmieren so hinbekomme, hab bisher immer nur
html selber gemacht und in javascript-codes von anderen
rumgebaut und diese übernommen. meinst du man kriegt
so ne passwort geschichte mit formular als laie mit nem
buch wie z.B.
http://www.amazon.de/exec/obidos/ASI...553733-0188216
hin?
vielen vielen dank nochmal, echt cool von dir.
|
|
|
28.11.2005, 19:49
|
#8
|
|
TP-Supporter
Registriert seit: Mar 2004
|
vl. genügt dir ja dieser link http://tut.php-q.net/
hier gibs alles was du brauchst als online-tutorial!echt gewaltig das teil um mysql und php zu lernen!da gibs übrigens auch das tutorial für Login-systeme und dann kannst dir sowas bauen(aber lies bitte alles andere vorher auch durch sonst kapierst nix)
|
|
|
28.11.2005, 22:39
|
#9
|
|
TP-Junior
Registriert seit: Oct 2005
|
danke für den tipp
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:10 Uhr.
|
 |