Thema: Codefehler ?
-
25.07.2011, 18:41 #1Nachrichtendienst
- Registriert seit
- 19.11.2011
- Beiträge
- 229
Thanked 102 Times in 64 Posts
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
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)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;
}
}
}
?>
text1
text1
text2
text2
...
Bitte um Hilfe
-
25.07.2011, 19:00 #2
Codefehler ?
Umständlich gemacht. Erstmal nen paar Schönheits / Vebesserungsfehler:
Ist völlig unlogisch. Was passier denn, wenn das fwrite() failed? Von daher:PHP-Code:else
{
fwrite($datei, "$text\n");
fclose($datei);
echo "Datei erfolgreich beschrieben.";
}
Wie du oben noch siehst, stimmt da auch was mit der Variable und dem Text nicht.PHP-Code:else
{
if(fwrite($datei,$text.'\n');
{
fclose($datei);
echo "...";
}
}
Eventuell behebt das eins deiner Probleme schon, und das zweite sieht man hier (glaub ich jedenfalls):
\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 verschwiegenPHP-Code:$fields = explode(' ', $line);
)
-
25.07.2011, 21:28 #3Mitglied
- Registriert seit
- 30.11.2011
- Beiträge
- 61
Thanked 0 Times in 0 Posts
Codefehler ?
\r\n nicht \n\r !
-
25.07.2011, 21:36 #4Nachrichtendienst
- Registriert seit
- 19.11.2011
- Beiträge
- 229
Thanked 102 Times in 64 Posts
Codefehler ?
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...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.";
}
?>
-
25.07.2011, 22:37 #5Mitglied
- Registriert seit
- 30.11.2011
- Beiträge
- 61
Thanked 0 Times in 0 Posts
Codefehler ?
Code:function searchhwid($needle) { return strstr(file("hwid.txt"), $needle); }
-
25.07.2011, 23:06 #6Nachrichtendienst
- Registriert seit
- 19.11.2011
- Beiträge
- 229
Thanked 102 Times in 64 Posts
Codefehler ?
Habe ich ersetzt, allerdings gibt er mir immernoch nur "Datei erfolgreich beschrieben." aus und schreibt den get nochmal in die Datei
-
25.07.2011, 23:08 #7
Codefehler ?
eine allgemeine Frage: warum speicherst du das in einer Textdateio und nicht in einer Datenbank?
Java:
Spoiler:
Lustige Quotes:
Spoiler:
-
25.07.2011, 23:11 #8Nachrichtendienst
- Registriert seit
- 19.11.2011
- Beiträge
- 229
Thanked 102 Times in 64 Posts
Codefehler ?
Da die Version mit der Datenbank bereits Funktioniert
.
Aber möchte wissen woran das liegt das das Script nicht funktioniert ...
-
25.07.2011, 23:36 #9Mitglied
- Registriert seit
- 30.11.2011
- Beiträge
- 61
Thanked 0 Times in 0 Posts
Codefehler ?
PHP-Code:function searchhwid($needle)
{
return strpos(file_get_contents("hwid.txt"), $needle);
}
-
26.07.2011, 15:12 #10Nachrichtendienst
- Registriert seit
- 19.11.2011
- Beiträge
- 229
Thanked 102 Times in 64 Posts
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?
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.
Zitieren

