Registrierscript verbessern und Loginscript

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Registrierscript verbessern und Loginscript

    Hallo :P

    Ich hab vor kurzem mein Registrierscript fertig bekommen und es funktioniert soweit einwandfrei. Nun hab ich mal versucht eine Überprüfung zu basteln wo die E-Mail Adresse und der Username überprüft werden ob sie schon existieren. Leider klappt das nicht so ganz und ich weiß im Moment nicht worans liegt Naja denk mal das ihr mir helfen könnt.

    Hier erstmal das Registrierscript:
    http://nopaste.biz/?9256

    Denk mal das das noch übersichtlich genug ist so das ich da noch keine Erklärungen abgeben muss was was ist :P

    Zu meinem Loginscript...irgendwie funktioniert es nur halb. Wenn ich E-Mail und Passwort eingebe dann komme ich ins Userpanel, allerdings steht da neben dem Test Text "Userpanel" noch das Loginscript was eigentlich nicht da sein sollte. Des Weiteren möchte ich dort gerne Cookies dabei haben weiß aber nicht genau wie ich das mache. Mein eigentliches Problem bei solchen Scripten ist die Reihenfolge was zuerst kommt und dann als nächstes. Vielleicht könnt ihr mir da helfen und genau erklären wie das mit Cookies funktioniert. Bitte kein php.net Verlinkungen da die überhaupt nichts bringen. Dort sind die Sachen so erklärt das das nur ein hoch Gelehrter das versteht und da schmeißen die noch mit irgendwelchen groß Fachwörtern um sich... Naja denk mal hier ist das anders

    Hier das Loginscript, soweit ich das hab:
    http://nopaste.biz/?9257


    Achja wie bekomme ich generell solche Fehler wie:


    Notice: Undefined variable: data in D:\Program Files\xampp\htdocs\lion\login\index.php on line 32

    Notice: Undefined variable: pass in D:\Program Files\xampp\htdocs\lion\login\index.php on line 32

    weg?

    Danke schon mal im voraus für die Hilfe

  • #2
    Warum postest du nicht einfach mal den relevanten code samt erklärung hier?

    und wie du die fehler generell wegbekommst, erfähst du am einfachsten, wenn du die fehler mal in ne SuMa oder SuFu deiner Wahl eingibst.

    Kommentar


    • #3
      Re: Registrierscript verbessern und Loginscript

      Original geschrieben von Lion.BeN
      Vielleicht könnt ihr mir da helfen und genau erklären wie das mit Cookies funktioniert.
      Cookie setzen: setcookie(), Cookie auslesen: $_COOKIE
      Bitte kein php.net Verlinkungen da die überhaupt nichts bringen. Dort sind die Sachen so erklärt das das nur ein hoch Gelehrter das versteht und da schmeißen die noch mit irgendwelchen groß Fachwörtern um sich... Naja denk mal hier ist das anders
      Träum weiter ...

      Das Manual erklärt die Funktionen so, dass ein durchschnittlich intelligentes Individuum das durchaus begreifen kann.

      Hier alles noch mal vorzukauen, dazu dürfte kaum jemand Lust haben.

      Wenn du's nicht schnallst, dann such dir halt ein Tutorial o.ä.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        PHP-Code:
        if(isset($_POST['Login']) && isset($_POST['email']) && isset($_POST['password'])) { 
        //dann starte die Verarbeitung 
        könnte ja sein dass jemand nur auf den Button klickt und keine Daten eingibt. Dann versuchst du auf Felder des Forms zuzugreifen die nicht ausgefüllt wurden. Prüfe besser immer zuerst ob alle benötigten Felder belegt sind und erst dann startest du die Verarbeitung

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Dann versuchst du auf Felder des Forms zuzugreifen die nicht ausgefüllt wurden.
          Also mir kämen sofort 1000 Dinge in den Sinn die 1000 mal schlimmer sind.

          Aber du grad den code Zitierst: JA, isset akzeptiert auch mehrere Parameter, aber dafür müsste man mal wieder das Manual lesen.

          Kommentar


          • #6
            ist ja gut nicht gleich so aggro werden nur manchmal kommen da texte im manual T_T... egal ich werd mir das halt reinziehen und das mit den cookies wann genau muss ich die setzen und was mit in den cookies? cookie() ist ja wohl net wirklich das einzigste was man da machen muss oder?

            und das mit dem isset irgendwie scheint das nicht ganz zu funktionieren weil der fehler immernoch da ist :X
            Zuletzt geändert von Lion.BeN; 03.11.2006, 19:52.

            Kommentar


            • #7
              Original geschrieben von Lion.BeN
              und das mit den cookies wann genau muss ich die setzen und was mit in den cookies? cookie() ist ja wohl net wirklich das einzigste was man da machen muss oder?
              Manual aufmerksam lesen, ausprobieren, dazulernen.

              Und was soll die Frage was drin ist in so einem Cookie? Das, was du reinschreibst natürlich!
              Was da sinnvoll sein könnte, solltest du dir vielleicht erst mal überlegen ...?
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                So hab mal ein bisschen rumgebastelt und nun folgendes:


                http://nopaste.biz/?9300

                Das Problem immo ist nur das er das Cookie anscheinend nicht setzt und leider weiß ich nicht woran es liegt.

                Kommentar


                • #9
                  was heißt "anscheinend"`? isses da oder nich? haste Cookies in deinem testbrowser auch aktiviert?


                  btw.
                  setcookie("logged", "".$ds['email']."", time()+3600);

                  anstatt "".$ds['email']."" kannste au einfach $ds['email'] schreiben
                  PHP Forum
                  Sessions in PHP
                  Loginsystem mit PHP erstellen

                  Kommentar


                  • #10
                    PHP-Code:
                       $query=mysql_query("SELECT email, password FROM `users` WHERE
                     email='
                    $email' AND password='$pass'")
                     or die(
                    "Fehler: ".mysql_error()); // ... dann erfolgt der Query zur Datenbank... 
                        
                    $array=mysql_fetch_array($query); 
                         
                            if(
                    $pass == $array['password']) 
                    // ... wenn das Passwort mit dem aus der Datenbank übereinstimmt dann ... 
                             
                            
                    setcookie("logged""".$ds['email'].""time()+3600);
                     
                    // ... setze ein Cookie mit dem Inhalt logged und der E-Mail Adresse... 
                        

                    man kann also einfach manuell ein cookie setzen (mit beliebigem timeout und e-mail) und ist damit bei dir eingeloggt.
                    das nenne ich benutzerfreundlich

                    Kommentar


                    • #11
                      ja ihr könnt mir doch mal helfen und mir sagen worans liegen könnte das das cookie nicht gesetzt wird. und wie man testet ob ein cookie gesetzt wurde weiß ich garnet x_X... 3dmax kann sein aber dann könntest du mir ja auch ne lösung vorschlagen wie man das ganze umgehen könnte.

                      bzw. hab grad nen fehler gefunden... das kann ja garnet $ds['email'] heißen sondern muss $array['email']; heißen..

                      Kommentar


                      • #12
                        Original geschrieben von Lion.BeN
                        3dmax kann sein aber dann könntest du mir ja auch ne lösung vorschlagen wie man das ganze umgehen könnte.
                        sessions benutzen, dann musst du dich auch nicht um cookies kümmern, das erledigt die session schon für dich.

                        einen link verkneife ich mir:
                        Bitte kein php.net Verlinkungen da die überhaupt nichts bringen.

                        Kommentar


                        • #13
                          man ist ja gut aber manchmal sind da schon echt sätze die schon schwierig für nen anfänger sind aber ist nun auch egal (wenn ich ein hab schrieb ich ihn hier rein ). tut ja nun auch nichts zur sache ic hdenke mal du willst mich auf die suchfunktion von php.net aufmerksam machen wo ich nach session suchen soll richtig :P? nun gut ich werd mal schaun...

                          Kommentar


                          • #14
                            So also ich hab jetzt das mit den Sessions mal ausprobiert und es scheint wohl zu funktionieren (Warum keine Ahnung) auf jedenfall schickt er mir nicht mehr die Fehlermeldung mit "Error" sondern leitet weiter ohne eine Nachricht (Was er auch bei der Überprüfung ob das Cookie gesetzt wurde oder nicht machen sollte)

                            http://nopaste.biz/?9321 - Da ist mein jetziger Code

                            Leider wenn er weitergeleitet hat zeigt er nicht das Userpanel an

                            http://nopaste.biz/?9322

                            Könnt ihr mir sagen woran es liegen könnte?

                            Ok ich habs schon es lag an dem "!" bei if(!isset($_COOKIE['logged']))

                            JAAAAAA NUN SCHEINT alles zu funktionieren danke euch
                            Zuletzt geändert von Lion.BeN; 06.11.2006, 15:42.

                            Kommentar


                            • #15
                              hm leider zu früh gefreut. zwar geht alles aber anscheinend hat kein cookie gesetzt sondern irgendwas anderes, denn ich hab einmal mit der url http://127.0.0.1/, http://localhost und einmal mit firefox die seite getestet und überall zeigt er an das ich eingeloggt bin was ja irgendwie nicht sein kann. auch hab ich das einmal getestet indem ich einfach alle cookies gelöscht habe und das ergebnis war das ich immer noch eingeloggt bin weiß da einer den fehler?

                              Kommentar

                              Lädt...
                              X