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

Feldinhalt per Link übergeben

FreddyS

Neues Mitglied
Hallo brauche wieder mal hilfe

Ich verwende folgenden code, um den inhalt des feldes artikel an ein folgeprogramm zu übergeben (und in diesem einzulesen):

<input name="artikel" type="text" value"" size="12">

echo '<a href="shopartsuch.php?artikel='.artikel.'">Suchen</a>';

Übertragen wird aber nicht der feldinhalt von artikel, sondern der text artikel.


Wie muss ich das a-tag ändern, damit der feldinhalt übertragen wird
 
Werbung:
das kann nicht funktionieren!
Du übermittelst ja nichts.
von den vielen anderen Fehlern, die du in dem kleinen Codefragment unterbringen konntest mal ganz abgesehen.

HTML:
<form action="shopartsuch.php" method="POST">
   <input type="text" name="artikel">
   <input type="submit" value="Suchen">
</form>
und auf der Zielseite wertest du die Eingabe mit
PHP:
$_POST['artikel']
aus.
 
sorry, da ist wohl beim erfassen/Kopieren was schiefgelaufen

es gimg um folgenden code:

<imput type="text" name="artikel">
<?php

echo'<a href="xy.php?artikel='.artikel.'">senden</a>';

Über das a-tag möchte ich den inhaöt von artikel (input-tag) übergeben, funktioniert aber nicht
 
Werbung:
Bevor mir jetzt wieder jemand mitteilt, dass es input statt imput heissen muss, korrigiere ich dies hier selbst.

Ausserdem habe ich es natürlich auch mit $_GET.. probiert, funktioniert aber genau so wenig.

Wäre nett, wenn mir jemand die ursache mitteilen könnte, danke schon jetzt
 
Die Ursache ist,dass du eine Variable auswerten willst, die keine ist und zwar vor dem Absenden eines Formulares, das nicht existiert und zur Krönung auch noch mit einem normalen Link ohne Submitfunktion.

Verrätst du mir, was mit meinem Lösungsvorschlag oben nicht in Ordnung ist?

//EDIT:
Wenn dein Missfallen an meinem Lösungsvorschlag daran liegt, dass in der Zieldatei mit $_GET[] ausgewertet wird, dann hast du zwei möglichkeiten.
1. ändere method="POST" in meinem Beispiel in method="GET" (unsicher)
2. suche in der Zieldatei alle $_GET['artikel'] und ersätze sie durch $_POST['artikel'] (sicherer)

Falls es daran liegt, dass dir der Submitbutton nicht gefällt, dann ändere mit CSS sein Erscheinungsbild.
 
Zuletzt bearbeitet:
gerne, der submit-Button ist bereits anderweitig belegt (submit-Button, der ein anderes pgm aufruft).

Und jetzt brauche ich eine lösung, um über <a>link parameter weiterzugeben (mit einer variable, also z. B. $artikel, würde das ja auch funktionieren, habe ich oft genug praktiziert, z, B <a href ="xy.php?artikel='.$artikel.'"> usw.), aber wie bekomme ich den inhalt dieses input-feldes ohne submit weitergegeben (z. B. über einen Link) ???
 
Werbung:
Sicher. Aber dafür muss die Variable erst mal definiert sein. Dafür musst du den Inhalt des Textfeldes auswerten/übermitteln.
So wie du das vorhast, geht das nur über ein eigenständges Formular für dieses Inputfeld.
Ohne vorherige Übermittlung geht das bestenfalls mit JavaScript.

Ich verstehe aber immer noch nicht wo das Problem liegt.
Wäre vielleicht hilfreich, wenn man mal den gesamen Code zu sehen bekäme ;)
 
