Varieabeln vergleichen

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

  • Varieabeln vergleichen

    Hi,

    ich versuche mir eine Anmeldung zu schreiben. Die Daten werden in einer Datenbanken gespeichert. Nun mein Problem liegt nicht beim Abfragen oder so, sondern beim Vergleichen. Im Moment können sich mehere User mit dem selben Nick reggen.
    Ich lese mir die Namen mit: while ($daten = mysql_fetch_array($ergebnis)) in den Array nur wie kann ich nur den einen Namen rausfiltern und vergleichen lassen ?????
    Kann mir da mal einer einen Tip geben

    Wäre sehr nett
    Mfg Frosty
    My New Projekt: P²Board
    Designer im Team gesucht !

  • #2
    Hm?

    Wie soll der Passwortvergleich funktionieren, wenn mehrere User mit dem selben Nick in der Datenbank sind??? (nur Neugierig

    Zur Frage: lass einfach das while() weg:
    $daten = mysql_fetch_row($ergebnis)
    Dann kannst Du mit $daten weiterarbeiten wie gehabt

    Kommentar


    • #3
      ich kann Pekka da nur zustimmen ....
      ich empfehle dir eine ID Spalte hinzuzufügen ... der LogIn sollte dann mit ID und PWD laufen. Die ID kannst du automatisch erstellen lassen ...

      mfg
      schmalle
      h.a.n.d.
      Schmalle

      http://impressed.by
      http://blog.schmalenberger.it



      Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
      ... nur ohne :-)

      Kommentar


      • #4
        Hi, sorry ein bisserl spät

        Also das Problem habe ich jetzt erst mal zum Teil gelöst. Der User kann nun sich nicht mehr einen Nick aussuchen sondern erhält eine 10 stellige ID Nummer die vom Server generiert wird. Damit habe ich auch gleichzeitig eine Doppel-Anmeldung behoben (war aber nicht so geplant). Naja den Passwort vergleich habe ich dann auch behoben in dem ich die User-ID in der Datenbank anspreche und das dazugehöhrige Passwort raushohle und vergleiche (if ($pass == "$daten[pass]") ).

        Nur so wollte ich es eigentlich nicht haben. Hat irgendeiner eine Lösung wie ich das verhindern kann das sich nicht mehere mit dem selben User-Namen anmelden können ??
        Ich find´s halt besser wenn man die User mit dem Namen ansprechen kann und nicht nur mit einer ID ??

        Danke für die erste Hilfe
        (Hier hab ich weningstens eine Antwort bekommen)

        Mfg Frosty
        My New Projekt: P²Board
        Designer im Team gesucht !

        Kommentar


        • #5
          Einmalige User-ID

          Häng bei der Anmeldung einfach einen Schritt dazwischen, der überprüft, ob der nick bereits benutzt wird:

          $abfrage = mysql_query("select * from benutzer where nick = '$nick'");
          if (mysql_num_rows($abfrage) > 0)
          die ("Der Benutzername wurde bereits vergeben! Bitte einen anderen probieren.");

          Kommentar


          • #6
            Jo gute Itze das werde ich dann mal ausprobieren

            THX
            Mfg Frosty

            Nachtrag: Super funktioniert THX

            [Editiert von Frosty am 11-06-2001 um 07:22]
            My New Projekt: P²Board
            Designer im Team gesucht !

            Kommentar


            • #7
              habt ihr da auch an Case-Sensitiv gedacht ????
              mysql und der vergleich 2er variablen durch == ist Case-Sensitiv.
              da brauchste doch eher etwas was Case-Insensitiv vergleicht.

              gruss nik

              Kommentar


              • #8
                Case insensitiv geht's mit int strncasecmp ( string str1, string str2, int len)

                Der Datenbank ist's allerdings egal wenn Du 'nen Varchar verwendest ... ich würde auf jeden Fall 'nen UNIQUE Index auf die Tabelle (nick) legen ... macht auch gleich das "select * from benutzer where nick = '$nick'" schneller ... !
                carpe noctem

                [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                Kommentar


                • #9
                  klappt das nicht auch ganz einfach mit:
                  eregi($var1,$var2) ?????
                  ist doch auch Case Insensitiv ))
                  ich mein, solange es nur ums vergleichen von 2 variablen geht.
                  vieleicht liegts auch daran das ich das gerade da oben nicht richtig verstanden habe

                  mfg nik
                  Zuletzt geändert von niknormal; 03.10.2002, 21:41.

                  Kommentar


                  • #10
                    oder in mysql:
                    select LCASE(user) as usercase where usercase=LCASE('$user')

                    meine Projekte bestaunen: http://www.kleiza.de

                    Kommentar


                    • #11
                      eregi sucht in einer Zeichenkette nach einem Suchmuster ... (Pattern) ... und das ist nicht nur fehl am Platz sondern auch extrem viel langsamer ... !
                      carpe noctem

                      [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                      [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                      Kommentar


                      • #12
                        strtolower(string); ist da mit sicherheit besser.
                        meine Projekte bestaunen: http://www.kleiza.de

                        Kommentar


                        • #13
                          Mmm... ich habe das hier nicht ganz verstanden...
                          Also ich erklär hier nochmal was ich genau will:

                          Ich habe eine Tabelle da stehen die User mit ihrem Nickname, ihrer ID und ihrem Passwort drin. So... Der Nickname berücksichtigt Gross Kleinschreibweise, Sprich: So wie der user den nickname bei der anmeldung getipt hat wird er gespeichert und das soll auch so bleiben.

                          So. da ich vermeiden will das sich die User per ID anmelden, was ohnegleichen die einfachste sache wäre da sie nur aus Zahlen besteht, muss ich mit SQL natürlich nach dem nickname suchen lassen.

                          Der User braucht aber bei seinem Login nicht auf die G/K Schreibweise achten sondern kann seinen nick wie auch immer, gross klein, eintippen. Jetzt ist nur die Frage ob ich per Query direkt CaseInsensitiv suchen lassen kann?!?!?! Eine möglichkeit wäre ja auch alle Nicknames auslesen zu lassen. dann den eingegebenen und die in der datenbank gefundenen namen per strtolower() o.ä. zu verkleinern(!!!) und dann per == oder switch ($datenbanknamen) { case "$eingabename": blabla break;}zu vergleichen. Find ich nur bisschen umständlich.

                          Ach ja.. ich tip gern.

                          gruss nik

                          Kommentar


                          • #14
                            Das ist bei der MySQL beispielsweise abhängig von Attribut-Type ... ein VARCHAR-Feld beispielsweise ist bei der Suche case-in-sensitiv.
                            carpe noctem

                            [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                            [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                            Kommentar


                            • #15
                              Gut, damit stösst du mich jetzt unweigerlich auf ein gebiet mit dem ich mich noch nicht wirklich beschäftigt habe.

                              Ich glaub ich such mal nach den bedeutungen der Spaltentypen und meld mich insofern ich das nicht gefunden habe nochmal

                              Danke soweit. Gruss nik

                              Kommentar

                              Lädt...
                              X