FAQ
Hola tengo un problema:
Estoy haciendo unos formularios con PHP3 en un servidor IIS4, pero los estoy
probando en casa con un IIS5 bajo W2000 Server

Bien, dependiendo del orden de los campos del formulario tengo error o no,
es en un formulario que contiene un campo tipo FILE, el mismo código probado
en el mismo equipo con PHP 4.0.6 y Apache 1.3.14 no da problema.

El problema: a continuación está el código de 4 formularios sencillos con
pocas variantes, la idea es comprobar cuando el PHP genera el nombre del
archivo subido con las variables $file_name $file_type y $file_size y con
IIS4 sólo en el primer formulario las genera.

He probado igualmente con PHP4 y da el mismo resultado, supongo por ello que
es un problema de IIS

El código:
--------------------------------------
<?
print "$fichero - $fichero_name - $fichero_size - $fichero_type";
?>

<form Enctype="multipart/form-data" action="test_form.php3" method="post">
<br>Fichero: <input type="file" name="fichero">
<br>Nombre:<input type="text" name="nombre">
<br><input type="submit"value="Grabar">
</form>

<form Enctype="multipart/form-data" action="test_form.php3" method="post">
<br>Nombre:<input type="text" name="nombre">
<br>Fichero: <input type="file" name="fichero">
<br><input type="submit"value="Grabar">
</form>

<form Enctype="form-data/multipart" action="test_form.php3" method="post">
<br>Nombre:<input type="text" name="nombre">
<br>Fichero: <input type="file" name="fichero">
<br><input type="submit"value="Grabar">
</form>

<form action="test_form.php3" method="post">
<br>Fichero: <input type="file" Enctype="multipart/form-data"
name="fichero">
<br>Nombre:<input type="text" name="nombre">
<br><input type="submit"value="Grabar">
</form>


Devta Singh
devta@uakari.com
http://www.uakari.com
--------------------------------------------
La página del Kundalini Yoga en Español
http://www.yogakundalini.com

Search Discussions

  • Angel Fenoy at Aug 21, 2001 at 5:45 pm

    Dimarts 21 Agost 2001 18:48, listas@uakari.com dixit:

    Hola tengo un problema:
    Estoy haciendo unos formularios con PHP3 en un servidor IIS4, pero los
    estoy probando en casa con un IIS5 bajo W2000 Server

    Bien, dependiendo del orden de los campos del formulario tengo error o no,
    es en un formulario que contiene un campo tipo FILE, el mismo código
    probado en el mismo equipo con PHP 4.0.6 y Apache 1.3.14 no da problema.
    En mi apache (1.3.14 en Linux Mandrake) funcionan bién los dos primeros
    formularios, los dos últimos no.
    El problema: a continuación está el código de 4 formularios sencillos con
    pocas variantes, la idea es comprobar cuando el PHP genera el nombre del
    archivo subido con las variables $file_name $file_type y $file_size y con
    IIS4 sólo en el primer formulario las genera.

    He probado igualmente con PHP4 y da el mismo resultado, supongo por ello
    que es un problema de IIS

    El código:
    --------------------------------------
    <?
    print "$fichero - $fichero_name - $fichero_size - $fichero_type";
    ?>

    <form Enctype="multipart/form-data" action="test_form.php3" method="post">
    <br>Fichero: <input type="file" name="fichero">
    <br>Nombre:<input type="text" name="nombre">
    <br><input type="submit"value="Grabar">
    </form> Correcto
    <form Enctype="multipart/form-data" action="test_form.php3" method="post">
    <br>Nombre:<input type="text" name="nombre">
    <br>Fichero: <input type="file" name="fichero">
    <br><input type="submit"value="Grabar">
    </form>
    Correcto también, debería funcionar en el IIS, pués la única diferencia que
    veo es el orden de los campos, y esto no debe influir. El orden de los campos
    en un formulario con un "file" únicamente debe tenerse en cuenta en el caso
    que se quiera limitar el tamaño máximo del archivo a subir, esto se hace con
    un campo "hidden" de nombre "MAX_FILE_SIZE", algo asÍ:

    <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000">

    y este campo debe preceder al campo del "file". El orden del resto de campos
    del formulario no debe influir.
    <form Enctype="form-data/multipart" action="test_form.php3" method="post">
    <br>Nombre:<input type="text" name="nombre">
    <br>Fichero: <input type="file" name="fichero">
    <br><input type="submit"value="Grabar">
    </form>
    Este está mal (Enctype="form-data/multipart" en lugar de
    Enctype="multipart/form-data") y no funciona en mi apache.
    <form action="test_form.php3" method="post">
    <br>Fichero: <input type="file" Enctype="multipart/form-data"
    name="fichero">
    <br>Nombre:<input type="text" name="nombre">
    <br><input type="submit"value="Grabar">
    </form>
    Este también está mal, por poner el "Enctype" en el <input> en lugar de
    ponerlo en el <form>, y tampoco funciona en mi apache.

    El porqué te funciona el primer formulario en el IIS pero no te funciona el
    segundo puede ser un tema de nombres de campos repetidos, ten en cuenta que
    en los dos formularios has llamado al campo file con el mismo nombre:
    "fichero", y que no le has dado ningún nombre a los formularios, por lo que
    tal vez el IIS esté confundiendo un <form> con el otro. Inténtalo con :

    <form name="nombre1"...>...</form>
    <form name="nombre2"...>...</form>

    y si tampoco te funciona, pon el primer formulario donde ahora está el
    segundo y el segundo donde ahora está el primero, para ver si realmente es un
    problema del orden de los campos u otra cosa.

    Saludos
    Àngel

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-general-es @
categoriesphp
postedAug 21, '01 at 4:42p
activeAug 21, '01 at 5:45p
posts2
users2
websitephp.net

2 users in discussion

Angel Fenoy: 1 post Listas: 1 post

People

Translate

site design / logo © 2022 Grokbase