Lordi: Input Text + Enter => Weiterleitung

Hallo ich hoffe mir kann jemand helfen, es geht um dieses html script

<html><head><title>Test</title>  
</head><body>  
<form name="Testform" action="">  
<input type="radio" name="Auto" value="$_POST[starke]"> Stärke<br>  
<input type="radio" name="Auto" value="$_POST[starke2]"> Verteidigung<br>  
<input type="radio" name="Auto" value="$_POST[starke3]"> Geschwindigkeit<br>  
<input type="radio" name="Auto" value="$_POST[starke4]"> Dealy 10P <br>  
<input type="radio" name="Auto" value="$_POST[starke5]"> Ausdauer<br>  
<input type="radio" name="Auto" value="$_POST[starke6]"> SP 5P<br>  
<input type="radio" name="Auto" value="$_POST[starke7]"> Intelligenz<br>  
Punkte Verteilung: <input type="text" name="Name" size="30"><br>  
<input type="submit" name="Absendebutton" value="Skillen">  
</form>  
<script type="text/javascript">  
  
}  
</script>  
</body></html>

Das Script an sich läuft schon aber leider nicht so wie ich das gerne hätte, wenn ich beim Formular z.b 1 anklicke und 5 eingebe wird die url zu
?Auto=%24_POST%5Bstarke%5D&Name=4&Absendebutton=Skillen
ich versuche aber zu machen das es einfach nur zu &charm=1 weiterleitet also anstatt z.b www.test.de/aufgabe.php?Auto=%24_POST%5Bstarke%5D&Name=4&Absendebutton=Skillen
soll es zu www.test.de/aufgabe.php&charm=1 weiterleiten ich hoffe mir kann jemand helfen

  1. Moin!

    <form name="Testform" action="/aufgabe.php&charm=1" method="POST">

    So geht das. Natürlich muss die aufgabe.php die Formulardaten dann auch $_POST statt $_GET suchen. Nur $_GET['charm'] wird existieren.

    Das ist Grundlagenwssen. Lese bitte noch mal über http://de.selfhtml.org/html/formulare/definieren.htm@title=HTML-Formulare nach.

    Jörg Reinholz

    1. Moin!

      <form name="Testform" action="/aufgabe.php&charm=1" method="POST">

      So geht das. Natürlich muss die aufgabe.php die Formulardaten dann auch $_POST statt $_GET suchen. Nur $_GET['charm'] wird existieren.

      Das ist Grundlagenwssen. Lese bitte noch mal über http://de.selfhtml.org/html/formulare/definieren.htm@title=HTML-Formulare nach.

      Jörg Reinholz

      werde ich machen vielen Dank an euch

  2. Lieber Lordi,

    ich glaube, Du schmeißt da Sachen zusammen, die nicht zusammen gehören. Du hantierst mit PHP? Ja? Aber Du hast keine Ahnung, was das ist?

    es geht um dieses html script

    Es gibt kein "html script". Die Vokabel "Script" hat in der Web-Sprache allgemein den Sinn "Programm-Code". HTML ist aber keine Programmiersprache, daher kann man damit nichts "scripten". Mit JavaScript (im Browser) und mit PHP (auf dem Server) kann man dagegen "scripten", sodass dort Programm-Logik ausgeführt wird.

    <html><head><title>Test</title>

    Du bewegst Dich im Rahmen eines HTML-Dokuments. Hier steht HTML-Code. HTML dient zur Auszeichnung des Inhalts. HTML kann so Sachen wie "das ist ein Textabsatz" oder "das ist eine Liste". Es kann aber nicht "multipliziere 7 mit dem eingegebenen Wert und schreibe das Ergebnis in eine Datei". Dazu bräuchtest Du PHP auf dem Server.

    <input type="radio" name="Auto" value="$_POST[starke]"> Stärke<br>

    Was für ein Wert steht hier für das <input>-Element? Genau: Das zwischen den doppelten Anführungszeichen notierte Geschwurbel. Ob das für den Server so einen Sinn ergibt, ist fraglich, hängt aber letztlich vom verarbeitenden PHP-Script ab. Auf keinen Fall aber tut es das, was Du vermutest.

    Du willst wohl, dass die vom Anwender eingegebenen Werte von einem PHP-Script weiterverarbeitet werden? Also dass der User ein Formular ausfüllt, dieses dann an den Server abschickt und dieser dann eine Weiterleitung zu einem anderen Server als Antwort zurück sendet? Warum? Warum kann der User seine Eingaben nicht gleich an den anderen Server senden?

    <form name="Testform" action="">

    Aha, Du sendest Dein Formular an exakt die Seite, von der es geladen wurde. Als Übertragung hast Du die GET-Methode gewählt, da kein method-Attribut mit einer anderen Methode angegeben wurde und der Browser hier standardmäßig GET benutzt. Daher wird PHP in der $_POST-Variablen keine Werte finden, da diese in $_GET stehen.

    Das Script an sich läuft schon aber leider nicht so wie ich das gerne hätte,

    Da gibt es kein Script. Vielleicht ein JavaScript, aber das enthält in Deinem Beispielcode lediglich eine schließende geschweifte Klammer, die zu einem Syntax-Fehler in der JavaScript-Console Deines Browsers führen wird. Also gibt es effektiv kein Script. Nur HTML mit höchst seltsamen Werten in den <input>-Feldern.

    ?Auto=%24_POST%5Bstarke%5D&Name=4&Absendebutton=Skillen

    Hier sehen wir, wie der Browser die Daten korrekt als URL-Parameter kodiert (PHP hat für diesen Bedarfsfall eine passende Funktion) und dabei Sonderzeichen maskiert, ganz wie bei GET-Anfragen üblich. Hier ein Beispiel für eine Google-Suche mit URL-kodierten Parametern:

    https://google.com/?q=%C3%BCber+%C3%A4u%C3%9Ferst+%22seltsame%22+%C3%96ffnungen

    ich versuche aber zu machen das es einfach nur zu &charm=1 weiterleitet

    Dann solltest Du das Passende in die name- und value-Attribute eintragen. Dort steht im Moment name="Auto" und value="$_POST[starke]", was zu dem oben beschriebenen Ergebnis führt.

    soll es zu www.test.de/aufgabe.php&charm=1 weiterleiten

    Dann muss im <http://de.selfhtml.org/html/formulare/definieren.htm#bereich@title=action-Attribut des <form>-Elements> diese URL auch notiert sein! Desweiteren benötigst Du ein <input>-Element mit dem Namen "charm" und dem Wert "1", was in Deinem Beispielcode aber fehlt... Aber vor allem muss da ein Fragezeichen hin! Alles nach dem Fragezeichen (siehe Google-Link weiter oben!) wird als Parameter verstanden, alles davor als Pfad. Dein Ergebnis sollte dann http://example.org/aufgabe.php?charm=1 lauten.

    ich hoffe mir kann jemand helfen

    Du musst Dir selbst helfen. Dazu benötigst Du mehr Grundlagenwissen.

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)