• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Formular -> Werte direkt in eine Adresse?

Status
Für weitere Antworten geschlossen.

Keast

Neues Mitglied
Hallo Community!

Wie man sieht bin ich brandneu hier, also entschuldige mein Unwissen. ;)
Ich habe eine Frage zu Formularen, die ihr wahrscheinlcih ganz schnell lösen könnt:

Sagen wir mal ich habe ein Formular, eine Zeile, und den Wert dieses Eingabefeldes will ich in eine Adresse übertragen.
Sagen wir nun (:D) man tippt in das Feld "TagKeast" ein, so soll zB. das dabei rauskommen:

http://www.last.fm/user/TagKeast/

Ich habe da was rumprobiert aber ich komme immer auf die Standardseite von Last.FM. Bitte helft mir! :)

Danke schon mal im voraus!
 
Dein Formular arbeitet ja normalerweise mit GET oder POST Variablen.
Also wird die URL standardmäßig "index.php?var1=wert&var2=wert2" lauten.

Mit JavaScript kann man das ganze natürlich anders gestalten.

Code:
<script type="text/javascript">
function goToUserHome() {
 wer = document.getElementById('user_textfeld').value;
 document.location = 'http://www.last.fm/user/'+wer+'/';
}
</script>
<input type="text" name="user" id="user_textfeld" /><br />
<input type="button" onClick="goToUserHome();" />
*ungetestet

zu beachten ist insbesondere, dass du das Formular nicht wirklich absendest!
 
Das ganze handelt sich hierbei NICHT um Java, sonder um JavaScript ;)
Du hast eigentlich kein Formular mehr.
Das input-field
Code:
<input type="submit" value="absenden" />
entfällt komplett.
Ist also nicht mehr wirklich ein Formular in dem Sinne ;)
 
So, und nun mal das ganze in PHP:
PHP:
<?php
if(isset($_POST['DerNameDesFeldes'])) {

header('Location:http://www.last.fm/user/' . $_POST['DerNameDesFeldes']);



}
?>
<form action="" method="POST" />
<input type="text" name="DerNameDesFeldes" />
<input type="submit" name="Button1" value="Los geht's" />
</form>
Wichtig ist, dass das
PHP:
<?php
if(isset($_POST['DerNameDesFeldes'])) {

header('Location:http://www.last.fm/user/' . $_POST['DerNameDesFeldes']);



}
?>
in der PHP-Datei vor allen anderen Browserausgaben steht steht, am besten also in Zeile 1 (an dieser Stelle danke ich da_loki ;) )

mfg Plankton
 
Zuletzt bearbeitet von einem Moderator:
Oh ja natürlich ist das kein Java ;)

Also, danke nochmals... aber können wir bitte zurück zum Ursprung? Da verseth ich noch die Hintergrunde... :)
Ich kann natürlich auch die PHP und Java Scripts nehmen, aber ich wollte das einfach mal mit HTML probieren,
soweit wie ichs selber verstehe.

(Damit ihr mich nicht falsch verstegt: Bitte nicht erklären was ihr da geschrieben habt! ;))

@Loki: Ja, aber wieso darf ich dann nicht mehr submitten?

EDIT: Nochmal zum verständnis: Ich will ein Formular oder irgendetwas in der Art machen, in das man einen Namen eingibt und eben dieser Wert in eine Adresse eingefügt wird, auf die der User dann weitergeleitet wird.
(Natürlich das ganze mit Submit Button).

EDIT 2: Nochmal @ Loki: Ich glaube ich habe das " zu beachten ist insbesondere, dass du das Formular nicht wirklich absendest!" falsch verstanden.
Meintest du damit, ich darf das nicht "absenden" oder das passiert einfach nicht?!
 
Zuletzt bearbeitet:
Wenn du das Formular sendest, leitet dieses ja die Formular Daten an die URL, die du im <form action="datei.php"> angegeben hast.

Da möchten wir aber nicht hin!

Du möchtest ja stattdessen zu "/user/[username]/", aber kennst den Inhalt von [username] zu dem Zeitpunkt noch nicht, wo du das Formular erstellst.

Deswegen gibt es die beiden Methoden, die wir hier zusammengetragen haben.
Einerseits mit PHP, wo du dann eben in der datei.php ihm den Header verdrehst, und auf die richtige URL hinweist.
Andererseits mit JavaScript, welches direkt dem Browser sagt, spring jetzt dahin, und nicht erst noch auf die datei.php, also nicht alle Daten des Formulars auf dem normalen Weg senden.
 
Die JavaScript-Variante hat aber einen entscheidenden Nachteil: Hat der User JS deaktiviert, funktioniert das alles nicht;)

mfg Plankton
 
Wenn du das Formular sendest, leitet dieses ja die Formular Daten an die URL, die du im <form action="datei.php"> angegeben hast.

Da möchten wir aber nicht hin!

Du möchtest ja stattdessen zu "/user/[username]/", aber kennst den Inhalt von [username] zu dem Zeitpunkt noch nicht, wo du das Formular erstellst.

Deswegen gibt es die beiden Methoden, die wir hier zusammengetragen haben.
Einerseits mit PHP, wo du dann eben in der datei.php ihm den Header verdrehst, und auf die richtige URL hinweist.
Andererseits mit JavaScript, welches direkt dem Browser sagt, spring jetzt dahin, und nicht erst noch auf die datei.php, also nicht alle Daten des Formulars auf dem normalen Weg senden.
Man kann das aktuelle einfach erneut an die Seite "senden".
Ich verwende dazu:
PHP:
<form name="formname" action="<?php $SERVER['PHP_SELF']; ?>">
<!--Hier der Rest-->
</form>
MfG, matibaski
 
Hm ja danke ich es funktioniert auch ganz gut mit Java Script. :)
Noch eine Frage: Wie kann ich die Ziel-URL noch durch eine Auswahlbox bestimmen?
Also das man auswählt ob der Suchbegriff in Last FM oder XXX oder ZZZ eingegeben wird?

EDIT: Hilfe? ;)
 
Zuletzt bearbeitet:
Gib der Auswahlbox einen namen und eine id.
Diese kannst du dann auch über
Code:
document.getElementById('name').value
abfragen, und dementsprechend deine URL aufbauen.
 
Sorry, aber von Java Script habe ich, wie gesagt, kaum Ahnung. Wie binde ich das ein?
(Ich hab schon alles probiert soweit ich wusste...)
 
Code:
<script type="text/javascript">
function goToUserHome() {
 wer = document.getElementById('user_textfeld').value;
 wo = document.getElementById('sucheHier').value;
 document.location = 'http://www.'+wo+'/user/'+wer+'/';
}
</script>
<input type="text" name="user" id="user_textfeld" /><br />
<input type="button" onClick="goToUserHome();" />
<select name="sucheHier" id="sucheHier">
<option value="last.fm" selected="selected">last.fm</option>
<option value="test.de">test.de</option>
</select>

Hoffe das hilft dir weiter.
Im Option-Value kannst du auch andere / erweiterte URLs angeben. Dann musst du oben beim document.location den Pfad anpassen.
 
Vielen Dank für die Mühe die du dir machst um einem noob zu helfen. Ich probiers gleich mal. :)

Bis jetzt hat das alles ganz gut geklappt.

Wenn ich aber das ganze mit zB. Ebay machen will, muss ich die Variable

1. in die Mitte der URL setzen
2. zwei mal einfügen!

Jemand eine Ahnung, wie das geht, und man trotzdem die Form von da_loki übernehmen kann?

HILFE?
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
Zurück
Oben