Ben: Prüfen, ob bestimmter Service in einer bestimmten Str. verfügbar

Beitrag lesen

@@Ben:

nuqneH

Das stimmt schon. Aber ich kann ja vllt. eine kleine Erklärung eingeben, WIE man die Sachen eingeben soll.

Das kannst du tun. Es ist bloß völlig unsinnig.

Nutzer wollen ihre Daten eingeben, nicht Erklärungen lesen, wie sie das zu tun haben. Die meisten werden die Erjlärung nicht lesen. Es liegt an dir dafür zu sorgen, dass Nutzereingaben entsprechend verarbeitet werden.

Du musst die Straßennamen normalisieren, z.B. Strings nicht auf Gleichheit, sondern auf Ähnlichkeit vergleichen. Oder dafür sorgen, dass sie schon normalisiert ankommen. Bei wenigen möglichen Staßen (nach Eingabe der PLZ) bietet sich ein Auswahlmenü an; wenn der Nutzer gar nichts schreiben muss, kann er gar nichts falsch schreiben. Und hat weniger Aufwand.

Ansonsten wäre eine Mischform aus Texteingabe und Auswahl zu überdenken (Autovervollständigung).

$plz = $_POST['plz'] ;
    $str = $_POST['str'] ;

Das Umkopieren in Variablen ist überflüssig.

else echo "$plz und $str" ;

Kapitaler Fehler! Du darfst niemals Nutzereingaben unbearbeitet in HTML ausgeben. Sicherheitslücke!

echo htmlspecialchars($_POST['plz'])

Qapla'

Danke für deine Tipps. Die Ausgabe soll allgemein am Ende gar nicht erfolgen. Die habe ich gerade nur drin, um zu sehen, ob das was ich wirklich eingebe, auch ankommt.

Das mit dem Auswahlmenü der Str. ist eine super Idee, leider weiss ich die Umsetzung nicht. Ich habe nun mal paar Sachen in eine TXT Datei gespeichert und wollte mir auslesen lassen, ob der eingegebene Wert in der TXT vorkommt. Funktioniert aber noch nicht einwandfrei.

<?php  
    $plz = $_POST['plz'] ;  
    $str = $_POST['str'] ;  
	$plztext = "plz.txt";  
	$plzt = fopen("plz.txt","r");  
    if(strpos($plzt,"200")!==false) echo "Herzlichen Glückwunsch! $str in $plz ist verfügbar." ;  
      else echo "Leider ist $str in $plz derzeit nicht verfügbar. Schau doch in ein paar Wochen nochmal vorbei." ;  
  
  ?>

die "200" habe ich erstmal nur so eingetippt. am ende soll dort $plz stehen, aber es funktioniert weder mit der Zahl noch mit der Variablen :(