| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

18-04-2010, 14:43
|
|
NickD
Registrierter Benutzer
|
|
Registriert seit: Nov 2006
Beiträge: 6
|
|
Formular HTML Array Keys gehen verloren
Hallo,
ich habe ein Problem mit Arrays in Formularen bzw. dem vergeben von Array-Keys.
Beispiel:
Code:
<form action="" method="post">
<input type="text" name="meinArray[meinKey]" value="meinValue">
<input type="hidden" name="hiddenArr[2]" value="meinValue">
<input type="submit" name="submit" value="senden">
</form>
Wenn ich dieses sende, sollte per Post folgendes verschickt werden:
Code:
meinArray[meinKey] = meinValue
hiddenArr[2] = meinValue
jedoch verändern sich die Keys:
Code:
meinArray[0] = meinValue
hiddenArr[0] = meinValue
Ich habe dazu mal ein Test-Script online gestellt, welches folgendes Formular enthält:
Code:
<form action="" method="POST">
<input type="hidden" name="foo[bar]" value="true">
<input type="submit" name="senden" value="senden mit POST">
</form>
gesendet wird dort fälschlicherweise:
PHP-Code:
array(2) {
["foo"]=>
array(1) {
[0]=>
string(4) "true"
}
["senden"]=>
string(15) "senden mit POST"
}
und so sollte es sein:
PHP-Code:
array(2) {
["foo"]=>
array(1) {
["bar"]=>
string(4) "true"
}
["senden"]=>
string(15) "senden mit POST"
}
hier gehts zum Script
Meine PHP-Version ist 5.2.6 (ohne Suhosin).
Über Hilfe würde ich mich riesig freuen....sitze an dem Problem schon ca. eine Woche und über Google lässt sich nichts finden.
LG
|

18-04-2010, 16:12
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Bist du zufällig auch bei Hosteurope
Also, das ist ganz sicher kein Standardverhalten.
Entweder sitzt da irgendwo ein Filter dazwischen, oder da wurde sonstwie rumgewerkelt.
EDIT: Wenn ich deine Startseite versuche aufzurufen, erhalte ich
Zitat:
|
Forbidden - You don't have permission to access /scripts/ on this server.
|
Sicher dass da nicht irgendwo was umgeleitet (o.ä.) wird?
Geändert von TobiaZ (18-04-2010 um 16:17 Uhr)
Grund: neuer Ansatz
|

18-04-2010, 16:46
|
|
NickD
Registrierter Benutzer
|
|
Registriert seit: Nov 2006
Beiträge: 6
|
|
Zitat:
Zitat von TobiaZ
Bist du zufällig auch bei Hosteurope
Also, das ist ganz sicher kein Standardverhalten.
Entweder sitzt da irgendwo ein Filter dazwischen, oder da wurde sonstwie rumgewerkelt.
EDIT: Wenn ich deine Startseite versuche aufzurufen, erhalte ich Sicher dass da nicht irgendwo was umgeleitet (o.ä.) wird?
|
Als erstes: Du bist mein persönlicher Held!!!!
Ich habe meine Domain bei United-Domains und mache eine versteckte Weiterleitung auf meinen Server. Wenn ich das Script über die Serveradresse aufrufe und das Formular absende, werden die Array-Keys beibehalten.
Was hat denn aber die versteckte Weiterleitung damit zutun?
|

18-04-2010, 16:55
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von NickD
Ich habe meine Domain bei United-Domains und mache eine versteckte Weiterleitung auf meinen Server.
|
Wie funktioniert diese Weiterleitung?
Firebug zeigt jedenfalls an, dass
Code:
foo%5Bbar%5D=true&senden=senden+mit+POST
verschickt wird - das ist also noch OK.
Beim Weiterleiten wird also irgendwie an den Daten manipuliert.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

18-04-2010, 17:05
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

