Datensätze ändern PHP

Das die Registrierung nicht funktioniert IST ja gerade das Problem.

Und wie ich schon sagte, nimm doch eine fertige Forensoftware und erweitere diese, wenn was nicht dabei ist.

Dieses Projekt ist ein Schulprojekt, und mein Lehrer verlangt, dass wir es selbst machen.

Dann ist der Lehrer aber auch ein bisschen weich in der Birne. Ein Forum ist ein zu großes Projekt für sowas.

Das kommt drauf an, was gefordert ist.
Eine Basisfunktionalität à la:
[ul]
[li]User registrieren
[/li][li]Login
[/li][li]Passwort ändern
[/li][li]Thema erstellen
[/li][li]Beitrag erstellen
[/li][li]Themen & Beiträge anzeigen
[/li][/ul]
halte ich durchaus für ein realistisches Projekt, wenn man bereits Datenbanken durchgenommen hat.

So ist es, man soll sich anmelden und Themen bequatschen können, die man auch erstellen kann, doch die Registrierung funktioniert leider nicht so wie gewollt.

Realistisch, wenn einen der richtige Umgang mit der Sprache beigebracht wurde. Leider fehlt das hier.

Wir haben nur ausgabe, Formulare, schleifen und datenbanken gelernt.

Na, das ist doch alles, was man braucht. Hast du denn keine Aufzeichnungen? Die solltest du dir noch einmal ansehen.

Als erstes such dir eine geeignete IDE die entsprechend mit Encodings umgeht und halbwegs sauberes HTML erzeugt.

Danach kannst du dich an die Registrierung und Login machen. Danach Thema und Beitrag erstellen und dann Themen Übersicht und Thema/Beiträge anzeigen.

Je nachdem wie sauber das sein soll in 1-2 Arbeits-Tagen realisierbar.

Unser Lehrer hat uns im laufe der letzten 2 Jahre eine ganze menge Ausdrucke gegeben, aber es scheint alles korrekt, hier nochmal der betreffende Codeabschnitt:


mysql_query("UPDATE `Forum_Users` Set `Passwort` = ".$pass. " WHERE `Passwort` = ".$passalt);

Wie schon im ersten Post beschrieben … hier fehlen die ’ bzw. " um MySQL mitzuteilen das es sich um Strings handelt.

Korrekt wäre unabhängig von SQL Injection und anderen bereits angesprochenen Themen der Ausdruck wie folgt.


mysql_query("UPDATE `Forum_Users` Set `Passwort` = '" . $pass . "' WHERE `Passwort` = '" . $passalt . "'");

Des weiteren solltest du Tabellennamen klein und vollständig in Englisch halten.

Alleine schon, das hier noch mit puren mysql_query Funktionen gearbeitet wird, zeigt dass euerer Lehrer euch nichts begebracht hat. Nichts für ungut, dann sollte man aber auch eine andere Aufgabe stellen.

Ich klink mich hier jetzt aus, sonst bashe ich noch gegen mehr Lehrer ^^

Vermutlich wird sich der Lehrer nicht ständig die neuesten Änderungen an PHP anschauen und somit nicht wissen, dass die MySQL Extension mit PHP 5.5 deprecated wurde und mit 5.6 oder etwas später aus dem System fliegt. Ist an sich auch egal … um das Verständnis zu vermitteln.

Ich rede von PDO, Sicherheit und OOP.

vielleicht ist kein PDO verfügbar … wir hatten letztens mit einer PHP3 Implementierung zu tun … da fanden sich Kommentare wie „dies wird wohl in PHP4 nicht funktionieren … dirty hack“ … das durften wir dann soweit notwendig auf PHP 5.5 konvertieren, sodass wir nicht nur noch Errors und Warnings erhielten :wink:

PDO ist immer verfügbar sofern der entsprechende Treiber installiert ist. Und wir reden hier von Programmieren, nicht pfuschen ^^

Danke, das Passwort äandern funktioniert jetzt, könnt ihr mir noch irgendwelche Tipps darlassen?
Vielen Dank.

Grundlegende Baustellen wurden dir ja genannt. Konkrete Tipps kann man dir nur noch geben, wenn du Quellcode postest.

[QUOTE=Zombiepriester]Danke, das Passwort äandern funktioniert jetzt, könnt ihr mir noch irgendwelche Tipps darlassen?
Vielen Dank.[/QUOTE]

Deine Unterlagen durchlesen und die PHP Fehlermeldungen anzeigen und bei Bedarf bei Google suchen :wink: Also für so manchen das Tagesgeschäft ^^"