Ankündigung

Einklappen
Keine Ankündigung bisher.

User verwaltung

Einklappen

Neue Werbung 2019

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

  • User verwaltung

    Hallo allerseits,

    ich bin grade dabei mir eine kleine community zu schreiben und wollte mal wissen, ob und wie ich das am besten lösen kann die user zu verwalten.
    Mir fällt nicht ein wie ich das machen könnte, ich hab überlegt ob für jeden user eine neue seite angelegt wird falls das geht, das dann zb. so wäre http://lawl.de/ich/ oder http://lawl.de/du/ so in etwa ?! Hat da jmd ne top idee?

    Thx

  • #2
    Zitat von Fnatix Beitrag anzeigen
    ich bin grade dabei mir eine kleine community zu schreiben
    Wie schreibt man eine Gemeinschaft?
    Zitat von Fnatix Beitrag anzeigen
    ich hab überlegt ob für jeden user eine neue seite angelegt wird falls das geht, das dann zb. so wäre http://lawl.de/ich/ oder http://lawl.de/du/ so in etwa ?!
    Find ich eine gute Idee. Dann hast du irgendwann 7'642 Seiten, die du alle manuell betreuen darfst.
    Wozu gibt es denn Datenbanken?
    Zitat von Fnatix Beitrag anzeigen
    Hat da jmd ne top idee?
    Ich habe nur Top Ideen

    Sorry, für die etwas zynischen Antworten, aber mehr fällt mir bei dieser nicht gerade informativen Fragestellung auch nicht ein.
    Gruss
    L

    Kommentar


    • #3
      ich benutz mysql...

      die user sollen ihr profil bearbeiten könn und ich wollte wissen wie man sowas am besten realisieren kann..
      also möchte ich erstmal wissen, wie ich das anstelle das jeder user sein eigenes profil hat das er dann bearbeiten kann. wenn du nur top ideen hast dann hau raus.

      Kommentar


      • #4
        Ich nehm jetzt mal an, da gibt es eine Tabelle USER und für jeden Benutzer gibt es darin eine Zeile mit seinen Daten. Ich habe natürlich keine Ahnung, was du alles speichern willst. Möglicherweise brauchst du auch mehr als eine Tabelle. Aber wie gesagt, es fehlen hier sowohl genügend Informationen, als auch deine konkreten Ansätze.
        Und wenn die User ihre Daten selber verwalten sollen, brauchst du auch ein Login-System. Schau dir dieses mal an, und wenn du dann konkrete Fragen hast, kannst du dich wieder melden.
        Gruss
        L

        Kommentar


        • #5
          PHP-Code:
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
          "http://www.w3.org/TR/html4/loose.dtd">
          <?php
            
          //include('inc/head.php');
            
          include('inc/mysql.inc.php');
          ?>
          <link rel="shortcut icon" type="image/x-icon" href="img/nav.gif" />
          <title>~Anmeldung~</title>

          <br> <br> 
          <h1><span style="padding-left:30px">Anmeldung</span></h1> <br>
          <?php

          if (isset($_POST['submit'])) {

          if (!
          $_POST['username'] | !$_POST['pass'] | !$_POST['pass2'] | !$_POST['mail'] ) {
          die(
          'Du hast nicht alle ben&ouml;tigten Felder ausgef&uuml;llt!');
          }

          $_POST['username'] = addslashes($_POST['username']);

          $usercheck $_POST['username'];
          $check mysql_query("SELECT username FROM users WHERE username = '$usercheck'")
          or die(
          mysql_error());
          $check2 mysql_num_rows($check);

          if (
          $check2 != 0) {
          die(
          'Sorry, aber der Name '.$_POST['username'].' ist schon vergeben.');
          }

          if (
          $_POST['pass'] != $_POST['pass2']) {
          die(
          'Dein Passwort ist nicht gleich. ');
          }

          $_POST['pass'] = md5($_POST['pass']);
          $_POST['pass'] = addslashes($_POST['pass']);
          $_POST['username'] = addslashes($_POST['username']);

          $insert "INSERT INTO users (username, password, mail)
          VALUES ('"
          .$_POST['username']."', '".$_POST['pass']."', '".$_POST['mail']."')";
          $add_member mysql_query($insert);
          ?>


          <p>Angemeldet !&nbsp; <img src="img/smily_freu.gif" alt=""></p> <br>
          <p>Danke, du hast dich erfolgreich registriert - du kannst dich jetzt <a href="index.php" title="">einloggen</a>.</p>
          <?php
          }
          else
          {
          ?>


          <form action="add" method="post">
          <table border="0" border style="padding-left:30px">
          <tr><td>Username:*</td><td>
          <input type="text" name="username" maxlength="60">
          </td></tr>
          <tr><td>Password:*</td><td>
          <input type="password" name="pass" maxlength="20">
          </td></tr>
          <tr><td>Wiederhole Password:*</td><td>
          <input type="password" name="pass2" maxlength="20">
          </td></tr>
          <tr><td>E-Mail:*</td><td>
          <input type="text" name="mail" maxlength="60">
          </td></tr>
          <tr><th colspan=5 style="padding-left:150px";> <br> <input type="submit" name="submit" value="Register">&nbsp;&nbsp;<input type="button" name="back" value="Zurück" onClick="window.location='index'"></th></tr> </table>
          <span style="padding-left:30px"><font size="-2">&nbsp;(*required)</font>

          </form>

          <?php
          }
          ?>
          das is mein anmelde script und login script hab ich auch...
          ja ich hab ne tabelle users in die erstmal name, pw und mail geschrieben wird, halt das was man mit dem anmelde script sendet... für die profile der einzelnen user wollte ich eine neue tabelle anlegen wo sie dann alles möglich andere eintragen könn so wie alter wohnort usw. wie kann ich nun also die user so verwalten, das sie ein eigenes profil haben wo andere user drauf können und nachrichten schreiben können.. so wie in so ziemlich jeder anderen community auch.. so wie hier jeder user ein eigenes profil hat, das er bearbeiten kann und was andere sich ansehen können.

          Kommentar


          • #6
            Naja so schwer ist das doch nicht.

            Du brauchst ein Skript dass ein Profil anzeigt, eines das ein Profil bearbeiten kann.

            Das zum Profil anzeigen erwartet eben eine Variable z.B. den Username oder die UserID. Also "profil.php?user_id=4492". Anhand dieser ID kannst du alle Daten auslesen und anzeigen lassen.
            Und zum bearbeiten musst du eben in das Formular die Daten lesen die dem User gehören der eingeloggt ist. Dafür musst du dein Loginsystem umschreiben auf Sessions damit auch in allen anderen Skripten der User als eingeloggt gilt. Du speicherst also nach dem Login die UserID in die Session. Wenn du dann auf profil_editieren.php gehst kannst du das Formular anhand der Daten die der UserID in der Session gehören.

            Kommentar


            • #7
              profil.php?user_id=4492 und wie macht man sowas? ich hab keine ahnung wie man die user_id=4492 oder halt ähnlich dahinter bekommt.

              mein login script ist momentan noch ohne sessions..
              PHP-Code:
              <?php
              include('inc/mysql.inc.php');

              if(isset(
              $_COOKIE['ID_my_site']))

              {
              $username $_COOKIE['ID_my_site'];
              $pass $_COOKIE['Key_my_site'];
              $check mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());
              while(
              $info mysql_fetch_array$check ))
              {
              if (
              $pass != $info['password'])
              {
              }
              else

              //header("Location: index");
              }
              }
              }

              if (isset(
              $_POST['submit'])) {

              if(!
              $_POST['username'] | !$_POST['pass']) {
              die(
              'Sorry, aber du hast nicht alle erforderlichen Felder ausge&uuml;llt.');
              }

              $_POST['email'] = addslashes($_POST['email']);
              $check mysql_query("SELECT * FROM users WHERE username = '".$_POST['username']."'")or die(mysql_error());

              $check2 mysql_num_rows($check);
              if (
              $check2 == 0) {
              die(
              'Sorry, aber dieser user existiert nicht in der Datenbank. klick<a href=add><b> hier </b> </a>zum anmelden.');
              }
              while(
              $info mysql_fetch_array$check ))
              {
              $_POST['pass'] = stripslashes($_POST['pass']);
              $info['password'] = stripslashes($info['password']);
              $_POST['pass'] = md5($_POST['pass']);

              if (
              $_POST['pass'] != $info['password']) {
              die(
              'Falsches Passwort, versuchs nochmal.');
              }
              else
              {

              $_POST['username'] = stripslashes($_POST['username']);
              $hour time() + 3600;
              setcookie(ID_my_site$_POST['username'], $hour);
              setcookie(Key_my_site$_POST['pass'], $hour);

              header("Location: members");
              }
              }
              }

              ?>
              habs mal mit sessions versucht aber nich hinbekommen..

              Kommentar


              • #8
                Was ist jetzt deine Frage? Dein Script scheint ja, trotz eniger Unschönheiten, zu funktionieren. Und eine Benutzertabelle hast du ja auch. Wahrscheinlich musst du diese etwas erweitern. Aber wo ist das Problem?
                Gruss
                L

                Kommentar


                • #9
                  ja funktioniert ja auch alles ich möchte nur so wie Flor1an schon geschrieben hat diese profil.php?user_id=4492 user spezifischen profile halt haben und ich weiss nich wie... also ich log mich ein und komm dan auf mein profil.. momentan kommt man aber nur auf eine seite die überhaupt nix mit dem eigenen profil zu tun hat..
                  PHP-Code:
                  header("Location: members.php"); 
                  statt members.php soll dann aber profil.php?user_id=4492 kommen. Wo man dann sein profil sieht und einstellen und ändern kann.

                  Kommentar


                  • #10
                    Du kannst doch bei einer Location einfach profil.php?user_id=$user_id angeben! Und in $user_id muss eben die UserID stehen die du beim Login ermittelt hast.


                    Naja wenn du z.B. eine Liste mit Usern ausliest dann liest du ja aus der Datenbank die UserID + UserName aus und in der Liste kannst du dann immer Links generieren die so aussehen:
                    Code:
                    <a href="profil.php?user_id=$user_id'>$user_name</a>
                    Daher bekommst du die Links mit den UserIDs.

                    Vielleicht solltest du dich noch etwas mehr mit der Funktionsweise des Internets und speziell von PHP auseinander setzen! Ohne so ein Wissen wirst du sicherlich keine Community hinbekommen.

                    Kommentar


                    • #11
                      Hallo!

                      Auf alle Fälle solltest du dich mit dem Thema SQL-Injections befassen,denn ist kein Schönheitsfehler sondern eine Sicherheitslücke!

                      mysql_real_escape_string für jede Variable die den Ty string entspricht nutzen und wenn es um Zahlen also integers geht nutze intval.

                      mfg der litter
                      Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                      [URL]http://www.lit-web.de[/URL]

                      Kommentar

                      Lädt...
                      X