| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Moderator Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Der Code ist ... grausam, tu doch mal allen deinen potentiellen helfern ein paar kleine gefallen: 1) PHP-Code: also so: PHP-Code: Was bitte soll sowas: PHP-Code: und in der nächsten am anfang wieder zu ?> ???? Das ist total unnötig und zwingt den Interpreter jedes mal zwischen Interpretieren und ausgeben total unnötig rumzuspringen (soweit kein optimizer das wegoptimiert) 3) ich seh kein einziges mysql_real_escape string. Jeder der in deine Daten ein ' hat (z.b. weil er O'Brian heißt, lässt dein Script abkacken und unter umständen lässt sich das sogar dazu ausnutzen daten auszulesen ODER daten anderer user zu verändern. 4) Warum bitte führst du für JEDES feld wenn es nicht leer ist 1 query aus ? das ist totaler overhead, sammel die daten und mach 1 update daraus 5) empty() ist nicht das gleiche wie isset(). Wenn jetzt jemand z.b. ein feld ändern möchte und den wert rauslöschen will, ist das nicht möglich -> les nach was die beiden machen 6) Bau folgendes ganz oben in dein script ein: Fehlerausgabe in PHP-Scripten - Codeschnipsel dann bekommst du einige fehler oder dinge die du nicht ordentlich machst gleich gezeit 7) PHP-Code: PHP-Code: PHP-Code: Stichwort Template-Engines, etc
__________________ robo47.net - Blog, Codeschnipsel und mehr | |
| |
| | |
| Moderator Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Ist das aktuell jetzt dein komplettes Script ?
__________________ robo47.net - Blog, Codeschnipsel und mehr | |
| |
| | |
| Neuer Benutzer Registriert seit: 09.01.2010
Beiträge: 22
PHP-Kenntnisse: Fortgeschritten ![]() | Wenn ja, ist dort wohl nun einiges rausgenommen worden. Der Rest war grausam, Ja. ![]() Bau deine Webseite vielleicht mal auf folgende Grundlogik bzw. Grundstruktur um (Prosa) Code: Fehler = Keine Fehler (Vorinitialisierung);
Wenn (Formular abgeschickt) {
Ermittle Fehler;
Wenn (keine Fehler) {
Mache Änderungen in der Datenbank;
}
}
Wenn (Fehler) {
Gebe Fehler aus;
}
Gebe Formular aus;
PHP-Code:
__________________ Kostenloser Qualitäts-Webspace mit Projekt-Unterstützung |
| |
| | |
| Moderator Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Ein aktiviertes error_reporting wie ich es mir gewünscht habe fehlt, dann dürftest du wohl einige Notices bekommen .... 1 Query für alle Felder aber verschiedene Formulare mit verschiedenen Werten ... ? Das klappt so nicht, dann musst du entweder deine variablen alle mit den alten werten vor-fülllen, oder abfragen welches formular denn eigentlich abgeschickt wurde und für jedes passenden Code erzeugen. PHP-Code: Auch mal noch ein Verweis auf: Datenbank-Fehlerbehandlung in PHP - verschiedene Wege und Möglichkeiten Wenn du es wirklich dem User so umständlich machen willst, musst du wieder Teile deiner alten implementierung nehmen wo du für jedes Feld ein query machst, wovon ich dir abraten würde. Allgemein überprüfen ob ein POST-Request vorliegt kannst du mit PHP-Code: PHP-Code: PHP-Code: Also bei mir ist die Lust hier noch weiter was zu machen jetzt vorbei. Von ersten zum letzten post schmeißt du das konzept um, beherzigt nur die hälfte der tips und man hat das Gefühl du weist überhaupt nicht was du tust. Das was du vorhast ist um es halbwegs ordentlich zu machen und keinen bescheidenen unsicheren, fehlerhaften Code zu erzeugen einfach weit ab deines aktuellen Wissens. Ich hab keine Lust dir hier wieder und wieder Grundlagen beizubringen und dir zu sagen was in den Code gehört. Sowas sind Grundlagen die du erstmal lernen musst, daher macht hier keinen Sinn weiterzumachen bevor du dich nicht ordentlich damit beschäftigt hast. => http://www.php.de/php-einsteiger/489...rundlagen.html Ich für meinen Teil bin hier raus
__________________ robo47.net - Blog, Codeschnipsel und mehr | |
| |
| | |
| Neuer Benutzer Registriert seit: 09.01.2010
Beiträge: 22
PHP-Kenntnisse: Fortgeschritten ![]() | Einige Sachen, die Robo und ich angemerkt haben, hast du noch nicht umgesetzt. Mache das vorher. Zudem ist dein Script unvollständig um dein neues Problem zu beantworten. Schritt 1: Script aufräumen und mit vernünftigen Kommentaren versehen. Schritt 2: Script nochmal komplett hier posten inkl. aller angemerkten Änderungen und Beseitigung der Notices. Der Fehler selbst bzw. dein If dürfte logischer Quatsch sein, denn in $row['user_hz'] stehen nicht automatisch alle Werte aus der DB drin, sondern nur einer.
__________________ Kostenloser Qualitäts-Webspace mit Projekt-Unterstützung |
| |
| Themen-Optionen | |
| Thema bewerten | |
|
|