Also ich möchte select-auswahl und den jeweiligen klick auf ein imagemap auswerten lassen.
Ich probiere schon seit gestern rum und bekomms einfach nicht hin.
Nachdem Du ja bereits einen obligatorischen Tritt in den Hintern bekommen hast, trete ich nochmal nach und frage Dich, wieviel Information die Fehlerbeschreibung "es geht nicht" Deiner Meinung nach wohl enthält:
[ ] gar keine
[ ] überhaupt keine
Ganz allgemein: Wenn Du um Hilfe bittest, dann sorge dafür, daß Du es Deinem Gegenüber so einfach wie möglich machst. Je schneller und genauer die Aufgabenstellung zu erkennen ist, desto mehr Chancen hast Du, eine Antwort zu erhalten, schlicht und ergreifend, weil es zwar eine Menge Leute gibt, die gerne helfen, aber die wenigsten davon haben Lust, sich erst eine Stunde lang in die Materie einzuarbeiten.
Für die Aussage "geht nicht" und das Absetzen von zweieinhalb Seiten Code trifft das leider nicht zu, auch wenn man Dir zu Gute halten kann, daß Du im Gegensatz zu anderen wenigstens an den Code gedacht hast.
Großen Frust kannst Du außerdem vermeiden, indem Du von vornherein klarstellst, was Du bereits versucht hast. Es nur wenig deprimierenderes für einen Helfer als nach einem halbstündigen Erklärungsversuch ein mehr oder weniger patziges "das weiß ich schon längst" vom Fragenden vor den Latz geknallt zu bekommen.
Auch dazu wäre kritisieren, daß Du gerne auf Deinen alten Thread hättest hinweisen können. Wenn Du schon befürchtest, daß er untergegangen sein könnte, warum erwartest Du dann von Deinem potentiellen "Retter", daß er sich erst von Hand durch das große, böse Forum wühlen muß, um die Vorgeschichte zu kennen.
Um das ganze Thema nicht allzu sehr zu strapazieren: Wie Du ja bereits gemerkt hast, bewegst Du Dich sehr dicht an einer Grenze, die hier im Forum schon häufig zu hitzigen Diskussionen geführt hat, und zwar zwischen Fragenden und denjenigen, denen salopp gesagt ohne Nachzudenken hingerotzte Fragen nur noch auf den Keks gehen - nicht, daß das mit dem "hingerotzt" jetzt 1:1 auf Dich zutreffen würde, aber ein wenig mehr "Nachdenken", dass heißt Mühe, kannst Du gerne wagen.
Zum Problem:
<form name="ergebnis" method="post" action="test1.php">
Firmengebiet
<select name="firmengebiet1" id="firmengebiet1">
<OPTION value="0" selected>Bitte auswählen...</OPTION>
<OPTION value="0001">Gaststätten</OPTION>
[..]
</select>
<IMG NAME='de10' SRC='images/de.gif' WIDTH='491' HEIGHT='698' BORDER='0' USEMAP='#de1'>
<MAP NAME='de1'><AREA SHAPE='rect' COORDS='454,617,469,632' HREF='test1.php?plz1=80' ALT='PLZ 80...'>
... 99 Stück ...
</MAP>
</form>
Soweit ich das überblicke, möchtest Du, daß das Formular mit den <area>s abgesendet wird.
Das Problem an der Geschichte ist, daß <area> und <form> eigentlich nicht füreinander gedacht sind. Mit dem href-Attribut von <area> wirst Du deshalb nichts werden, denn entweder folgst Du einem Verweis (<area>) oder Du schickst ein Formular ab (<form>), beides gleichzeitig geht nicht.
Es sollte aber möglich sein, dort statt des href ein onClick-Ereignis zu benutzen, welches eine Javascript-Funktion aufruft, die im Formular ein <input>-Feld auf die entsprechende Postleitzahl setzt und anschließend das Formular absendet, in etwa so:
<form ...
<input type="text" name="plz" maxlength="2" ...
...
</form>
<area onclick="plzwahl(80);" ...
..sowie:
function plzwahl(plz)
{
document.forms["ergebnis"].plz.value=plz;
document.forms.submit();
}
(aus dem Handgelenk geschüttelt, eventuelle Fehler bitte ich zu entschuldigen)
Fügst Du noch ein normalen <input type="submit"> hinzu, hätte diese Vorgehensweise außerdem den nicht zu unterschätzenden Vorteil, daß man Deine Seite auch ohne Javascript benutzen kann und Benutzer ohne grafischen Browser sie besser bedienen können (eine <area>-Grafik hat ohne Grafik nicht sonderlich viel Bedeutung).
Entscheidest Du Dich gegen diese Zugangserleichterung (was ich nicht hoffe), kannst Du statt <input type="text"> natürlich auch <input type="hidden"> benutzen.
Beachte bitte, daß Du in jedem Fall die übergebenen Postleitzahl auf Plausibilität prüfst. Gibt der Benutzer etwas Unsinniges ein (z.B. "blabla" oder "123456789"), solltest Du ihn auf diesen Umstand explizit hinweisen anstatt einfach ein plattes "es wurde nichts gefunden" auszuspucken.
Weiterhin hast Du in Deinem PHP-Code schwerwiegende Fehler gemacht:
1.:
$query="SELECT * FROM kontakt WHERE plz LIKE '$plz1%'";
Bitte übernehme NIE NIE NIE NIE Daten, die von draußen kommen, ohne weitere Prüfung einfach so in die interne Verarbeitung. Es braucht für plz nur ein Anführungszeichen und schon kann man Deine obige SQL-Anweisung aushebeln. Hier ist es nicht so schlimm, aber wäre es beispielsweise eine Passwortprüfung:
SELECT * FROM nutzer WHERE passwort='$passwort'
braucht man als Passwort nur
' or ''='
einzutippen und erhält Zugang:
SELECT * FROM nutzer WHERE passwort='' or ''=''
Mache Dich also bitte DRINGENST mit der Funktion mysql_escape_string() vertraut.
2.:
echo ("Name: $name<br>");
Nicht minder gefährlich. Mal abgesehend davon, daß Du möglicherweise ungültigen HTML-Code produzierst, sobald in $name beispielsweise ein deutscher Umlaut erscheint - an anderer Stelle wie zum Beispiel einem Gästebuch derart blauäugig gedankenlos eingesetzt, ermöglichst Du Außenstehenden, beliebigen HTML-Code, und damit auch CSS, Javascript oder Verweise auf Dialer, in Deine Seiten einzubauen.
Mache Dich bitte weiterhin mit der Funktion htmlentities() vertraut:
echo ("Name: ".htmlentities($name)."<br>");
Gruß,
soenk.e