• Hallo zusammen

    Ich habe da ein großes Problem, welches mich nun schon 2 Tage beschäftigt.

    Ich habe ein Script auf mein Server geladen. Die Anzeige des Scriptes fnktioniert einwandfrei, jedoch kann man sich weder auf der Seite registrieren, noch ins Admincenter einloggen. Bei beiden bleibt das Bild unverändert.

    Hier mal die index.php vom Admin Center...


    Ich persönlich kann hier einfach kein Fehler finden.

    Wäre super wenn einer von euch was findet und mir so helfen kann, da ich nun mittlerweile sehr verzweifelt bin :(


    Gruß Ilthigore

  • Hmm, lass das mit der session-id mal bleiben und benutze die session-standardfunktionen.
    vor der ausgabe session_start() und dann können per $_SESSION[varname] die skripts auf gemeinsame variablen zugreifen.
    Außerdem heißt es && und nicht &. ;)
    Beim Prüfen also:

    Code
    if(($upass==$_POST['password'] && $aname==$_POST['name']))

    Viele liebe Grüße
    The User

    Tip:
    Das Passwort als md5-Summe in der DB speichern.
    Also wenn du das Passwort schreibst oder prüfst md5(pw) aufrufen. ;)

  • hmm, also nur am && hat es net gelegen, aber hab es voll übersehen ^^

    Leider funktioniert das alles net, auch mit den Sessions nicht. Entweder hatte ich irgendwo ein Schreibfehler drinn, oder aber es liegt daran das im mom glaub gar nichts geht, das ding hat mich schon zu sehr gefrustet.

    Wäre es möglich wenn du mir die Zeilen in meinen Code da oben einfügst ???

    Wäre super lieb.


    Gruß Ilthigore

  • In dem config.php stehen nur die mysql-Passwörter, oder?

    Okay, du musst dann aber auch beim Rest ein paar Dinge ändern.
    Im index2 kannst du auf die sessionid mit $_SESSION['sessionid'] zugreifen, wenn es überhaupt nötig ist.
    Und du musst das Passwort neu setzen, ein Einwegskript machen, dass dich dein Passwort eingeben lässt und als md5($_POST['Password']) in der DB speichert und dann das Skript selbst löscht.

    Viele liebe Grüße
    The User

  • hiho

    Vielen Dank erstmal

    Also ich habe die index.php vom Admincenter von dir übernommen udn das PW erstmal manuell in der Datenbank per MD5 verschlüsselung eingegeben. Jedoch habe ich immer noch den gleichen Effekt. Es passiert nichts.

    Müsste ja zumindest mal ne Fehlermeldung oder so kommen jetzt.


    Gruß Ilthigore

  • Sorry, vergessen einzuloggen :(

  • Hiho

    Also ich habe alles nochmal überprüft, jedoch kein fehler gefunden was auf eine falsche Variabel hindeutet.

    Mit der Session habe ich auch probiert. Lediglich am Anfang des Scripts, doch wieder keine Veränderung. Noch nicht mal eine Fehlermeldung.

    Das Problem habe ich aber auch wenn man sich anmelden will auf der Seite, da bleibt die Seite nach dem absenden auch unverändert, genau wie im Admincenter.


    Gruß Ilthigore

  • Richtig debuggen
    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeilen: error_reporting(E_ALL); und ini_set("display_errors", true);
    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
    5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

    Es schadet auch nicht, wenn man den Quellcode ordentlich einrückt, im Gegenteil, die Sache wird deutlich lesbarer.

  • Hiho. also erstmal danke für die zahlreichen Tips. Leider hat keines wirklich zum Erfolg geführt. Aber da ich ja stur bin habe ich noch n bissel weitergeguckt woran es liegen konnte. da ist mir die config nochmal ins Auge gefallen. Dort habe ich lediglich 3 Zeilen code hinzugefügt.

    Nun habe ich leider den meistgehassten Fehler. den "Cannot modify header information - headers already sent by" Fehler.

    Einmal zeigt er ihn mir in der anmelden.php Datei auf Zeile 6.

    PS: Habe den code etwas abgekürzt da er viel zu lang wre sonst. Falls es nicht reichen solte, poste ich den kompletten Code noch.


    Und wenn ich mich ins Admincenter einloggen will, bleibt as Fenster nicht mehr gleich, sondern wechselt zur gleichen Fehlermeldung in Linie 18 in der admin index.php Datei.

    PS: Auch hier habe ich den code wieder abgekürzt, auf Anfrage, oder zum besseren Verständniss, kann ich auch den kompletten Code posten notfalls.

    Meine config.php Datei sieht nun folgender maßen aus..

    PS:In der Config stehen die richtigen Daten drinn, diese habe ich nur hier eben geändert.

    Die Zeile 2 - 4 habe ich in der Config hinzugefügt gehabt. Das hat nun den Erfolg das man sich auf der Webseite registrieren kann schonmal udn das das Admincenter mein Login auch akzeptiert. nur komme ich ins Admincenter nicht rein da er auf einer neuen Seite dann den Header Fehler anzeigt.


    Jemand ein Vorschlag ??

    Ich hasse den Fehler genauso wie viele anderen hier glaub ich ^^


    Gruß Ilthigore

  • Also, ich hasse den fehler nicht, weil mir das nicht passiert, und wenn doch, kenne ich die lösung. Ist nur schade, dass du es nicht schaffst, die komplette fehlermeldung zu posten, denn mit dieser verstümmelten fehlermeldung kann man nicht viel anfangen. Außerdem wird dir in der fehlermeldung deutlich gemacht, dass irgendwo (output startet....) schon etwas ausgegeben wird, was aber nicht sein darf.

    Code
    if(!empty($_GET)) extract($_GET); 
    if(!empty($_POST)) extract($_POST); 
    if(!empty($_COOKIE)) extract($_COOKIE);


    Das is der blanke horror! Wie kommt man nur auf so einen blödsinn?

  • Es tut mir wirklich sehr leid das nicht jeder ein php Held sein kann. Ich bin es nunmal nicht und muss mich halt mit meinen wenigen Kenntnissen durcharbeiten.

    und mit diesem blanken Horror , habe ich es zumindest geschafft das man sich registrieren kann und das das Admincenter mein Login akzeptiert.

    Die Fehlermeldung beim registrieren lautet...

    Code
    Warning: Cannot modify header information - headers already sent by (output started at /mnt/web8/13/13/51803513/htdocs/cashbringer/config/config.php:12) in /mnt/web8/13/13/51803513/htdocs/cashbringer/anmeldung.php on line 6

    Die Fehlermeldung auf der Admin Seite...

    Code
    Warning: Cannot modify header information - headers already sent by (output started at /mnt/web8/13/13/51803513/htdocs/cashbringer/config/config.php:12) in /mnt/web8/13/13/51803513/htdocs/cashbringer/admin/index.php on line 18


    Desweiteren würde ich es wünschen mich für meine wenigen Kenntnisse nicht noch runter zu machen. Ich mache mir im gegensatz zu anderen Php Anfängern sage ich mal, wenisgtens ein Kopf und habe wenigstens ein teilerfolg.

    Wenn der Code so scheiße ist, kann man das auch anders vermitteln oder zumindest sagen WAS daran so Scheiße ist. denke doch mal das es ein Hilfeforum ist. *angefressen ist*


    Gruß Ilthigore[/code]

  • Na siehst du, schon kann man damit was anfangen. Ich tippe mal, dass du am ende der config.php eine Leerzeile hast oder nach ?> ein leerzeichen.

    Und was daran sch*** ist? Damit verwurschtelt man seinen Quellcode! Da kannst du ja gleich wieder register_globals auf on stellen!

    Und es ist grauenhaft zu lesen, wenn man den Quellcode nicht ordentlich einrückt.

  • Also in der config ist kein Leerzeichen. Das hatte ich im Internet schon gefunden das es die meiste Fehlerquelle ist. Der Code steht zeile für zeile untendrunter. Ohne leerzeichen :(

    Was könnte ich denn für die drei Zeilen sonst noch einfügen damit es vlt besser wird, bzw der fehler dann weg geht.


    Gruß Ilthigore

  • Zitat

    output started at /mnt/web8/13/13/51803513/htdocs/cashbringer/config/config.php:12


    Da deine config.php laut posting nur 10 zeilen hat, steht da am ende garantiert eine leerzeile. Wie sollte PHP sind auf zeile 12 kommen. Und ich glaube php mehr als dir. Im zweifelsfalle schreibe die config.php nochmal komplett neu.

  • Ahja super. Und schon hab ich wieder was dazu gelernt. Es waren am ende des codes noch 2 leere Zeilen. Danach hatte ich natürlich nicht geguckt gehabt :(

    Es sieht so aus das nun alles funktioniert. Admincenter geht und bei der Registrierung ist der fehler auch nicht mehr.


    Ich danke dir auf jeden Fall mal für die Hilfe. Wollte dich eben auch nicht anfahren, aber ich habe mich doch echt angegriffen gefühlt gehabt, da ich mir ja schon ein Kopf mache und auch versuche die Fehler zu beseitigen.


    Gruß Ilthigore