kostenloser Webspace werbefrei: lima-city


Freundesliste in Textdatei-Form

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    limabone

    Kostenloser Webspace von limabone

    limabone hat kostenlosen Webspace.

    Hallo Leute,
    ich weiß, ich hatte gestern erst ein Thema offen, aber in diesem hier gehts um was komplett anderes.
    Ich habe vor eine Freundesliste in Textform bei jedem User zu erstellen. Die betroffene Datei wir direkt nach dem Registrieren bereits in den jeweiligen Ordner erstellt.
    Nur habe ich leider übeeerrhaaaupt keine Ahnung was das Auslesen solcher Dateien betrifft.
    Momentan speichere ich einfach die Namen der User in dieser Form ein:
    user1<br>
    user2<br>
    user3<br>
    <!-- usw -->

    Wie lese ich jetzt zB einen speziellen Namen aus? Sagen wir ich will überprüfen, ob user2 bereits in meiner Freundesliste vorhanden ist. Wie geht das?
    UND wie schaff ich es, dass ich die Namen als Variable zusammenbekomme, sagen wir user1 = $user1;

    MfG Limabone
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Allgemein ist von dem Gebrauch von Textdateien als Datenbank abzuraten, ich gebe dir aber natürlich trotzdem Hilfe.

    Du hast ein Trennzeichen zwischen den Usern, das ist auch schon die einzige Vorraussetung. Dein Trennzeichen ist: "<br>\n"

    Dann nutzt du die Funktion explode() um ein Array daraus zu machen. Also:
    // in $user_textdatei vorherden Inahlt der Textdatei laden
    
    // Array erstellen
    $user = explode("<br>\n", $user_textdatei);


    Mit diesem Array kannst du dann arbeiten, also nach Usern suchen oder, was du auch immer vorhast.
  4. Autor dieses Themas

    limabone

    Kostenloser Webspace von limabone

    limabone hat kostenlosen Webspace.

    Ok, ich werds ausprobieren, danke dir!

    Ist dieses System auch für mehrere Variablen geeignet? Ich meine Damit, kann man es so anstellen, dass automatisch user1 =$user1, user2 = $user2 und user 3 = $user3 festgelegt wird?
    Ich glaube nämlich, dass es hier nicht der Fall bei dir ist. Wenn doch, dann lass ich ich mich selbstverständlich korrigieren ;-)
  5. limabone schrieb:
    Ist dieses System auch für mehrere Variablen geeignet? Ich meine Damit, kann man es so anstellen, dass automatisch user1 =$user1, user2 = $user2 und user 3 = $user3 festgelegt wird?
    Ich glaube nämlich, dass es hier nicht der Fall bei dir ist. Wenn doch, dann lass ich ich mich selbstverständlich korrigieren ;-)
    Meinst du User-IDs, oder einfach nur Nummern? Beides ist möglich. Aber wieso willst du denn keine Datenbank verwenden?

    Ich nehme das mal so, wie ich glaube, es verstanden zu haben:
    // in $user_textdatei vorherden Inahlt der Textdatei laden
    
    // Array erstellen
    $user_array = explode("<br>\n", $user_textdatei);
    
    $c = 1;
    foreach($user_array as $username)
        {
        $GLOBALS[('user'.$c)] = $username;
        $c++;
        }


    Der Code fängt nicht bei 0 an, sondern bei $user1. Wieso du das willst ist mir ein Rätsel, aber so sollte es funktionieren.
  6. Autor dieses Themas

    limabone

    Kostenloser Webspace von limabone

    limabone hat kostenlosen Webspace.

    Ich mach das nicht mit Datenbanken, weil ich dann für jeden user eine Eigene Tabelle erstellen müsste...
    Das wäre eine komplette umstrukturierung der Datenbank, und ich müsste alle User löschen...
    Nochdazu wüsste ich dann nicht, wie ich passwort und username abfragen soll bei so vielen Tabellen....

    Back To Topic : ich will mit den Variablen Daten der eingetragenen Freunde abfragen (zB Online, Aktivitäten)

    danke dir, werde nat. Sofort testen
  7. limabone schrieb:
    Ich mach das nicht mit Datenbanken, weil ich dann für jeden user eine Eigene Tabelle erstellen müsste...
    WAAAAAS??!! :-o

    Du hast den Sinn von Datenbanken nicht begriffen. Komm, sag mir, was du machen willst, dann sag ich dir, wie du es machst, und dann funktioniert das auch.



    Edit: Und natürlich auch sagen, was du nicht versteht, nicht kannst, oder nicht davon glaubst, dass es geht.

    Beitrag zuletzt geändert: 18.1.2010 21:03:59 von drafed-map
  8. Also eigentlich kommt man sehr gut mit zwei SQL-Tabellen aus.

    Eine User Tabelle in denen alle Daten zu einem User stehen (als Beispiel UserID, Name, Geburtsdatum, Hobbies ...etc)

    Und eine zweite Tabelle die die Verknüpfung beschreibt.
    Sprich zwei Spalten: UserID1 und UserID2
    und wenn dort drin steht 5 und 8 bedeutet dies, dass User 5 und 8 befreundet sind.

    UserID ist einfach die Durchnummerierung deiner gesamten User.
    (Macht die Usertabelle von alleine wenn du dem Feld die Eigenschaft Auto-Inkrement gibst)

    Aber mit ner Textdatei würd ich niemals arbeiten. Les dir am besten mal ein paar Tuturials zu SQL durch und du wirst merken dass das im Endeffekt viel einfacher wird.
  9. berndsbande schrieb:
    Also eigentlich kommt man sehr gut mit zwei SQL-Tabellen aus. Eine User Tabelle in denen alle Daten zu einem User stehen (als Beispiel UserID, Name, Geburtsdatum, Hobbies ...etc) Und eine zweite Tabelle die die Verknüpfung beschreibt. Sprich zwei Spalten: UserID1 und UserID2 und wenn dort drin steht 5 und 8 bedeutet dies, dass User 5 und 8 befreundet sind.
    Genau, so ist es. Wir sollten uns aber zuerst anhören, was er noch will, denn dann könnte einer von uns schnell mal die DB-Struktur für ihn erstellen, und kurz erklären. Ich denke das würde Limabone helfen.
  10. Autor dieses Themas

    limabone

    Kostenloser Webspace von limabone

    limabone hat kostenlosen Webspace.

    Das klingt ehrlich gesagt... viel besser!
    Viel weniger Arbeit, gewohnte SQL Arbeitsbereiche ->supa
    Ich hab natürlich meine Existierende User bereits beim Anlegen der Tabelle eine ID gegeben, also das dürfte kein Problem sein. Könnt ihr mir aber bitte einen kleinen Denkansetz geben? (Nicht die ganze Lösung, das wär ja fad ;-) )
  11. Wodran happerts denn nun?

    Also den php code könnt ich nun ehh nicht runterschreiben. Im Prinzip brauchst du ja 3, ich nenn es mal Funktionen, die du an die entsprecheden Stellen einbaust.

    1. Einmal einen Button "Freund hinzufügen" (wobei gegebenenfalls dieser erst noch eine Benachrichtigung bekommt und annehmen oder ablehnen kann, aber erstmal ohne)

    Ich würde sagen dieser Button ist auf der Profilseite des Users sichtbar, mit dem man sich befreunden möchte. Die UserID von ihm ist also klar. Die eigene UserID des Users der grade klicken will, müsste man wohl aus der Session irgendwie herausbekommen, allerdings kenn ich mich damit garnicht aus.

    Beim klick auf dem Button wird dann ein neuer Eintrag mittels INSERT INTO Befehl in der Befreundet Datenbank erstellt. Dann sollten natürlich noch Prüfungen rein ob die User schon befreundet sind, falls ja sollte es eine Warnung geben. Außerdem würde ich den Button garnicht sichtbar machen dann. Bzw an der Stelle schreiben, dass man bereits befreundet ist.

    2. Freundschaft auflösen
    Ja auch da kann vorkommen ;)
    Eigentlich genauso wie oben die UserIDs herausbekommen, falls der Button auf der Profilseite ist, oder in der Freundschaftsübersicht die möglichkeit zum löschen einbinden. Wenn man die UserIDs beide hat die gelöscht werden sollen, entsprecheden Eintrag selecten und mittels DELETE FROM Befehl den Eintrag löschen.

    3. Die Freundschaftsübersicht
    Sollte wohl auch im Profil sein, oder zumindest von dort verlinken.
    Dies ist im Grunde eine einfach Listausgabe der Tabelle "Freundschaft" derjenigen UserID auf dessen Profil man sich grade befindet. Also SELECT FROm WHERE Befehl, wobei die Bedingung die UserID Abfrage beinhaltet.

    Wie man das nun genau umzusetzten hat, scheitert bei mir an der Tatsache dass ich nicht weiß wie man bei dir auf die UserID des Users kommt der grade etwas machen will, aber das sollte ja herauszufinden sein.

    Beitrag zuletzt geändert: 18.1.2010 22:19:34 von berndsbande
  12. Autor dieses Themas

    limabone

    Kostenloser Webspace von limabone

    limabone hat kostenlosen Webspace.

    Jo Danke dir für den langen Post, habe so ziemlich alles geschafft!
    Kannst ja mal reinschaun, wenns dich oder andere Inderessiert ;-)
    Jetzt is so ziemlich alles drinnen, bis auf den Voice-Chat, aber ich kann ja noch Sachen verbessern

    -- Ich glaube, das Thema geschlossen werden kann ;-)
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!