18-04-2010, 17:10
|
|
NickD
Registrierter Benutzer
|
|
Registriert seit: Nov 2006
Beiträge: 6
|
|
Zitat:
Zitat von wahsaga
Wie funktioniert diese Weiterleitung?
Firebug zeigt jedenfalls an, dass
Code:
foo%5Bbar%5D=true&senden=senden+mit+POST
verschickt wird - das ist also noch OK.
Beim Weiterleiten wird also irgendwie an den Daten manipuliert.
|
Das ist eine gute Frage, wie diese Weiterleitung funktioniert. Ich habe zu jeder Domain die Möglichkeit entweder eine direkte Weiterleitung zu einer Domain zu machen (header redirect), eine Frameweiterleitung oder url-hiding (versteckte Weiterleitung).
Das Problem ist, dass ich den Server nicht bei United-Domains habe, sondern nur die Domain. Jedoch möchte ich die Domain anzeigen und nicht die direkte Adresse zum Server. Es gibt zwar noch die Frameweiterleitung, jedoch wird dort dauerhaft die Domain "z.b. www.undertunes.de" gezeigt und man kann keine direkten Seiten über die Adresszeile aufrufen "z.b. www.undertunes.de/showPage=blub".....zusätzlich wird Google gehindert, die Seite richtig auszulesen.
Weißt du zufällig, was ich da machen kann?
P.S: Ich sitze schon über eine Woche daran und bin nicht auf die Weiterleitung gekommen. Ich konnte schon nicht mehr richtig schlafen....du hast mir mehr als geholfen! Du hast ein Bier bei mir gut
|

18-04-2010, 20:46
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Zitat:
Zitat von wahsaga
|
Mit dem Unterschied, dass die Kollegen mal wieder voll daneben getippt haben...
Zitat:
|
Weißt du zufällig, was ich da machen kann?
|
Da hast du keine Chance. Ich denke mal UD wird da wegen dir nichts dran ändern.  Kannst also nur den PHP-Code und idealerweise auch das Formular anpassen.
Zitat:
|
P.S: Ich sitze schon über eine Woche daran und bin nicht auf die Weiterleitung gekommen. Ich konnte schon nicht mehr richtig schlafen....du hast mir mehr als geholfen! Du hast ein Bier bei mir gut
|
Dafür gibts ja regelmäßige Usertreffen.  Kannst aber auch mal meinen Entwertenbutton entweihen...
|

18-04-2010, 22:20
|
|
NickD
Registrierter Benutzer
|
|
Registriert seit: Nov 2006
Beiträge: 6
|
|
Ich habe einfach mal UD angeschrieben,....mal sehen was und ob sie was machen können.
Was kann ich denn am Formular anpassen bzw. an PHP? Meines Wissen gibt es keine andere Möglichkeit Arrays per Formular zu senden.
Komisch ist, dass Firebug die POST-Daten korrekt zeigt - da frag ich mich, wie Firebug die POST Daten ausliest?!?
|

18-04-2010, 22:26
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Zitat:
Zitat von NickD
Was kann ich denn am Formular anpassen bzw. an PHP?
|
Um das Problem zu beheben - vermutlich nichts.
Du könntest höchstens nach Workarounds suchen, in dem du die Daten in irgendeinem anderen Format sendest, das durch die defekte Weiterleitung nicht zerstört wird.
Zitat:
|
Komisch ist, dass Firebug die POST-Daten korrekt zeigt - da frag ich mich, wie Firebug die POST Daten ausliest?!?
|
Firebug arbeitet im Browser, und schaut sich die Daten an, die vom Browser versendet werden.
Das ist nicht die Stelle, an der sie vermurkst werden - das ist diese obskure Weiterleitung.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

18-04-2010, 22:33
|
|
NickD
Registrierter Benutzer
|
|
Registriert seit: Nov 2006
Beiträge: 6
|
|
Kann ich die Weiterleitung irgendwie anders lösen?
Ich habe z.b. einen Root-Server....dort habe ich z.b. auch die Möglichkeit Domains anzulegen und zuzuweisen. Leider reichen meine Kenntnisse in Sachen DNS & Co. noch nicht aus....
|

18-04-2010, 23:44
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Zitat:
|
Was kann ich denn am Formular anpassen bzw. an PHP?
|
Du könntest das Formular so aufbauen, dass es mit numerischen Indexen, die bei 0 beginnen(!), arbeitet. Schön und sauber ist das aber natürlich nicht.
Besser wäre es, die Domain direkt an deinen Webspace zu koppeln. Was sprich dagegen? Ein paar Cent im Monat?
Zitat:
|
Kann ich die Weiterleitung irgendwie anders lösen?
|
Kommt auf die Möglichkeiten an, die du bei UD hast. Aber da du bisher mit Weiterleitungen gearbeitet hast, kannst du wahrscheinlich nicht die entsprechenden DNS-Einträge vornehmen, oder?
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|