Fragen & Hilfe zu Projekt mit php & mySQL Integration

Kenjin

Mitglied
Thread Starter
Dabei seit
18.07.2005
Beiträge
83
Reaktionspunkte
1
Moin Jungs,

ich arbeite zur Zeit an einem kleinen Projekt, in dem sich Nutzer mit ihren Daten einloggen und Daten an Fahrzeugen verändern können sollen.

Die Formulare stehen soweit, nur leider krieg' ich die Verbindung zur Datenbank, also das auslesen, verändern und speichern der Daten nicht hin.

Hier mal so grob die Funktionsweise:
- Im ersten Schritt soll sich der User per Username und Passwort einloggen können und wird auf die zweite Seite weitergeleitet.
- Im zweiten Schritt soll der Username übernommen werden, inkl. weiterer Daten (z.B. Geburtsdatum, Führerschein-Nr., etc.), die für ihn in der Datenbank hinterlegt sind. Hier soll jetzt ein Fahrzeug ausgewählt werden und ein Datum, die Werte sollen wieder zwischengespeichert und ans nächste Formular übergeben werden.
- Im dritten Schritt sollen wieder die Werte zum User geladen werden, zusätzlich auch die Werte zum Fahrzeug.
Nutzungs-Stunden sollen eingetragen und zu den vorhandenen Stunden des Fahrzeugs addiert werden, die Felder sollen sich auch teilweise addieren/summieren, etc.


Zum Abschluß sollen alle Daten wieder in der Datenbank gespeichert werden. Ist glaub' ich kein großer Akt, aber irgendwie fehlt mir der SQL-Hintergrund...


Würde mich sehr freuen, wenn mir jemand unter die Armen greifen könnte.

Vielen Dank & viele Grüße
Kenjin
 
So so, Du glaubst, es ist kein großer Akt? Dir fehlt jeglicher Hintergrund! Du sucht Hilfe, wenn's geht noch kostenlos.....

Ich kann Dir gern "unter die Arme greifen". Stundensatz 78,- Euro Netto.
 
Hi beage,

vielen Dank erstmal für deine schnelle Antwort. Von kostenlos sollte keine Rede sein, tut mir leid, wenn's so rüberkommt.
Ein gewisses Hintergrundwissen im Bereich Web-Design und Entwicklung würde ich mir schon zugestehen wollen, nur reicht's halt für diese spezielle Anwendung nicht.

Vielleicht könntest Du die nötigen Schritte beschreiben und auch eine Schätzung für einen zeitlichen Rahmen abgeben?

Viele Grüße
Kenjin
 
Wie weit gehen denn Deine PHP- und MySQL-Kenntnisse, bzw. das genannte Hintergrundwissen? Kriegst Du einen DB-Connect hin? Sind Dir Sessions ein Begriff? Sowas schon gemacht? (Wegen Login z.B.)

Ist das "kleine" Projekt privater Natur um zu lernen oder soll das professionell genutzt werden? Nur erstmal um abzuklopfen, ob es Sinn macht ins Detail zu gehen.
 
Die Verbindung zur Datenbank krieg' ich hin, Tabellen und Inhalte sind auch vorhanden. Testuser ist angelegt, am Login per Session arbeite ich gerade.
Vorrangig geht's also um User-Management und auslesen, verändern/weitergeben in Variablen und schließlich speichern der Datensätze.

Sollte das "kleine" Projekt funktionieren und um weitere Funktionen erweitert werden, könnte ich mir schon eine professionelle Nutzung vorstellen.
 
Ist im Grunde ganz einfach.

Beim Login fragst du die Nutzerdaten ab. In der DB musst du darauf achten, dass die eindeutig sind und kein Username zweimal vergeben werden kann. Die eMail Adresse hat sich bei mir bewährt. Falls jemand sein Kennwort vergisst, kann er es sich auch gleich da hin schicken lassen.

Beim Login postest du die Daten an ein Login Skript. Das selektiert den User aus der DB. Nach dem Prinzip select * from user where email = 'johndoe@example.com'

