PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   input type="hidden" method="post" variable übergeben (http://www.selfphp.de/forum/showthread.php?t=22583)

LiLiConsult 23.12.2009 03:54:03

input type="hidden" method="post" variable übergeben
 
Hallo @all,

seit nunmehr 2-3 Tagen hänge ich an einer Aufgabe, die ich bisher nicht lösen konnte. Hier im Forum und in einigen anderen Foren habe ich immer wieder Ideen erhalten, trotzdem hat es bisher nicht geklappt, obwohl ich Vieles (und wahrscheinlich viel Unsinniges) probiert habe.

Konkret:

* Die aktuellen Benutzerdaten (z. B. 'name' und 'passwort') lese ich aus der Datenbank und weise sie '$userinfo' zu

* Einige dieser Informationen will ich dem Folgeskript übergeben. Das habe ich mir grundsätzlich (am Beispiel 'name') so gedacht:

Zitat:

<form name="uebergabename" method="post" action=".../folgeskript.php">
<p>
<input type="hidden" name="mitglied" value="$userinfo[name]" />
</p>
<input type="submit" value="... ich will zum Folgeskript"><br />

</form>
* Im Folgeskript will ich nun durch '$mitglied = $_POST['mitglied']' mit dem Inhalt der Variablen weiter arbeiten.

Ich denke mal, die Wertezuweisung im vorausgehenden Skript (value="$userinfo[name]") ist fehlerhaft, jedenfalls kommt der Inhalt nicht im Folgeskript an.

Und durch die vielen (fehlgeschlagenen) Versuche bin ich mittlerweile so 'down', dass ich auch einfachste Fehler nicht mehr erkenne. Und bevor ich jetzt in den Wald gehe und einen 20-Meter-Weihnachtsbaum fälle, hoffe ich auf die Erlösung hier im Forum.

Vorab schon 'Vielen Dank' für jeden konstruktiven Hinweis.

Gruß
Wolfgang

Oskar 23.12.2009 06:46:37

AW: input type="hidden" method="post" variable übergeben
 
Moin,

könnte der Fehler im Folgescript liegen?

* Im Folgeskript will ich nun durch '$mitglied = $_POST['mitglied']' mit dem Inhalt der Variablen weiter arbeiten.


Ich würde mal die Anführungsstriche bei $_POST['mitglied'] entfernen, also $_POST[mitglied]

Frage mich auch was die drei Punkte hier action=".../folgeskript.php" zu suchen haben. Entweder einen Punkt, falls das Script im gleichen Pfad liegt, oder zwei Punkte um einen Pfad nach unten zu gehen.

Gruß Oliver

DokuLeseHemmung 23.12.2009 10:48:34

AW: input type="hidden" method="post" variable übergeben
 
Welch ein Unsinn....
Passwörter aus der DB lesen und Usernamen über hidden Fields übergeben...

Schon von Session gehört?

cortex 23.12.2009 23:43:31

AW: input type="hidden" method="post" variable übergeben
 
Zitat:

Zitat von LiLiConsult (Beitrag 133261)
Vorab schon 'Vielen Dank' für jeden konstruktiven Hinweis

möglicherweise wird dir meine anmerkung nicht besonders gefallen, aber bezugnehmend auf DokuLeseHemmung: lass das ganze, übertrage keinen sensiblen daten via hidden fields, arbeite mit sessions, lerne grundlagen.

sehr gute tutorials gibt's unter punkt d unserer forenregeln.

cx

cortex 23.12.2009 23:55:01

AW: input type="hidden" method="post" variable übergeben
 
Zitat:

Zitat von Oskar (Beitrag 133262)
Ich würde mal die Anführungsstriche bei $_POST['mitglied'] entfernen, also $_POST[mitglied]

das war wohl nix... absoluter newbie-fehler.

$_POST im php-handbuch: link

Zitat:

Zitat von Oskar (Beitrag 133262)
Frage mich auch was die drei Punkte hier action=".../folgeskript.php" zu suchen haben.

das frage mich mich allerdings auch .-

cx

LiLiConsult 25.12.2009 09:26:01

AW: input type="hidden" method="post" variable übergeben
 
Schon mal 'Danke' für alle bisherigen Beiträge. Habe noch zwei Schichten vor mir und werde mich dann Sonntag ausführlich damit beschäftigen können.

Zur Aufklärung vorab: Die drei Punkte (action=".../folgeskript.php") sind lediglich Platzhalter für den für meine Frage unerheblichen Pfad.

Gruß
Wolfgang

Oskar 26.12.2009 18:12:06

AW: input type="hidden" method="post" variable übergeben
 
Hallo,

wenn ich so ein Problem habe mache ich meistens folgendes:

Ich trage für das Folgescript einfach action="./test.php ein. In diesem Script test.php fange ich einfach den übergebenen Wert und laße ihn mir per print $mitglied; ausgeben.

So sehe ich ob überhaupt was ankommt.

Hast Du in Deinem Folgescript auch die Variable $mitglied beibehalten oder wurde eventuell die Variable mal $Mitglied, also mit Großbuchstabe, verwendet? Diesen Fehler hab ich nämlich vor 2 Tagen gemacht und etwas länger gesucht.

Diese sensiblen Daten per Session zu übergeben ist auf jeden Fall die saubere Lösung, da kann ich meinen Vorrednern nur zustimmen.

LiLiConsult 09.01.2010 10:18:27

AW: input type="hidden" method="post" variable übergeben
 
Nachtrag:

So, diese Aufgabe ist jetzt gelöst. Da es ein anderer Weg als der hier vorgeschlagene ist, also nicht über Sessions, habe ich die Datenübergabe an das externe Skript bis ins Detail und bis zur letzten Funktion getestet, ob es wirklich durchgängig klappt.

Den folgenden Weg habe ich gewählt, weil dieser vom Entwickler des externen Skripts favorisiert wird.

Zitat:

<form method="post" action="http://www.Website/folgeskript.php" name="user_trans">
<input type="hidden" name="nickname" value="<?php echo $NAME; ?>" />
<a href="javascript:document.user_trans.submit()">... Aktion</a>
</form>
Nochmals Danke für die Lösungsansätze.

Gruß
Wolfgang

feuervogel 09.01.2010 11:49:53

AW: input type="hidden" method="post" variable übergeben
 
Zitat:

Zitat von LiLiConsult (Beitrag 133311)
Zur Aufklärung vorab: Die drei Punkte (action=".../folgeskript.php") sind lediglich Platzhalter für den für meine Frage unerheblichen Pfad.

Gruß
Wolfgang

wie schön dass du bei den dir antwortenden damit einen erhöhten denkaufwand erzeugt hast, das motiviert doch so richtig, weiterhin zu helfen. vielleicht solltest du vorher kenntlich machen, was nicht dem original entspricht.

cortex 10.01.2010 09:37:27

AW: input type="hidden" method="post" variable übergeben
 
ok... das thema ist (meiner bescheidenen meinung nach) durch.

[mod: closed]

cx


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:09:59 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.