Forum Doku Wiki Blog

Forumsarchiv 2007, Juni
Get Variablen verloren bei typ="file"

archivierte Beiträge lesen

  1. (PHP) Get Variablen verloren bei typ="file" von Viktor, 07. 06. 2007, 11:30

Get Variablen verloren bei typ="file"

Der folgende Beitrag wurde am 07. 06. 2007, 11:30 Uhr von Viktor veröffentlicht.

Guten Tag ich haben ein Problem.
ich benutze zum erstenmal den type="file" um bilder hoch zu laden das Problem dabei ist das wenn ich das formular abschicke meine Get Variablen die ich zu Navikation der Seite brauche verloren gehen.
Normale url: index.php?action=cverwaltung&typ=1
Die Get Variablen action und typ gehen hier verloren es kommt dann so etwas raus:ndex.php?datei=C%3A%5CDokumente+und+Einstellungen%5CViktor%5CDesktop%5Cda.txt

Hier der Quelltext:
<form  enctype="multipart/form-data" action="<?php echo $PHP_SELF; ?>" name="upload">

<input onChange="submitsel('upload')" name="datei" class="upload" type="file">

</form>

Die Funktion submitsel benutze ich damit es keinen extra btn absckicken geben muss, hab es auch schon normal mit btn versucht geleiches Problem.

Hoffe ihr koennt mir da helfen.

mfg.
Viktor

Get Variablen verloren bei typ="file"

Der folgende Beitrag wurde am 07. 06. 2007, 11:35 Uhr von Rafael veröffentlicht.

Wenn du sie auch nicht zumindest als hidden-field in deinem Formular unterbringst, wunder das auch nicht.

Du benötigst etwas in der Art von:

<input type="hidden" name="action" value="$_GET['action']" />

GET-Parameter durch POST-Formular durchreichen

Der folgende Beitrag wurde am 07. 06. 2007, 11:49 Uhr von Siechfred veröffentlicht.

> ich benutze zum erstenmal den type="file" um bilder hoch zu laden das Problem dabei ist das wenn ich das formular abschicke meine Get Variablen die ich zu Navikation der Seite brauche verloren gehen.

Ja, wenn du sie nicht weiterreichst, gehen sie verloren.

> Normale url: index.php?action=cverwaltung&typ=1
> <form  enctype="multipart/form-data" action="<?php echo $PHP_SELF; ?>" name="upload">

$PHP_SELF (bzw. besser $_SERVER['PHP_SELF']) enthält nur den Namen des Scriptes, die GET-Parameter im Querystring findest du in $_SERVER['QUERY_STRING']. Wenn du beide im action-Attribut kombinierst, bleiben die GET-Parameter auch erhalten:

action="<?php echo $_SERVER['PHP_SELF'] . $_SERVER['QUERY-STRING']; ?>"

Sollte so funktionieren.

Siechfred
--
Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.

GET-Parameter durch POST-Formular durchreichen

Der folgende Beitrag wurde am 07. 06. 2007, 11:53 Uhr von Mathias Brodala veröffentlicht.

Hallo Siechfred.

> $PHP_SELF (bzw. besser $_SERVER['PHP_SELF']) enthält nur den Namen des Scriptes, die GET-Parameter im Querystring findest du in $_SERVER['QUERY_STRING']. Wenn du beide im action-Attribut kombinierst, bleiben die GET-Parameter auch erhalten:
>
> action="<?php echo $_SERVER['PHP_SELF'] . $_SERVER['QUERY-STRING']; ?>"

Oder gleich $_SERVER["REQUEST_URI"] verwenden.


Einen schönen Donnerstag noch.

Gruß, Mathias

--
ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)

debian/rules

GET-Parameter durch POST-Formular durchreichen

Der folgende Beitrag wurde am 07. 06. 2007, 12:10 Uhr von Siechfred veröffentlicht.

> > action="<?php echo $_SERVER['PHP_SELF'] . $_SERVER['QUERY-STRING']; ?>"
> Oder gleich $_SERVER["REQUEST_URI"] verwenden.

Ja, in der Tat, warum nicht :)
Zumal man bei meiner Variante wohl noch ein Fragezeichen zwischen PHP_SELF und QUERY_STRING setzen müsste.

Siechfred
--
Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.

GET-Parameter durch POST-Formular durchreichen

Der folgende Beitrag wurde am 07. 06. 2007, 13:43 Uhr von wahsaga veröffentlicht.

hi,

> > action="<?php echo $_SERVER['PHP_SELF'] . $_SERVER['QUERY-STRING']; ?>"
>
> Oder gleich $_SERVER["REQUEST_URI"] verwenden.

Und _bitte_ in beiden Fällen htmlspecialchars() darauf anwenden - sofern man keine Lust hat, sich eine hübsche XSS-Lücke einzubauen.

gruß,
wahsaga


--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }

Get Variablen verloren bei typ="file"