Seine user_id schreibst du in eine Session Variable, damit du später drauf zugreifen kannst. (http://php.net/manual/de/ref.session.php)

Empfehlenswert ist es, ein "Authentifizierungslevel" festzulegen. (1 = User, 2 = User mit erweiterten Rechten, 3 = Admin o.ä.) Das schreibst du ebenfalls beim Login in eine Session Variable und fragst es beim Aufruf von internen Seiten ab. (if session(auth) < 3 then umleiten auf login Page)

Postet der User irgendwelche Daten, manipulierst du die entsprechend in der DB. update fahrzeuge set xx = wert where fahrzeug_id = sowieso.

Da solltest du dich natürlich ein bisschen reinfuchsen.

Hier mal ein Einstieg für das Auswerten von Formularwerten: http://www.schattenbaum.net/php/variable2.php

Für SQL würde ich ein paar Tutorials lesen. Du brauchst für den Anfang SELECT (zum Auslesen der Datensätze), UPDATE (zum Ändern von Daten) und INSERT (zum Einfügen neuer Daten).

Grobe Richtung:
1. SELECT * FROM Tabelle where Bedingung
2. Formularfelder, etc. mit den Werten füllen (z.B. ein Dropdown)
3. Beim Absenden (Submit): UPDATE Tabelle SET Wert = xy.
4. Umleiten auf die Ergebnisseite

xy wertest du per $POST aus.

That's it.

Ist ein bisschen Arbeit aber nix kompliziertes.

Bei mir kriegst du das Projekt übrigens für 77 Euro netto. 78 ist zu teuer. :crack: Nee, war ein Witz. Ich hab gar keine Zeit für sowas, mache aber den ganzen Tag fast nichts anderes als das was du vor hast. Wenn du also konkrete Fragen hast, gib Bescheid. :)
 
Hi Saugkraft,

vielen Dank erstmal dafür.

Bei Schattenbaum hab' ich mich schon rauf und runtergelesen, auch nach Jahren noch aktuell und interessant. Und die PHP-Referenz natürlich für konkrete Sachen.
So in der Richtung wie von Dir beschrieben hab' ich's auch vor, nur fehlt mir zur Umsetzung halt das Detailwissen und zu großen Teilen wahrscheinlich einfach die Übung und Zeit.

Ich werd' mich mal wieder in die Materie einlesen und meld' mich bei konkreten Fragen gerne noch mal hier!

Viele Grüße
Kenjin
 
Ja, mach das. Es ist halt seeehr viel zu erklären wenn man das über's Internet machen will und hängt direkt vom Projekt ab. Ein Workflow geändert und gefühlte drei Seiten "Tutorial" sind für die Katz. :D

Am besten, du zerlegst das Projekt in Einzelschritte und fängst mal mit konkreten Eckpunkten an. Einloggen, Daten per Formular auslesen, Daten auslesen und ändern, usw.

Die Extrafunktionen (Werte addieren, etc.) sind B-Note. Wenn du beim Auslesen und Felder füllen mit SQL sicher umgehen kannst, ist der Rest nur noch Kleinkram. Der hängt aber vom konkreten Anwendungsfall ab. Wenn du zum Beispiel anzeigen lassen willst, wieviele KM die Person dieses Jahr schon gefahren ist, machst du das so:

SELECT sum(km) as fahrleistung FROM TabelleMitKMEinzeleinträgen WHERE Datum >= '1.1.2013'

Vorausgesetzt, die DB ist so aufgebaut, dass bei jedem Eintrag für gefahrende KM ein Eintrag in einer Tabelle erzeugt wird, die folgendes enthält: id, fahrer_id (kommt aus der User Tabelle), gefahrene KM.

SQL ist wirklich Kinderkram. Viel wesentlicher ist die Logik beim Aufbau der DB. Das: http://www.tinohempel.de/info/info/datenbank/normalisierung.htm solltest du quasi aus dem FF beherrschein, bzw. sollte die DB so aufgebaut sein. Normalisierung ist alles.

Mit SQL ist der Rest dann einfach: SELECT * FROM Tabelle1 INNER JOIN Tabelle2 ON id_Tabelle1 = id_Tabelle2.

id_Tabelle1 ist z.B. die Fahrer_id, id_Tabelle2 ist ebenfalls die Fahrer_id, die in die Tabelle mit den KM Einträgen geschrieben wird. So kannst du jeden Eintrag in der KM Tabelle einem Fahrer zuordnen.

Einschränken kannst du dann jederzeit mit WHERE. Zum Beispiel über Datum = .., KM > x (wenn du nur Einträge größer x KM haben willst), etc. Oder WHERE Bedingung1 AND Bedingung2 (die können aus verschiedenen Tabellen kommen, die über JOIN verknüpft sind).

Wenn du Sachen errechnen willst, dann schau dir mal die SQL Funktionen (linke Seite in der Mitte) an: http://www.w3schools.com/sql/default.asp
 
und nicht vergessen, alle werte, die man aus dem formular ausliest und dann als mysql query weiter nutzt schön gegen sql injection abzusichern...
 
Zurück
Oben Unten