Seite 1 von 2 12 Letzte

Thema: Codefehler ?

  1. #1

    Registriert seit
    19.11.2011
    Beiträge
    229
    Thanked 102 Times in 64 Posts

    Standard Codefehler ?

    Hallo,
    ich habe mir einen kleinen Code zusammengeschrieben welcher:
    -Einen String empfängt
    --Prüft ob der String in xxxx.txt steht
    ---Falls Ja, ein echo zurück gibt
    ---Falls Nein, den String in die xxxx.txt schreibt

    PHP-Code:
    <?php
    $text 
    $_GET["hwid"];
     
    $datei fopen("hwid.txt""a+"); 
    $file file('hwid.txt'); 
       if (!
    $datei) {
          echo 
    "Die Datei konnte zum Schreiben nicht geöffnet werden.";
       } else {
           if (
    searchhwid())
           {
               
    $correct "HWID wurde gefunden.";
               echo 
    $correct;
           }
           else
           {
               
    fwrite($datei"$text\n");
               
    fclose($datei);
               echo 
    "Datei erfolgreich beschrieben.";
           }
       }
       
    function 
    searchhwid()

        foreach (
    $file as $line) { 
            
    $fields explode(' '$line); 
            if(
    $fields[2] == $text)
            {
                return 
    true;
            }
            else {
                return 
    false;
            }
            
        }
    }

    ?>
    Leider funktioniert der Code nicht so ganz. Er schreibt jedes mal den String neu in die Textdatei (sogar doppelt). Sie schaut dann beim Aufrufen so aus: (2 mal aufgerufen)

    text1
    text1
    text2
    text2
    ...

    Bitte um Hilfe

  2. #2
    Avatar von Comu
    Registriert seit
    18.11.2011
    Beiträge
    772
    Thanked 754 Times in 363 Posts

    Standard Codefehler ?

    Umständlich gemacht. Erstmal nen paar Schönheits / Vebesserungsfehler:

    PHP-Code:
           else
           {
               
    fwrite($datei"$text\n");
               
    fclose($datei);
               echo 
    "Datei erfolgreich beschrieben.";
           } 
    Ist völlig unlogisch. Was passier denn, wenn das fwrite() failed? Von daher:

    PHP-Code:
    else
    {
      if(
    fwrite($datei,$text.'\n');
      {
         
    fclose($datei);
         echo 
    "...";
       }

    Wie du oben noch siehst, stimmt da auch was mit der Variable und dem Text nicht.

    Eventuell behebt das eins deiner Probleme schon, und das zweite sieht man hier (glaub ich jedenfalls):

    PHP-Code:
            $fields explode(' '$line); 
    \n erzeugt einen Zeilenumbruch. Deshalb verstehe ich nicht, warum du den Text dann mit ' ' teilst, und nicht mit \n\r . (Ausser du hast und nen Teil verschwiegen )

  3. #3

    Registriert seit
    30.11.2011
    Beiträge
    61
    Thanked 0 Times in 0 Posts

    Standard Codefehler ?

    \r\n nicht \n\r !

  4. #4

    Registriert seit
    19.11.2011
    Beiträge
    229
    Thanked 102 Times in 64 Posts

    Standard Codefehler ?

    PHP-Code:
    <?php
    $text 
    $_GET["hwid"];
    $datei fopen("hwid.txt""a+");
    $file file('hwid.txt'); 

    function 
    searchhwid($needle)
    {
        
    $content file("hwid.txt"); //Der ganze Inhalt in das Array!
        
    if(strstr($content$needle) == FALSE)
        {
            return 
    false;
        }
        else
        {
            return 
    true;
        }
    }  

    if (!(
    searchhwid($text)))
        {
            
    fwrite($datei"$text\n");
            
    fclose($datei);
            echo 
    "Datei erfolgreich beschrieben.";
        }
    else
        {
             echo 
    "HWID wurde gefunden.";
        }


    ?>
    Habe nun die Funktion ersetzt (bzw ersetzen lassen), allerdings zeigt er mir dennoch immer Datei erfolgreich beschrieben an, und nie "Hwid gefunden.." obwohl die hwid eingetragen ist...

  5. #5

    Registriert seit
    30.11.2011
    Beiträge
    61
    Thanked 0 Times in 0 Posts

    Standard Codefehler ?

    Code:
    function searchhwid($needle)
    {
        return strstr(file("hwid.txt"), $needle);
    }

  6. #6

    Registriert seit
    19.11.2011
    Beiträge
    229
    Thanked 102 Times in 64 Posts

    Standard Codefehler ?

    Habe ich ersetzt, allerdings gibt er mir immernoch nur "Datei erfolgreich beschrieben." aus und schreibt den get nochmal in die Datei

  7. #7
    Avatar von Sky.NET
    Registriert seit
    26.11.2011
    Beiträge
    2.462
    Thanked 2.718 Times in 1.287 Posts
    Blog Entries
    7

    Standard Codefehler ?

    eine allgemeine Frage: warum speicherst du das in einer Textdateio und nicht in einer Datenbank?
    Java:
    Spoiler:

    Lustige Quotes:
    Spoiler:
    Zitat Zitat von Hydra Beitrag anzeigen
    Hier (in Deutschland) kann man keine andere tolle Aktivitäten machen, als zu chillen, shoppen, saufen und Partys feiern xD Ich habe nichts gegen ab und zu mal saufen und Partys feiern, aber das ist doch nicht wirklich das wahre Leben o_o
    Wieso das Internet für die meisten Leute gefährlich ist:
    Zitat Zitat von Silent Beitrag anzeigen
    Ich weiß ja nicht was der Sinn dahinter steckt es heißt immer "security reasons".

  8. #8

    Registriert seit
    19.11.2011
    Beiträge
    229
    Thanked 102 Times in 64 Posts

    Standard Codefehler ?

    Da die Version mit der Datenbank bereits Funktioniert .

    Aber möchte wissen woran das liegt das das Script nicht funktioniert ...

  9. #9

    Registriert seit
    30.11.2011
    Beiträge
    61
    Thanked 0 Times in 0 Posts

    Standard Codefehler ?

    PHP-Code:
    function searchhwid($needle)
    {
        return 
    strpos(file_get_contents("hwid.txt"), $needle);


  10. #10

    Registriert seit
    19.11.2011
    Beiträge
    229
    Thanked 102 Times in 64 Posts

    Standard Codefehler ?

    Leider Funktioniert es immernoch nicht. Würde es vllt einen Unterschied machen, wenn man die Textdatei außerhalb der FUnktion in das Array lädt?

Seite 1 von 2 12 Letzte
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.