Personalisierte Webseiten für Mitglieder

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

  • Personalisierte Webseiten für Mitglieder

    Hallo an alle Profis unter euch

    Zuerst möchte ich vorausschicken, dass ich ein absoluter Anfänger in Sachen php bin. Über "include" und "echo" bin ich nicht wirklich hinausgekommen.

    Ich habe eine Webseite mit ca. 15 Seiten gestaltet, welche ich meinen Mitgliedern weitergeben will. Und zwar personalisiert. Sprich Name, Adresse, email, Homepage usw. sollten jeweils ausgetauscht werden.

    Zuerst habe ich dies so gelöst:
    den gesamten Ordner mit den Seiten einfach dupliziert, und pro duplizierten Ordner eine normale Text Datei angelegt, welche sämtliche Variabeln enthält (zB: $vorname = 'Max'. Diese Variablen rufe ich einfach bei den Seiten mit require auf. Die entsprechende Variable wird dann mit dem echo-Befehl (echo $vorname) für die Surfer sichtbar.

    Funktioniert ja hervorragend.
    Das grosse Problem ist, wenn sich eine Seite ändert, muss ich alle duplizierten Seiten manuell mitändern. Sprich ich muss diese geänderte Seite in jeden duplizierten Ordner kopieren. Ist bei mehrern Mitgliedern halt langwierig.

    So bin ich zum nächsten Schritt übergegangen, habe den gesamten Inhalt der duplizierten Ordner bis auf die Textdatei mit den Variablen gelöscht. Dafür habe ich für jede Seite in den Ordnern eine neue Datei angelegt mit folgenden Inhalt.
    Code:
    <?
    require 'vartexte.inc.php'  //Textdatei mit Variablen
    ?>
    <?php include "../seite1.php" ?>  //eine der Seiten
    Es funktioniert an und für sich auch so, wie ich es mir vorstelle. Sprich jeder hat seine eigenen Seiten mit seinen jeweils eigenen Daten.

    Was ich aber absolut nicht weiss, ob dies so in der Art korrekt ist, und ob ich hier nicht diverse Sicherheitslöcher schaffe. Wie gesagt: meine php Kenntnisse sind mies bis gar nicht vorhanden.

    Vielleicht kann mir da jemand etwas dazu schreiben, oder einen anderen Weg aufzeigen.

    Danke schon jetzt mal für eure Kommentare

    ragi
    Erfolg mit Gesundheit ...

  • #2
    So ganz bin ich aufgrund Deiner Beschreibung nicht dahintergekommen, warum Du für jedes Mitglied ein eigenes Directory benötigst. Ich glaube verstanden zu haben, daß die Seiten, bis auf einige wenige personalifizierte Daten, die selben sind.

    Meines Erachtens, es kann aber auch sein, daß ich am Thema vorbei bin, bräuchtest Du nur je Mitglied unterschiedliche Include-Files. Dann könntest Du alle gemeinsamen Files in einem Dir ablegen. Lediglich die Include-Files müßten je Mitglied gesondert abgelegt sein, im selben Verzeichnis, Ihre Filenamen könnten zur Unterscheidung den Mitgliedernamen beinhalten.

    PHP-Code:
    $include_file $mitglied "_vartexte.inc.php"
    require '$include_file'  // Textdatei mit Mitglieds Variablen 
    Für Mitglied "franz" müßte demnach ein Include-File mit dem Filenamen franz_vartexte.inc.php existieren.

    Kommentar


    • #3
      Das mit dem eigenen Directory habe ich aus einem Grund gemacht. Die Mitglieder sollen ja die Seiten bewerben, und eventuell neue Mitglieder rekrutieren. (www.einedomain.de/franz). Und die beworbenen Seiten sollten natürlich immer nur die Daten des Werbers enthalten.

      Und da ist es mir am einfachsten erschienen, für jedes Mitglied einen eigenen Ordner anzulegen, da dann der Surfer immer zu den Seiten des jeweiligen Mitgliedes kommt.

      Da ich wenig Ahnung von php habe, weiss ich sonst keinen wirklich anderen Weg, wie ich dies lösen könnte. Mit Sessions u.ä. kenne ich mich im Moment noch nicht aus.

      Oder denke ich hier etwas zu kompliziert?
      Erfolg mit Gesundheit ...

      Kommentar


      • #4
        Sorry, das ich noch einmal nachfrage.

        Kann ich davon ausgehen, dass ich dies ohne allzu grosse Probleme (Sicherheit, Traffic) so verwenden kann?

        Ich glaube ein Templatesystem zahlt sich hier nicht wirklich aus, zudem ich dann nicht weiss, wie dann jeder zu den personalisierten Seiten kommt, ohne einen ellenlangen Link eingeben zu müssen (geht dies überhaupt?). Ausserdem sind die Seiten ja nicht allzu aufwendig gestaltet.

        Wenn noch wer Tips für mich auf Lager hat, wäre ich sehr dankbar.

        Thanxs

        ragi
        Erfolg mit Gesundheit ...

        Kommentar


        • #5
          Was Du alternativ machen könntest, wäre das ganze in einen zweiten Ordner zu verlegen wie http://domain.de/Members/NAME
          Dann erstellt Du eine .htaccess im / mit folgendem Inhalt:
          PHP-Code:
          <Files Members>
            
          ForceType application/x-httpd-php
          </Files
          Die Datei Members sieht dann so aus:
          PHP-Code:
          <?php
          $url
          =explode("/",$REQUEST_URI);
          $name $url[2]; 
          /*Die 2 gibt die Stelle von RootDir ausgesehen an. In dem Fall halt die 2.
          http://domain.de/Members/NAME
          "NAME" ist an der 2. Stelle hinter dem RootDir.
          (Eigentlich ists ja ein Array und es wird der Index angegeben, aber zum besseren Verständniss ...)
          Dann kannst Du irgendwelche Abfragen starten und dann mit der jeweiligen 
          Variable auf eine andere File weiterleiten*/
          ?>
          Das ganze geht natürlich auch im root selber (in die index.php den Inhalt von Members packen usw.), aber würde ich nicht empfehlen.
          Zuletzt geändert von Basti77; 07.06.2002, 02:39.

          Kommentar


          • #6
            Danke Basti77

            Aber ganz habe ich das nicht kapiert, wie das funktionieren soll. Kannst du mir das bitte näher beschreiben ?

            Danke

            ragi
            Erfolg mit Gesundheit ...

            Kommentar


            • #7
              Was genau hast Du nicht verstanden und soll näher beschrieben werden ?

              Kommentar


              • #8
                warum macht ihr das alles so kompliziert?!

                mein vorschlag:

                mach das alles in eine datei und übergib als parameter die variable m (für "member =)) und mach das dann mit if()-schleifen.

                oder am besten gleich mit mysql weil das eh viel einfacher is

                hier noch den code für die if schleifen:

                PHP-Code:
                if(m=="franz") { 
                $name="franz"$alter=30
                [...]
                } else  if(
                m=="udo")
                {
                [...]
                } ... 
                Franz müsse demnach die datei mit ?m=franz als parameter aufrufen.
                PHP rulez | ASP suxx =P

                Visit http://www.sourcefactory.net =)

                Metal rul€Z =D

                Der Laie braucht Ordnung, das Genie beherrscht das Chaos!

                Kommentar


                • #9
                  Hi Matze812

                  Das habe ich mirauch malüberlegt mit der if - else Schleife.

                  Nur habe ich hier meiner Meinung das Problem, dass ich dann dieÜbersicht verliere. Stell dir mal hundert oder zweihundert Member vor.

                  Da bräuchte ich dann ein extra Verwaltungstool. Habe aber hier absolut keine Ahnung wo ich ein geeignetes finden könnte.

                  ragi
                  Erfolg mit Gesundheit ...

                  Kommentar

                  Lädt...
                  X