Der folgende Beitrag wurde am 07. 06. 2007, 12:26 Uhr von Viktor veröffentlicht.

Guten Tag und danke fuer euren schnellen Antworten.
Leider geht echo $_SERVER['PHP_SELF'] . $_SERVER['QUERY-STRING']; und echo $_SERVER["REQUEST_URI"]; nicht ka warum ich werde nun Rafaels Lösung versuchen.
mgf. Viktor

Get Variablen verloren bei typ="file"

Der folgende Beitrag wurde am 07. 06. 2007, 12:41 Uhr von Mathias Brodala veröffentlicht.

Hallo Viktor.

> Guten Tag und danke fuer euren schnellen Antworten.
> Leider geht echo $_SERVER['PHP_SELF'] . $_SERVER['QUERY-STRING']; und echo $_SERVER["REQUEST_URI"]; nicht ka warum

Und was bedeutet "geht nicht" in für Außenstehende verständlicher Form? Erhältst du Fehlermeldungen? Wenn nein, unterdrückst du sie ggf.?


Einen schönen Donnerstag noch.

Gruß, Mathias

--
ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)

debian/rules

Get Variablen verloren bei typ="file"

Der folgende Beitrag wurde am 07. 06. 2007, 13:44 Uhr von Viktor veröffentlicht.

hi
nein keine fehler meldungen nur die get variablen sidn nicht mehr in der url.
mfg. viktor

Get Variablen verloren bei typ="file"

Der folgende Beitrag wurde am 07. 06. 2007, 13:13 Uhr von rob veröffentlicht.

Hi!

> Leider geht echo $_SERVER['PHP_SELF'] . $_SERVER['QUERY-STRING']; und echo $_SERVER["REQUEST_URI"];

Welchen Wert hat die Einstellung register_globals in der php.ini?

Schöner Gruß,
rob

Get Variablen verloren bei typ="file"

Der folgende Beitrag wurde am 07. 06. 2007, 13:40 Uhr von Viktor veröffentlicht.

register_globals ist auf off was heist das fuer mich
mfg. viktor

Get Variablen verloren bei typ="file"

Der folgende Beitrag wurde am 07. 06. 2007, 13:46 Uhr von rob veröffentlicht.

Hi!

> register_globals ist auf off was heist das fuer mich
Das heißt für dich, daß es z.B. gar keine Variable $PHP_SELF gibt, sondern $_SERVER['PHP_SELF'].
Und entsprechend mußt du auch auf $_FILES, $_GET, $_POST zugreifen.


Schöner Gruß,
rob

Get Variablen verloren bei typ="file"

Der folgende Beitrag wurde am 07. 06. 2007, 13:03 Uhr von dedlfix veröffentlicht.

echo $begrüßung;

> ich benutze zum erstenmal den type="file" um bilder hoch zu laden das Problem dabei ist das wenn ich das formular abschicke meine Get Variablen die ich zu Navikation der Seite brauche verloren gehen.
> <form  enctype="multipart/form-data" action="<?php echo $PHP_SELF; ?>" name="upload">

Du hast kein method-Attribut angegeben, weshalb der Standardwert GET verwendet wird. Es ist aber im Allgemeinen keine gute Idee, Dateien per GET, also über die URL zu übertragen. Eine URL hat je nach Browser nur eine begrenzte Länge. POST-Daten unterliegen keinen mir bekannten Beschränkungen seitens des Browsers. Auch wenn du das Formular per POST absendest, kannst du das im action-Attribut angegebene Ziel mit deinen Navigationsparametern versehen, und im Script via $_GET-Array abfragen. Die Formulardaten sind dabei wie üblich in $_POST zu finden.


echo "$verabschiedung $name";

Get Variablen verloren bei typ="file"

Der folgende Beitrag wurde am 07. 06. 2007, 13:20 Uhr von rob veröffentlicht.

Hi!

Mich wundert es eigentlich, daß hierzu noch Niemand was gesagt hat:

> <input onChange="submitsel('upload')" name="datei" class="upload" type="file">

> Die Funktion submitsel benutze ich damit es keinen extra btn absckicken geben muss
Du möchtest also einen Submit-Button sparen und deswegen nimmst du es in Kauf, daß User ohne JavaScript dein Formular nicht benutzen können?
Du könntest wenigstens den Submit-Button in einem Noscript-Bereich anzeigen lassen.

Und davon abgesehen finde ich die Sache recht unpraktisch, wenn man keinen Submit-Button hat.
Was ist denn, wenn man versehentlich eine falsche Datei auswählt?
Dein Formular wird per onchange abgeschickt. Es gibt keine Möglichkeit zur Korrektur.

Schöner Gruß,
rob

Get Variablen verloren bei typ="file"

Der folgende Beitrag wurde am 07. 06. 2007, 13:41 Uhr von Viktor veröffentlicht.

es handelt sich um einen funktion fuer den admin und da ich der admin bin und ich js an habe ist mir das egal xD.
mfg.
viktor

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4