Bannlist mehrerer Server

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

  • Bannlist mehrerer Server

    Hallo ich hab Banlisten mehrerer Server die in HTML ausgelesen werden.
    Mir ist es bereits gelungen die Namen alle aufzulisten und eine zuordnung auf welchem server der Benutzer gebannt ist.
    Jetzt hab ich folgende Probleme:

    1. Ich möchte die Namen Alphabetisch sortieren.
    2. Ich möchte user die auf beiden Servern gebannt sind nur einmal anzeigen und möchte das hinter dem namen dann die Server auf denen er gebannt ist kommagetrennt aufgelistet werden.

    show.php

    Bannlist1.htm
    Bannlist2.htm

    hier der code von show.php:
    PHP-Code:
    <?php
    $x
    =0;
    $y=0;
    $n=0;
    $statistik[0] = "bannlist1.htm";
    $servername[0] = "Server1";
    $statistik[1] = "bannlist2.htm";
    $servername[1] = "Server2";

    while(isset(
    $statistik[$n])){
     
    $fp fopen($statistik[$n],"r");
     while(
    $zeile fgets($fp,1500)){
      if(
    ereg ("name",$zeile$regs)){

    /*** Neue Elemente hier einfügen ***/

       
    $name_pre ereg_replace("<TD CLASS=name>"""$zeile);
       
    $name[$x] = ereg_replace("</TD>"""$name_pre);
       
    $servers[$x] = $servername[$n];

    /*** Ende ***/

       
    $x++;
      }
     }
     
    fclose($fp);
    $n++;
    }
    echo 
    '<table border="0" cellpadding="0" cellspacing="0">';
    while(isset(
    $name[$y])){
     echo 
    '<tr>';

    /*** Neue Elemente hier einfügen ***/

     
    echo '<td>'.$name[$y].'</td>';
     echo 
    '<td>'.$servers[$y].'</td>';

    /*** Ende ***/

     
    echo '</tr>';
     
    $y++;
    }
    echo 
    '</table>';
    ?>

  • #2
    Ich würd's erstmal in ein Array einlesen ... und dann:

    http://www.php.net/manual/en/function.array-unique.php
    http://www.php.net/manual/en/function.sort.php

    ... und zum Schluss ausgeben ... !
    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


    • #3
      aber das löst dann nicht problem 2 wenn die doppelten strings nur entfernt werden.

      Kommentar


      • #4
        Original geschrieben von goth
        Ich würd's erstmal in ein Array einlesen ...
        ich auch.

        - nimm den usernamen als key und häng die server als values ein ... sortieren ... ausgabe in einer schleife mit implode()
        Kissolino.com

        Kommentar


        • #5
          hat sich erledigt in nem anderen forum hat man mir geholfen trotzdem danke

          p.s. soll ich euch den code posten?

          Kommentar


          • #6
            ein bisschen gedanken sollst du dir ja auch noch machen.

            Wenn du dein Array hast, in dem alle banned Namen sind, dann kannst du doch noch schnell die server aus den beiden ursprungsarrays zuordnen.

            Kommentar


            • #7
              hatte ich schon versucht aber dann bekamm ich über 300 fehlermeldungen da hatte ich nen wurm drin desweghen hab ich rumgefragt

              Kommentar


              • #8
                p.s. soll ich euch den code posten?
                Ja, bitte. Wenn du schon mehrere Foren auf einmal beschäfftigst.

                hatte ich schon versucht aber dann bekamm ich über 300 fehlermeldungen
                ich wette es war ein und die selbe notice.

                Kommentar


                • #9
                  Original geschrieben von TobiaZ
                  Ja, bitte. Wenn du schon mehrere Foren auf einmal beschäfftigst.
                  sorry aber da erst niemand antwortete in einem anderen forum hab ich in 3 auf einmal gepostet!
                  PHP-Code:
                  <?php 
                  /*** Das hier kommt später noch in ne extra Datei und wird per include eingefügt ***/ 
                  $statistik[0] = "bannlist1.htm"
                  $servername[0] = "Server1"
                  $statistik[1] = "bannlist2.htm"
                  $servername[1] = "Server2"
                  /*** Ende ***/ 

                  $zeilen = array(); 
                  for(
                  $i 0;$i count($statistik);$i++){ 
                     
                  $inhalt file($statistik[$i]); 
                     
                  $namen = array(); 
                     foreach(
                  $inhalt as $zeile){ 
                         if(
                  ereg("CLASS=name"$zeile)){ 
                             
                  $namen[] = preg_replace('/^<TD CLASS=name>(.+)<\/TD>.*$/i'"$1@$servername[$i]"$zeile); 
                         } 
                     } 
                     
                  $zeilen array_merge($zeilen$namen);  // Array zusammenhängen 

                  sort($zeilen);                                              // Array sortieren 
                  echo '<table border="0" cellpadding="0" cellspacing="0">'
                  $zeile_a ''
                  $name_a ''
                  $erste true
                  foreach(
                  $zeilen as $zeile){ 
                     if (
                  $zeile != $zeile_a){             // Doppelte Zeilen ignorieren 
                         
                  list($name$server) = explode('@'$zeile); 
                         if(
                  $name != $name_a){            // Neuer Name  
                            
                  if (!$erste){ 
                                echo 
                  "</td></tr>"
                            } 
                            echo 
                  "<tr><td>$name</td><td>$server"
                            
                  $name_a $name
                         } 
                         else{                            
                  // Zusätzlicher Server zu altem Namen 
                             
                  echo ", $server"
                         } 
                         
                  $zeile_a $zeile
                     } 
                     
                  $erste false

                  echo 
                  '</table>'
                  ?>
                  so getestet und funktioniert
                  auch wenn ich gern in der sortierung gerne alle sonderzeichen am anfang hätte

                  Original geschrieben von TobiaZ
                  ich wette es war ein und die selbe notice.
                  ja es waren 3 notices die 110 mal wiederholt wurden und dann noch 2 weitere was mich sehr verzweifeln lies weil ich den fehler nicht finden konnte!

                  Kommentar


                  • #10
                    Na ... da war Wurzel's Vorschlag aber effektiver ... sorry ... ich hatte Deine Frage wohl nicht vollständig gelesen ...
                    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


                    • #11
                      Original geschrieben von Lethal_Dark
                      sorry aber da erst niemand antwortete
                      *seufz*
                      überhaupt keine geduld mehr, die jugend von heute ...?
                      in einem anderen forum hab ich in 3 auf einmal gepostet!
                      also, falls du hier noch mal posten willst:
                      1. etwas mehr geduld bitte.
                      2. doppelpostings unterlassen.
                      Zuletzt geändert von wahsaga; 12.09.2005, 01:11.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        also, falls du hier noch mal posten willst:
                        1. etwas mehr geduld bitte.
                        2. doppelpostings unterlassen.
                        doppelpostings?
                        hab ich doch gar net....

                        Kommentar


                        • #13
                          nö, aber wenn du schon schreibst,
                          in einem anderen forum hab ich in 3 auf einmal gepostet!
                          - dann ist ein wenig vorbeugung sicher angebracht.
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar

                          Lädt...
                          X