Submit Problem
PokerFace
- php
Hallo,
eine kurze frage und eine kleine Schilderung meines Problems.
Auf einer PHP (eins.php)Seite habe ich Textfelder. Diese müssen ausgefüllt werdern. Dann drücke ich auf den Submit Button und ein PHP Skript wird ausgeführt, nach
<form method="post" action="eins.php">
.
.
.
</form>
Ist es mit PHP irgendwie möglich von einer anderen PHP Seite (zwei.php) mittels Submit, den "Submit Skript" auf der PHP Seite eins.php auszuführen.
Auf zwei.php habe ich eine Weiterleitung auf eins.php gemacht, aber ich muss dann noch auf "Submit" klicken, damit das "Skript" ausgeführt wird.
Ist es möglich, irgendwie automatisch das Skript auf eins.php auszuführen ohne nochmals auf Submit zu klicken
PokerFace
Hi,
Ist es mit PHP irgendwie möglich von einer anderen PHP Seite (zwei.php) mittels Submit, den "Submit Skript" auf der PHP Seite eins.php auszuführen.
Welches "Skript"?
Auf zwei.php habe ich eine Weiterleitung auf eins.php gemacht, aber ich muss dann noch auf "Submit" klicken, damit das "Skript" ausgeführt wird.
Dann pack den Code aus zwei.php in eins.php, dann kannst du dir die Weiterleitung sparen.
Ist es möglich, irgendwie automatisch das Skript auf eins.php auszuführen ohne nochmals auf Submit zu klicken
Wenn der Scriptcode in eins.php nicht davon abhaengig sein soll, ob per POST das name=value-Paar eines Submit-Buttons uebertragen wurde - dann mache ihn einfach nicht davon abhaengig.
Und wenn dir das als Antwort nicht weiterhilft - dann beschreibe dein Problem mal nachvollziehbarer.
MfG ChrisB
Hallo Chris,
sorry, wegen meiner Ausdrucksweise von vorhin. Hatte es etwas eilig....
Welches "Skript"?
Meine Werte aus den Textfeldern werden von der einen Seite (2wei.php) zu der anderen Seite (eins.php) in den richtigen Textfelder übertragen.
Auf der Seite eins.php ist ein "Submit" Button, der beim draufklicken einen PHP Code auf der Seite eins.php ausführt.
Der Stand der Dinge ist bei mir so:
Wenn ich auf der Seite zwei.php meine Textfelder ausgefüllt habe und auf Submit drücke erscheinen die Werte aus den Textfelder von der Seite zwei.php auf der Seite eins.php.
Nun muss ich nochmal auf der Seite eins.php auf den Submit button drücken, damit die Werte dort "verarbeitet" werden.
Ich möchte es aber so haben, dass wenn ich schon auf der Seite zwei.php auf Submit drücke, dass automatisch die Daten auf der Seite eins.php "verarbeitet" werden ohne das ich nochmals auf Submit drücken muss.
Quasi so, das wenn ich auf der Seite zwei.php auf Submit drücke das automatisch die übertragenen Werte von der Seite eins.php verarbeitet werden, quasi soll der PHP CODE auf der Seite zwei.php es "verlangen" das eins.php auf "selber" auf Submit "klickt", wenn die Daten übertragen sind.
Vielen Dank.
PokerFace
hi $name,
also mir wird das immer noch nich klarer, aber wie ChrisB schon sagte: hau das ganze in in eine datei und du bis aller sorgen ledig.
gruss
shadow
Hallo shadow,
wie ChrisB schon sagte: hau das ganze in in eine datei und du bis aller sorgen ledig.
das geht leider nicht. Weil bei eins.php sowas steht:
<from action="eins.php" method="post">
.
.
.
</form>
und bei zwei.php steht sowas:
<from action="eins.php" method="post">
.
.
.
</form>
Die Sachen werden ja von zwei.php an eins.php übergeben, damit es überschauber wird.
Ich will nicht die Sachen in eine Datei packen. Ich will ja nur, dass der PHP Code auf der Seite eins.php nach dem übertragen der Werte von sich selbst ausgeführt wird.
Vielen Dank.
PokerFace
Hallo,
mal eine andere Frage, wie kriegt man es hin, beim ersten laden der Seite irgendwie automatisch ein formular abzusenden, und hier auch ohne auf submit button zu drücken.
Gruß
PokerFace
hi $name,
mal eine andere Frage, wie kriegt man es hin, beim ersten laden der Seite irgendwie automatisch ein formular abzusenden, und hier auch ohne auf submit button zu drücken.
AFAIK garnicht, es gibt aber verschiedene möglichkeiten daten zwischen verschiedenen scripten auszutauschen (und wehe jmd. denkt jetzt an register_globals) ich bin immer noch der meinung eine datei reicht, das formular in der 2. ist doch überflüssig und wenn du übersicht willst dann includiere doch teile z.b. den ganzen teil der die verarbeitung übernimmt, den hast du dann aus dem kreuz.
gruss
shadow
Hallo,
weiß echt keiner hier wie man einen submit sendet wenn die seite geladen ist und die Werte übertragen wurden sind?
Es kann sein, dass es euch nicht sinnig erscheint, was ich vorhabe, aber genau das brauche ist.
Leider hat das mit dem includen der einen Datei in die andere Datei nichts gebracht, weil irgendwie eine Fehlermeldung kam, die ungefähr so hieß:
Fatal Error: called undefined function.....
Vielen Dank und viele Grüße
PokerFace
echo $begrüßung;
weiß echt keiner hier wie man einen submit sendet wenn die seite geladen ist und die Werte übertragen wurden sind?
Einen Client zu veranlassen, einen POST-Request zu senden, geht meines Wissens nach nur über ein Formular, das man mit Javascript absendet. Ob der Client das anstandslos macht oder dazu beim Nutzer nachfragt, müsstest du testen. Mit einem Location-Header bekommt man nur einen GET-Request hin.
Leider hat das mit dem includen der einen Datei in die andere Datei nichts gebracht, weil irgendwie eine Fehlermeldung kam, die ungefähr so hieß:
Fatal Error: called undefined function.....
Vermutlich hast du dich vertippt, rät meine Glaskugel. Es wäre für den potentiellen Antwortenden und nicht zuletzt damit für dich hilfreicher, wenn du präzisere Angaben zu deinem Tun und der Reaktion darauf machst.
echo "$verabschiedung $name";
Hallo,
naja, ich gebe zu ich sitze, seit mein letzten Posting immernoch an der Sache fest.
Ich schicke mal das Skript zu, damit Ihr Euch ein überblick schafft, wo mein Problem ist.
<?PHP
session_start();
include 'configlogin.php';
if (isset($_POST['login']))
{
$nr=control($_POST['art'], $_POST['pwd']);
if ($nr!=false)
login($nr);
else
echo ' !!! Falsches Passwort oder Artikel Nummer !!! ';
}
if (!logged())
{ echo '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<form method="post" action="login2.php">
<div align="center">
<table align="center" valign="middle" style="margin-top:12px;">
<tr>
<td width="70">Art-Nr.:</td>
<td width="120"><input type="text" class="feld" name="art" value='; echo $_POST['art']; echo' /></td>
</tr>
<tr>
<td width="70">Kennwort:</td>
<td width="120"><input type="password" class="feld" name="pwd" value='; echo $_POST['pwd']; echo' /></td>
<td width="60"><input type="submit" class="button" /></td>
</tr>
</table>
</div>
</form>
</body>
</html>';
}
else
{
echo'
<html>
<head>
<meta http-equiv="refresh" content="0; URL=http://www.aaaaaaaaaaa.aa/aaaaa.php?aaaaa=art">
</head>
</html>';
}
?>
Wie gesagt, die datei heisst login2.php. Art.-Nr. und Kennwort werden von zwei.php per $_POST an diese Seite weitergegeben. Nun will ich nicht nochmal auf login2.php Submit klicken damit ich weitergeleitet werde sondern, gleich von zwei.php. In zwei.php steht genau der gleiche Code.
Ich hoffe, ich habe mich auf so etwas besser und verständlich ausgedrückt.
Ich hoffe Ihr könnt mir bei der Suche meines Fehler weiterhelfen und Tipps geben.
Vielen Dank und viele Grüße
PokerFace
echo $begrüßung;
Wie gesagt, die datei heisst login2.php. Art.-Nr. und Kennwort werden von zwei.php per $_POST an diese Seite weitergegeben. Nun will ich nicht nochmal auf login2.php Submit klicken damit ich weitergeleitet werde sondern, gleich von zwei.php. In zwei.php steht genau der gleiche Code.
Wenn du gar nicht nach login2.php willst, warum gehst du dann dahin? Bleib doch in zwei.php wenn das dein Ziel ist.
Ich hoffe, ich habe mich auf so etwas besser und verständlich ausgedrückt.
Du hast nur gesagt, was du willst. Das erscheint mir aber nicht sehr sinnvoll, kann aber keinen Vorschlag für eine bessere Lösung unterbreiten, weil ich das eigentliche Ziel nicht kenne. Es geht jedenfalls nicht (ohne Javascript), den Browser zu einem POST zu bewegen.
echo "$verabschiedung $name";
hi,
mal eine andere Frage, wie kriegt man es hin, beim ersten laden der Seite irgendwie automatisch ein formular abzusenden, und hier auch ohne auf submit button zu drücken.
Vielleicht hilft es ja, wenn du mal kurz erläuterst, was dass Ziel dieser Übung ist.
Warum werden Werte, die in einem Formular ausgewertet wurden, in einem zweiten schritt (Formular) nochmal ausgewertet?
mfg
Mahlzeit PokerFace,
sorry, wegen meiner Ausdrucksweise von vorhin. Hatte es etwas eilig....
Und Du meinst, dass eilig hingeworfene Satzfragmente es Deinen Lesern erleichtern, Dein Anliegen zu erraten?
Meine Werte aus den Textfeldern werden von der einen Seite (2wei.php) zu der anderen Seite (eins.php) in den richtigen Textfelder übertragen.
So, und hier machen wir dann erstmal halt. Eine grundsätzliche Frage: ist Dir überhaupt klar, was Deine Formulare und PHP-Skripte tun? Ist Dir der Unterschied zwischen server- und clientseitig bewusst?
Wenn Du in einem HTML-Dokument ein Formular angibst, dann werden die in diesem Formular enthaltenen Eingabeelemente (egal ob Textboxen, Auswahllisten, Checkboxen usw.) an die Ressource geschickt, die als Formularziel festgelegt ist - in Deinem Fall wäre das also in beiden Fällen das PHP-Skript "eins.php".
Dieses PHP-Skript sollte jetzt die übergebenen Daten (GET oder POST?) verarbeiten - vollkommen irrelevant, woher sie kommen: sie kommen nämlich nirgendwo her ... jedenfalls nicht "von irgendeiner Seite". Der Client (also Dein Browser) schickt diese Daten nämlich an das Skript - und es spielt keine Rolle, ob er das aufgrund eines Formulars tut, wenn ja, woher er es hat usw.
Anscheinend verhält sich Dein Skript "eins.php" allerdings unterschiedlich - je nachdem, wie genau die Formulardaten aussehen, die es bekommt. Diesen Unterschied zwischen den Formualardaten (Felder sowie ihre Namen und Inhalte, Buttons usw.) solltest Du genauer analysieren und - wenn Du nicht weiterkommst - ggf. hier relevanten Quellcode posten, so dass man Dir auch helfen kann.
Auf der Seite eins.php ist ein "Submit" Button, der beim draufklicken einen PHP Code auf der Seite eins.php ausführt.
Falsch. Der "Submit"-Button schickt das Formular, in dem er sich befindet, an das im Formularziel genannte Skript.
Wenn ich auf der Seite zwei.php meine Textfelder ausgefüllt habe und auf Submit drücke erscheinen die Werte aus den Textfelder von der Seite zwei.php auf der Seite eins.php.
Dann nimmt Dein PHP-Skript "eins.php" anscheinend die übergebenen Werte entgegen und verwendet sie bei der Generierung des Formulars, das es erzeugt, als Standardwerte für die Formularelemente.
Offenbar fehlt ihm aber irgendeine Information, so dass es die ihm übergebenen Daten nicht verarbeitet.
Ich möchte es aber so haben, dass wenn ich schon auf der Seite zwei.php auf Submit drücke, dass automatisch die Daten auf der Seite eins.php "verarbeitet" werden ohne das ich nochmals auf Submit drücken muss.
Dann sorg dafür, dass ein Client die gleichen Formulardaten an Dein verarbeitendes Skript schickt, egal woher er das Formular bekommt - dass also das Formular, das von "zwei.php" generiert wird, genauso aussieht wie das Formular, das von "eins.php" generiert wird.
Quasi so, das wenn ich auf der Seite zwei.php auf Submit drücke das automatisch die übertragenen Werte von der Seite eins.php verarbeitet werden,
Das geht - siehe oben.
quasi soll der PHP CODE auf der Seite zwei.php es "verlangen" das eins.php auf "selber" auf Submit "klickt", wenn die Daten übertragen sind.
Das geht zwar auch - ist aber fehlerträchtig und unschön.
MfG,
EKKi