Het probleem is als volgt:
Ik heb een formulier met als eigenschap enctype="multipart/form-data", het formulier bevat ook een file veld.
Nadat het formulier gesubmit wordt is het de bedoeling dat de gebruiker naar een andere pagina wordt geredirect, en om te zorgen dat de gebruiker ziet wat hij heeft gedaan moet hij onderaan de pagina terecht komen. Dit wordt gedaan via een anchor.
Het probleem is dat als het formulier zowel een enctype="multipart/form-data" als een file veld bevat er bij de redirect het anchor verloren raakt. Haal een van 2 weg (of allebei) en de anchor blijft er wel.
Voorbeeldcode:
test.php
test2.php
Natuurlijk is dit probleem gemakkelijk op te lossen door de redirect te vervangen door bijvoorbeeld een meta refresh of een javascript redirect (of een van de andere manieren waarop je een redirect kan maken)
Maar een easy-fix is niet iets wat ik zoek, ik wil weten of dit een bug is of dat het een probleem is wat niet opgelost kan worden.
Dit is getest op:
Windows bak met Apache 1.3 en PHP 4.3.4
Windows bak met Apache 2 en PHP 4.3.6
Windows bak met IIS 5 en PHP 4.3.3
Linux bak met Apache 2 en PHP 4.3.3
Windows bak met Apache 2 en PHP 5 RC1
Ik heb een formulier met als eigenschap enctype="multipart/form-data", het formulier bevat ook een file veld.
Nadat het formulier gesubmit wordt is het de bedoeling dat de gebruiker naar een andere pagina wordt geredirect, en om te zorgen dat de gebruiker ziet wat hij heeft gedaan moet hij onderaan de pagina terecht komen. Dit wordt gedaan via een anchor.
Het probleem is dat als het formulier zowel een enctype="multipart/form-data" als een file veld bevat er bij de redirect het anchor verloren raakt. Haal een van 2 weg (of allebei) en de anchor blijft er wel.
Voorbeeldcode:
test.php
code:
1
2
3
4
5
6
| <html> <form action="test2.php" method="post" enctype="multipart/form-data"> <input type="file" name="testfile"> <input type="submit" value="Test"> </form> </html> |
test2.php
code:
1
2
3
4
| <?php header("location: test.php?p=1#1"); exit(); ?> |
Natuurlijk is dit probleem gemakkelijk op te lossen door de redirect te vervangen door bijvoorbeeld een meta refresh of een javascript redirect (of een van de andere manieren waarop je een redirect kan maken)
Maar een easy-fix is niet iets wat ik zoek, ik wil weten of dit een bug is of dat het een probleem is wat niet opgelost kan worden.
Dit is getest op:
Windows bak met Apache 1.3 en PHP 4.3.4
Windows bak met Apache 2 en PHP 4.3.6
Windows bak met IIS 5 en PHP 4.3.3
Linux bak met Apache 2 en PHP 4.3.3
Windows bak met Apache 2 en PHP 5 RC1
[ Voor 32% gewijzigd door Verwijderd op 17-04-2004 01:03 ]