Haalo, danke, mehr code braucht es nichts, was ich übermittelt habe beinhaltet das ganze Problem (und selbstverständlich sende ich über den link einen Parameter an das Folgeprogramm, momentan nurm leider mit falschem inhalt.

Ich kann in dem code auch nicht die menge fehler finden, die du siehst.

Das Problem, um das noch einmal deutlich zu machen, besteht darin, dass in dem formular bereits ein anderer button (submit) verwendet wird und ich somit eine andere lösung bemötige, um ein zweites formular mit parameter aufzurufen.

Ich habe das auch bereits früher realisiert (kann sein mit js), komme aber momentan nicht an meinen code, da ich mich im krankenhaus befinde und nur einen üffentlichen pc benutzen kann.

Hatte gehofft, dass jemand das problem versteht und helfen kann
 
Ein Formular kann auch beliebig viele Buttons enthalten. Auf der Seite an die das Formular abgeschickt wird, kannst Du dann auslesen, welcher Button zum Abschicken genutzt wurde.

Alternative: JavaScript.

Code:
onclick="formularobjekt.submit();"
 
Werbung:
und selbstverständlich sende ich über den link einen Parameter an das Folgeprogramm
Mit diesem Link
FreddyS schrieb:
<a href="shopartsuch.php?artikel='.artikel.'">Suchen</a>
übergibst du das Wort artikel. Mehr nicht.

momentan nurm leider mit falschem inhalt.
Wieder falsch. Dü übermittels garkeinen Inhalt, da in dem Link keine Variable steht.

Später verbesserst du dich auf
FreddyS schrieb:
<a href ="xy.php?artikel='.$artikel.'">
Nun haben wir eine Variable.
Aber die würde garkeinen Parameter ergeben. Nicht mal das Wort artikel.
Die Variable ist leer!!
Warum?!
Weil name="artikel" nicht automatisch die Variable $artikel ergibt, sondern die Variable $_POST["artikel"]...aber selbst das erst nach dem Absenden und nicht schon davor!
Sind dir deine Fehler jetzt bewusst?

Mache es mit type="submit" und werte auf der Zielseite aus oder mach es mit Javascript.
Dein Weg ist falsch und wenn du noch so sehr drauf beharrst, dass du das schon so gemacht hast.
Es wird dadurch nicht richtig.
 
natürlich weiss ich, dass artikel nicht das enthält, was es soll (nämlich einmal den text artikel, einmal nichts); deshalb habe ich mich um hilfe an das forum gewandt.

Und dass eine seite mehrere buttons enthalten kann, weiss ich auch.

Aber es ist doch nicht möglich, per submit/button von einer seite auf verschiedene andere formulare zu verzweigen (deshalb scheidet submit hier aus, da bereits anderweitig belegt).

Bleibt wohl nichts anderes übrig, als es mit js zu versuchen, aber wie ? Das wie ist übrigens seit meinem ersten Beitrag die Frage, leider habe ich darauf bis jetzt keine antwort erhalten.

Trotzdem danke an alle für eure mühe.
 
Bleibt wohl nichts anderes übrig, als es mit js zu versuchen, aber wie ? Das wie ist übrigens seit meinem ersten Beitrag die Frage, leider habe ich darauf bis jetzt keine antwort erhalten.
Ich hab schon ergiebigere Gespräche mit Bäumen geführt.
Man gibt dir Lösungen an die Hand und du siehst sie nicht.
Und am Ende behauptest du man würde dir nicht helfen wollen.
Dafür musst du den Inhalt des Textfeldes auswerten/übermitteln.
So wie du das vorhast, geht das nur über ein eigenständges Formular für dieses Inputfeld.
Ohne vorherige Übermittlung geht das bestenfalls mit JavaScript.
Ein Formular kann auch beliebig viele Buttons enthalten. Auf der Seite an die das Formular abgeschickt wird, kannst Du dann auslesen, welcher Button zum Abschicken genutzt wurde.
Alternative: JavaScript.
Code:
onclick="formularobjekt.submit();"
Du hast von mir und threadi Antworten auf da "wie" mit PHP bekommen.
Du hast von threadi eine Antwort auf das "wie" mit JS bekommen.
Wie viel mehr Hilfe erwartest du mit einem Fehlerhaften Codeschnipsel ohne Zusammenhang zum umliegenden Code und zum Zielcode, die du uns beide nicht zeigen willst?
Stattdessen schwafelst du was davon, dass der Submitbutton "schon belegt" ist, obwohl man dir vorher schon gesagt hat, dass ein Formular beliebig viele Submitbuttons haben darf.

Ich bin raus aus diesem Thread.
Zeitverschwendung
 
Werbung:
Aber es ist doch nicht möglich, per submit/button von einer seite auf verschiedene andere formulare zu verzweigen (deshalb scheidet submit hier aus, da bereits anderweitig belegt).

Falsch. Das ist die einzige Möglichkeit die funktioniert außer einer JavaScript-Lösung.

Code:
if($_GET["button"] == "button1"){ header("Location: http://www.google.de");}
 
Zurück
Oben