PHP/MYSQL Problem

  • Dateien sind mittlerweile weiter unten

    2 Mal editiert, zuletzt von Kämpfer (23. Oktober 2009 um 14:48)

  • Das Registrierungsformular:
    1. activate.php



    connect.php

    PHP
    <?php
     mysql_connect("db45321", "web55", "pwd") or die(mysql_error()); 
     mysql_select_db("usr_web55_1") or die(mysql_error());
    ?>




    login.php




    reg.php





    Und noch eine tabelle.sql. Aber mit der komme ich klar, einfach hochladen und gut isses:D.

    Mein Problem am ganzen Code ist nun, das da zweimal login ist und ich es nicht korrekt zusammenfügen kann, einen Login entfernen.

  • Alle zeichen wären 26900 gewesen, leider war es mir nur möglich 20000 maximal zu posten. So sehen teile der Dateien jetzt unvollständig aus, aber sind im Orginal korrekt

  • Was mir wichtig ist an diesem Hilfethread!


    1. Eine Datenbankanbindung gemeinsam für Anmelden und Login, User müssen ja nach Registrierung aus der DB abgefragt werden.

    2. Ein Login statt 2

    Das wars auch schon, könnt ihr mir ne Anregung geben, was ich für teile des scriptes in die tonne hauen soll und welche verwendet werden sollten, alle Codes sind vollständig, ausser die reg.php ( dort habe ich nur die langen geburtstagsabfragen (option, select) ) entfernt, weil der Beitrag zu lang war.

  • Wieso willst du das Login-Script aus dem ersten Post mit dem Registrierungsscript verknüpfen? Das Registrierungsscript hat doch auch ein Login? Den Login wirste warscheinlich noch anpassen müssen, lies dir die Kommentare mal durch.

    Falls du wirklich Script 1 mit Script 2 verbinden willst, musste warscheinlich Script 1 (Login Script aus dem ersten Post anpassen) auf die MySQL Tabelle vom zweiten Script.

    Das wärs.

    Gruß crAzywuLf :D

    2 Mal editiert, zuletzt von crAzywuLf (21. Oktober 2009 um 17:57)

  • Na was heisst verbinden, wenn es einen login gibt, dann muss man sich ja auch irgendwie registrieren können. Denn sonst kann ich mich einloggen aber bringt es das.

  • Pack das erste Script bei Seite...
    Geh in die Datenbank und prüf nochmal ob die SQL Tabelle vom zweiten Script drin hast. Dann müssteste dich über die reg.php registrieren und über die login.php einloggen können.

    Gruß crAzywuLf :D

  • Aber beim zweiten hat es kein Logout , den möchte ich auch gerne bei meiner Seite haben

  • Oh mein Kopf brummt, wenn ich nur wüsste wie ich es anstelle. Kann mir jemand helfen bitte? Das ist det einzigste wo ich nicht weiterkomme:confused:

  • Hallo es tut mir leid wenn ich etwas verägert war. Ich braquche einfach mal den dringenden Tipp der mir noch fehlt.

    Versuche jetzt im ersten Schritt nur den Userlogin einzubinden.
    Alle Dateien: admin.php / config.inc.php / function.inc.php / login.php / main.php / table_create.php

    admin.php



    confic.inc.php

    PHP
    <?php
    $sqlhost ="root";//mysql hostname
    $sqluser ="name";//mysql benutzername
    $sqlpw ="pwd";//mysql passwort
    $sqldb ="datenbankname";//datenbank name
    ?>



    function.inc.php



    login.inc.php




    login.php



    main.php

    PHP
    <?php
    //datenbankverbindung erstellen
    $sqlbefehl = mysql_connect($sqlhost,$sqluser,$sqlpw)or die(mysql_error()."Es konnte keine Verbindung hergestellt werden");
    //datenbank suchen mit der gearbeitet werden soll
    mysql_select_db($sqldb,$sqlbefehl)or die(mysql_error()."Keine Datenbank gefunden");
    ?>



    table_create.php




    ich bitte euch mir diesmal auch wirklich mal zu helfen.

    Ich habe alle dateien die oben gepostet sind, angepasst(Datenbankverbindung vorhanden und korrekte daten. Tabelle ist auch erstellt.)


    nun sind alle im ordner namens user, wie im Tutorail beschrieben.

    Wenn ich jetzt in meine startseite start.inc.php im login div

    PHP
    <?php include ('user/login.php'); ?>



    reinschreibe, dann verschwinden alle div container vom Bildschirm, nur der login div bleibt da aber der login ist nicht zu sehen.

    Aktuell seht ihr das Ergebnis hier

  • Der HTML-Code, den der Browser bekommt, besteht nur aus 39 Zeilen, an irgendeiner Stelle bricht das Script zusammen. Da hilft nur:

    Richtig debuggen
    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: 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.



  • ich habe deinen coolen Post zu PHP Problemen schon in anderen beiträgen gesehen
    :D

    ich habe die zeile error_reporting(E_ALL); und ini_set("display_errors", true);
    in alle dateien eingefügt, angezeigt wurde nichts. daher habe ich die Fehlermeldungsausgabe wieder entfernt.

    Die datei, die nur 39 zeichen sendet, ist folgende:



    Ab Punkt 4 deiner fehler suche , habe ich längst nicht so viele php kenntnisse um das durchzuführen. Aber danke schon mal für deinen Hinweiß das nur 39 zeichen übergeben werden

  • Das error_reporting solltest du solange, bis das Script funktioniert, auf jeden Fall drin lassen!

    Zitat

    Ab Punkt 4 deiner fehler suche , habe ich längst nicht so viele php kenntnisse um das durchzuführen.


    Hallo??? Du wirst doch wohl an wichtigen Stellen z.B. ein echo "In Login"; einbauen oder dir per echo ein paar Variablen ausgeben können. Wenn du das nicht kannst, dann solltest du die Grundlagen lernen, denn echo ist ja wohl nichts schwieriges.

    Zitat

    Aber danke schon mal für deinen Hinweiß das nur 39 zeichen übergeben werden


    Das hättest du selbst herausfinden können. Und ich Zeilen, nicht Zeichen geschrieben.

  • Das error_reporting solltest du solange, bis das Script funktioniert, auf jeden Fall drin lassen!

    Hallo??? Du wirst doch wohl an wichtigen Stellen z.B. ein echo "In Login"; einbauen oder dir per echo ein paar Variablen ausgeben können. Wenn du das nicht kannst, dann solltest du die Grundlagen lernen, denn echo ist ja wohl nichts schwieriges.

    Das hättest du selbst herausfinden können. Und ich Zeilen, nicht Zeichen geschrieben.



    @bandit600 du kannst das weiß hier jeder, aber wenn du mir nur irgendwelche sachen an den Kopf knallst, wird das wohl nichts. Du wirfst bestimmt einen blick auf die scripte(sind ja nicht allzu lang) und weiß wo das problem ist. das lustige ist der tysp der das eerstellt hat weiß auch keinen rat, bei ihm funktionierts. bei mir nicht.

    echo irgendwo einzubauen, kann ich bestimmt. nur wofür? ich finde mich ja jetzt kaum zurecht wie soll ich noch mehr einbauen.

  • wenn du mir nur irgendwelche sachen an den Kopf knallst, wird das wohl nichts.


    Was hat das mit "an den Kopf knallst" zu tun??? So ein paar sch... echo's sind doch wohl kein Problem!


    Du wirfst bestimmt einen blick auf die scripte(sind ja nicht allzu lang) und weiß wo das problem ist.


    Nein, mal eben erkenne ich das nicht. Ich müsste auch debuggen, aber warum soll ich deine Arbeit machen?


    echo irgendwo einzubauen, kann ich bestimmt. nur wofür?


    Wofür? Damit du siehst, an welche Stellen das Script kommt und an welche nicht. Verdammt noch mal, jetzt haue ein paar echo's rein, zeige mal etwas Eigeninitiative. Ich werde das nicht für dich debuggen. Hilfe zur Selbsthilfe, ja, gerne. Aber nicht deine Arbeit machen!

  • Hast du sie nicht mehr alle? Schon zu oft Laptops zerstört? Nee, nee, nee, Trolle gibt's. :( Kopfschüttel :(