[GastForen Programmierung/Entwicklung PHP und MySQL Das kann nicht sein

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Das kann nicht sein

Fallen Yggdrasil
Beiträge gesamt: 377

11. Okt 2006, 22:43
Beitrag # 1 von 12
Bewertung:
(4052 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich habe drei Dateien. Es wird eine Suchabfrage gestartet. Wird der Ort in der Datei gefunden, steht dort: Ort gefunden. Steht er nicht in dieser Datei, erscheint: Ort leider nicht gefunden.

Es funktioniert. Nur... Mach ich das Gleich noch einmal, dann geht das nicht mehr. :( Was ist denn das für ein Bug?

Hier sind die drei Dateien.

orte.txt (Auflistung der Orte)

Hamburg
Dresden
Dortmund
Essen
Bremen
Hannover
Magdeburg


index.html (stinknormales Kontaktformular zur Sucheingabe)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html lang="de" xml:lang="de" xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="generator" content="Adobe GoLive" />
<title>Index</title>
</head>

<body>
<form id="FormName" action="ergebnis.php" method="post" name="FormName">
<table width="200" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="100"><font size="2">Ortssuche</font></td>
<td width="100"><input type="text" name="ort" size="10" /></td>
</tr>
<tr>
<td width="100"></td>
<td width="100"><input type="submit" name="submitButtonName" value="Suchen" /></td>
</tr>
</table>
</form>
<p></p>
</body>

</html>



ergebnis.php (eigentliches Script)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>

<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta name="generator" content="Adobe GoLive" />
<title>IP</title>
</head>

<body>
<?php
$datei = file("orte.txt");
array_walk($datei, 'trim'); // newline zeichen entfernen

if(in_array($_POST['ort'],$datei)) {
echo $_POST['ort']." wurde in Datei gefunden!";
//Weiterleitung
}else{

echo $_POST['ort']." wurde leider nicht gefunden!";
//Weiterleitung
}
?>
</body>

</html>

Gruß Stefan
X

Das kann nicht sein

Fallen Yggdrasil
Beiträge gesamt: 377

11. Okt 2006, 22:48
Beitrag # 2 von 12
Beitrag ID: #255955
Bewertung:
(4050 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich habe gerade gemerkt, dass er nur Magdeburg bei der ersten Suchabfrage findet. Die anderen findet er gar nicht, obwohl sie drinne stehen. Verstehe ich nicht. Was ist da falsch gelaufen?


als Antwort auf: [#255954]

Das kann nicht sein

willy48
Beiträge gesamt: 319

12. Okt 2006, 14:35
Beitrag # 3 von 12
Beitrag ID: #256137
Bewertung:
(4017 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stefan,
ich glaube dass da was mit dem Dateizeiger nicht in Ordnung ist.

Ich rege also an, dass Du das Statement:
$datei = file("orte.txt");

mit untenstehenden austauschst.
$datei = fopen("orte.txt","r");
Das "r" stellt den Dateizeiger an den Anfang der Datei

Auf die Idee bin ich gekommen, als du schriebst, dass nur Magdeburg angezeigt wird, das ja am Ende Deiner Datei aufscheint.

Wie gesagt, nur eine Idee, aber vielleicht funzt es.


als Antwort auf: [#255955]

Das kann nicht sein

Fallen Yggdrasil
Beiträge gesamt: 377

12. Okt 2006, 14:53
Beitrag # 4 von 12
Beitrag ID: #256146
Bewertung:
(4016 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Nee, da kommt ne Warnung vorher und dann sogar Magdeburg wurde nicht gefunden. Trotzdem Danke, war einen Versuch wert.


als Antwort auf: [#256137]

Das kann nicht sein

willy48
Beiträge gesamt: 319

12. Okt 2006, 14:59
Beitrag # 5 von 12
Beitrag ID: #256148
Bewertung:
(4015 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Dann mache es doch mit SWITCH, es sind ja nur ein paar Orte.


als Antwort auf: [#256146]

Das kann nicht sein

Fallen Yggdrasil
Beiträge gesamt: 377

12. Okt 2006, 15:10
Beitrag # 6 von 12
Beitrag ID: #256152
Bewertung:
(4010 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Nee, die paar Orte sind nur zum Testen. Insgesamt werden es nachher etwa 30.000. Switch wäre da wohl etwas aufwendiger. ;-)


als Antwort auf: [#256148]

Das kann nicht sein

vollueli
Beiträge gesamt: 785

12. Okt 2006, 16:01
Beitrag # 7 von 12
Beitrag ID: #256168
Bewertung:
(4003 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hi

lass doch mal diese zeile weg: "newline zeichen entfernen"
ansonsten weiss ich auch nicht weiter...


als Antwort auf: [#255954]

Das kann nicht sein

Fallen Yggdrasil
Beiträge gesamt: 377

12. Okt 2006, 16:08
Beitrag # 8 von 12
Beitrag ID: #256169
Bewertung:
(3998 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Probiere ich nachher mal aus.


als Antwort auf: [#256168]

Das kann nicht sein

ganesh
Beiträge gesamt: 1981

12. Okt 2006, 16:35
Beitrag # 9 von 12
Beitrag ID: #256181
Bewertung:
(3993 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
30000? Wieso nimmst du keine Datenbank dafür?


als Antwort auf: [#256152]

Das kann nicht sein

ganesh
Beiträge gesamt: 1981

12. Okt 2006, 16:45
Beitrag # 10 von 12
Beitrag ID: #256187
Bewertung:
(3990 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
anyway, so geht das ganze:

$datei = array_map('rtrim',file('orte.txt'));
$location = trim($_POST['ort']);

if(in_array($location,$datei)) {
echo "$location wurde in Datei gefunden!";
} else {
echo "$location wurde leider nicht gefunden!";
}


als Antwort auf: [#255954]

Das kann nicht sein

Fallen Yggdrasil
Beiträge gesamt: 377

12. Okt 2006, 16:53
Beitrag # 11 von 12
Beitrag ID: #256192
Bewertung:
(3986 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Datenbank kann ich nicht und das ist immer so ein Problem bei Serverumzügen. Soll total simple sein, auch wenn man da einmal viel tippen muss. ;)

Probiere ich heute Abend ebenfalls aus. Melde mich dann noch mal, ob es geklappt hat. Jetzt erstmal zum Tierarzt.

Gruß


als Antwort auf: [#256187]

Das kann nicht sein

Fallen Yggdrasil
Beiträge gesamt: 377

12. Okt 2006, 19:18
Beitrag # 12 von 12
Beitrag ID: #256235
Bewertung:
(3976 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wow,

funzt.

Vielen Dank. :D

Gruß Stefa


als Antwort auf: [#256192]
X