Usermanagement

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

  • #61
    Beim Registrieren wollte ich vorerst ne IP-Sperre einbauen, doch ich finde es sinnvoller einen eMailcheck zu machen. Damit möglichst keine Doppelaccounts erstellt werden. Hierfür habe ich diesen Code:

    PHP-Code:
            $result mysql_query("SELECT COUNT(*) as nums FROM $user_tname WHERE email='$email'");
             
    $cache mysql_fetch_array($result);
             
    $num_rows $cache[nums];

            if (
    $nickname == "") {

            echo 
    "<table width='100%' border='0' cellspacing='4' cellpadding='0'>
              <tr><td><div align='center'><b>Die Registrierung war nicht erfolgreich</b></div></td></tr>
              <tr><td><div align='center'>Bitte gebe deinen Nicknamen an.</div>
            </td></tr></table>"
    ; }

            elseif (!
    eregi('^[A-Z]+(-?.?[0-9A-Z]+)+@{1}([0-9A-Z-]+.{1})+([A-Z]{2,4})$',$email)) {

            echo 
    "<table width='100%' border='0' cellspacing='4' cellpadding='0'>
              <tr><td><div align='center'><b>Die Registrierung war nicht erfolgreich</b></div></td></tr>
              <tr><td><div align='center'>Bitte gebe deine korrekte eMail Adresse an.</div>
            </td></tr></table>"
    ; }

            elseif (
    $num_rows == "0") {

            echo 
    "<table width='100%' border='0' cellspacing='4' cellpadding='0'>
              <tr><td><div align='center'><b>Die Registrierung war nicht erfolgreich</b></div></td></tr>
              <tr><td><div align='center'>Die angegebene eMail Adresse ist bereits vergeben.</div>
            </td></tr></table>"
    ; } 
    Dieser Code funktioniert aber nicht, obwohl doch eigentlich alle in der Tabelle vorhandenen eMails gecheckt werden sollten... ?
    Zuletzt geändert von jOhnny knOx; 01.06.2003, 17:42.

    Kommentar


    • #62
      Original geschrieben von jOhnny knOx
      PHP-Code:
      $result mysql_query("SELECT COUNT(*) as nums FROM $user_tname WHERE email='$email'");
      $cache mysql_fetch_array($result);
      $num_rows $cache[nums];
      elseif (
      $num_rows == "0") {
              echo 
      "<table width='100%' border='0' cellspacing='4' cellpadding='0'>
                <tr><td><div align='center'><b>Die Registrierung war nicht erfolgreich</b></div></td></tr>
                <tr><td><div align='center'>Die angegebene eMail Adresse ist bereits vergeben.</div>
              </td></tr></table>"
      ; } 
      wenn es die mail-adresse noch nich gibt, kriegst du was für ne zahl geliefert?
      EDIT:
      könntest auch, wenn du wolltest auf die mail-spalte ein unique legen
      Zuletzt geändert von mrhappiness; 01.06.2003, 18:59.
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #63
        0 denke ich ...

        Kommentar


        • #64
          richtig

          und warum sagst du dem benutzer bei 0 dann, dass es die mail-adresse schon gibt?
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #65
            Achja,
            PHP-Code:
            if ($num_rows != "0"){ ... 
            Danke..

            Kommentar


            • #66
              Original geschrieben von jOhnny knOx
              Danke..
              bitte...
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #67
                Ja, ich weiß das war sehr unüberlegt und dumm, aber der Fehler kommt sicher nicht mehr vor. Das mit der "0" als Fehlresult hab ich mir nun wirklich eingeprägt.

                Zum Eigentlichen wollte ich nun kommen, undzwar zum Login. Dieser sieht so aus:

                PHP-Code:
                session_register('username');

                echo 
                "<table width='100%' border='0' cellspacing='4' cellpadding='0'>
                <tr><td><div align='center'><b>Der Login war erfolgreich</b></div></td></tr>
                <tr><td><div align='center'>Du wurdest erfolgreich eingeloggt "
                .$_SESSION['user'].".</div></td></tr></table>"
                Nun soll der User zu seinem eigenem Editierbereich wo er seine Benutzerdetails ändern kann. Dafür benutze ich ...


                PHP-Code:
                if ($_GET['action']=='user' and $_GET['site'] and isset($_GET['id'])) { 
                Doch wie kann ich den Eingeloggten User dahinlinken, bzw. wie kann ich die ID bestimmten ? Und wie ist das nun mit der Berechtigung, kann dann nicht irgendwie jeder Eingeloggte User einen anderen Editierbereich von anderen Usern editieren oder wie wird das geschützt/gemacht ? Verstehe das nicht so ganz von der Logik her ...

                Kommentar


                • #68
                  die id kannst du doch per SELECT auslesen
                  Code:
                  SELECT COUNT(*),id FROM ...
                  (die anweisung kennst du noch oder?)

                  wenn du die id hast kannst du denn user ja überall identifizieren (einfach die id auch noch in der session-speichern)
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #69
                    Okay, danke. Wie setze ich eigentlich die Sessions für immer ? Also, dass der jeweilige User sofort eingeloggt ist nach einem Neustart ?

                    Kommentar


                    • #70
                      gar nicht

                      du setzt ein cookie und probierst ein login anhand der daten darin, wenn das klappt startest du ne neue session
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #71
                        Das $ (Dollarzeichen) darf ja garnicht in session_register(); drin stehen, wie kann ich denn die $user[id] aus dem SELECT in die Session setzen ?

                        Kommentar


                        • #72
                          PHP-Code:
                          $_SESSION['user_id']=$user['id']; 
                          so verdammt nochmal
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #73
                            Da kriege ich aber den Fehler:

                            Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING ...

                            Kommentar


                            • #74
                              in welcher zeile?
                              skript?
                              code?
                              glaskugel?
                              Ich denke, also bin ich. - Einige sind trotzdem...

                              Kommentar


                              • #75
                                Original geschrieben von mrhappiness
                                glaskugel?
                                In meiner Glaskugel seh ich einen schwarzen Punkt aber das ist glaube ich nur eine Fliege

                                @Johnny: Ungenaue Angaben führen zu sinnlosem BlaBlaBla
                                [color=blue]MfG Payne_of_Death[/color]

                                [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
                                [color=red]Merke:[/color]
                                [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

                                Murphy`s Importanst LAWS
                                Jede Lösung bringt nur neue Probleme
                                Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
                                In jedem kleinen Problem steckt ein großes, das gern raus moechte.

                                Kommentar

                                Lädt...
                                X