Ich habe mir das ca. so vergestellt:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Einzeilige Eingabefelder definieren</title>
</head>
<body>
<form action="weiterleitung.php">
<p>Begriff:<br><input name="wort" type="text" size="30" maxlength="30"></p></body>
</html>
Den Fehler im obigen Code solltest du wohl selbst finden.
<?php
switch ($wort)
{
case "toilette":
$url = "http://google.de/";
case "html":
$url = "http://selfhtml.org/";
default:
$url = "nix_gefunden.html";
}
header("Location: $url");
?>
Nur leider:
- Funktioniert es nicht.
- Kommt die Ausgabe nicht in einem zweiten Fenster darunter... weil ich da nicht weiß ie es gehen soll.
Soll heissen? Die Ausgabe kommt ins gleiche Fenster (frame?) wie das Formular? Oder wird nichts ausgegeben?
Siehe dein HTML Code.
Ansonsten: PHP kennt ein Error handling, das man sich ausgeben kann.
Ansonsten: Sobald du HTML ausgegeben hast ist ein header Location witzlos.
Ansonsten: ich sehe nicht, dass du mit $_GET['wort'] auf die von PHP bereitgestellte Variable für Userinput mittels Get zugreifst. (wird die Methode POST verwendet wäre die variable $_POST['wort'] die zuständige)
register_globals sollte off sein. Falls nicht, sollte es ausgeschaltet werden.
Ansonsten: prüfe wie folgt:
if(isset($_GET['wort'])){ switch case Szenario und Location senden }
else{ Formular senden }
ob überhaupt Input vorliegt. Entweder du sendest den location header oder du sendest deinen HTML Output (das Formular).
Frams sind out. Zwar hilft dir das Attribut target weiter, aber du solltest dir wirklich Gedanken machen, ob du das überhaupt noch brauchst.
PS: Da ich null Ahnung von PHP habe, könnte da oben auch ein paar Fehler stehen.
mfg Beat