Foros del Web » Programando para Internet » PHP »

Problemas con formulario

Estas en el tema de Problemas con formulario en el foro de PHP en Foros del Web. Soy nuevo en esto de la programación con PHP, y estoy siguiendo algunos tutoriales encontrados por la web para aprender. El caso es que intento ...
  #1 (permalink)  
Antiguo 04/06/2002, 18:12
 
Fecha de Ingreso: junio-2002
Mensajes: 19
Antigüedad: 21 años, 10 meses
Puntos: 0
Problemas con formulario

Soy nuevo en esto de la programación con PHP, y estoy siguiendo algunos tutoriales encontrados por la web para aprender. El caso es que intento introducir datos con un formulario y no hay manera de que reconozca las variables que utilizo. Uso los ejemplos que hay en la página http://www.webestilo.com/php/php09b.phtml

Al ejecutarlo sobre mi PC me sale el siguiente error:

Ejemplo de procesado de formularios

El nombre que ha introducido es:

Notice: Undefined variable: nombre in C:\Inetpub\wwwroot\WebPHPdir\procesar2.phtml on line 7

Notice: Undefined variable: apellidos in C:\Inetpub\wwwroot\WebPHPdir\procesar2.phtml on line 7

Al parecer no reconoce las variables nombre y apellidos que, supongo, debe pasarle el formulario. ¿Por qué puede suceder este error?

He hecho alguna prueba de conectividad con bases de datos sql y se conecta, pero no puedo introducir datos mediante formulario debido a este error. ¿Alguna idea?.

Otra pregunta: ¿Es posible generar un formulario que recopile datos, por ejemplo un par de campos tipo texto y un campo tipo fecha, y que los inserte en una base de datos, y que además me permita subir un fichero pdf al servidor, y cuyo nombre debe incluirse también en la base de datos como un cuarto campo, todo al mismo tiempo?. Gracias.
  #2 (permalink)  
Antiguo 04/06/2002, 19:19
 
Fecha de Ingreso: mayo-2002
Mensajes: 106
Antigüedad: 21 años, 10 meses
Puntos: 0
Re: Problemas con formulario

Seria bueno que enpastaras tu codigo para echarte una manita.

Claro que puedes manejar fechas, datos e insertarlos en una base de datos. eso es lo que hace que PHP sea tan dinamico.

echale ganas!!
  #3 (permalink)  
Antiguo 04/06/2002, 22:20
Avatar de CHILENOCES  
Fecha de Ingreso: octubre-2001
Ubicación: Mmm paseando por la vida
Mensajes: 491
Antigüedad: 22 años, 5 meses
Puntos: 0
Re: Problemas con formulario

Amigo en realidad es verdad
si pones tu codigo
sería mas facil ayudarte
Saludos.

<center><a href="http://www.casinformatico.com" target="_blank"><img src="http://www.casinformatico.com/afiliacion/img_banners/aburrido.gif" width="468" height="60" border="0" alt="::. Casinformatico.com .::"></a></center>
  #4 (permalink)  
Antiguo 04/06/2002, 23:02
Nok
 
Fecha de Ingreso: abril-2001
Mensajes: 302
Antigüedad: 23 años
Puntos: 0
Re: Problemas con formulario

Hola, en realidad no es un error, es un Notice que es bastante distinto. Este notice lo que hace es indicarte que no tienes definidas las variables nombre y apellido. Por lo general el servidor se configura para que indique los errores y warnings no asi los notice. Fijate en el manual de php como desactivar los notice en la parte de error_reporting().

Respecto a tu otra duda, si se puede hacer todo en un solo formulario, fijate en la parte de Upload de archivos. en phpbuilder.com hay un articulo muy interesante sobre esto.

Saludos

<font face=Verdana size=2 color=#006699>Nok;)<br>Juan Pablo Winiarczyk<br>Neuquen - Patagonia Argentina[/CODE]
  #5 (permalink)  
Antiguo 05/06/2002, 00:40
 
Fecha de Ingreso: junio-2002
Mensajes: 19
Antigüedad: 21 años, 10 meses
Puntos: 0
Re: Problemas con formulario

El código es el que está en el enlace que he puesto arriba, pero lo escribo aquí:

Página principal: prueba.php

&lt;!-- Manual de PHP de WebEstilo.com --&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Ejemplo de PHP&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;H1&gt;Ejemplo de procesado de formularios&lt;/H1&gt;
&lt;FORM ACTION=&quot;procesar2.phtml&quot; METHOD=&quot;POST&quot;&gt;
Introduzca su nombre:&lt;INPUT TYPE=&quot;text&quot; NAME=&quot;nombre&quot;&gt;&lt;BR&gt;
Introduzca sus apellidos:&lt;INPUT TYPE=&quot;text&quot; NAME=&quot;apellidos&quot;&gt;&lt;BR&gt;
&lt;INPUT TYPE=&quot;submit&quot; VALUE=&quot;Enviar&quot;&gt;
&lt;/FORM&gt;
&lt;/body&gt;
&lt;/html&gt;

procesar2.phtml

&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Ejemplo de PHP&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;H1&gt;Ejemplo de procesado de formularios&lt;/H1&gt;
El nombre que ha introducido es: &lt;?php echo $nombre,&quot; &quot;,$apellidos ?&gt;
&lt;br&gt;
&lt;/body&gt;
&lt;/html&gt;

Como se ve es un código muy simple, pero no sé porqué no funciona. La llamada a la introducción de datos funciona bien, de hecho le introduzco un nombre y apellidos, pero la llamada al código procesar2.phtml pierde las variables y sale el mensaje:

Ejemplo de procesado de formularios
El nombre que ha introducido es:
Notice: Undefined variable: nombre in C:\Inetpub\wwwroot\WebPHPdir\procesar2.phtml on line 7

Notice: Undefined variable: apellidos in C:\Inetpub\wwwroot\WebPHPdir\procesar2.phtml on line 7

Luego, aunque sea un notice, no procesa y queda detenido todo el procedimiento.

Por cierto, tengo instalada la última versión de php y mysql sobre windows 98 SE con PWS 4.0 (no sé si es lo mejor, pero también trabajo con ficheros asp y necesito el PWS).
  #6 (permalink)  
Antiguo 05/06/2002, 00:44
 
Fecha de Ingreso: junio-2002
Mensajes: 19
Antigüedad: 21 años, 10 meses
Puntos: 0
Re: Problemas con formulario

Respecto al formulario múltiple, la pregunta es si este código funciona (yo no puedo probarlo por lo anterior)

&lt;html&gt;
&lt;head&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;H1&gt;Ejemplo de uso de bases de datos con PHP y MySQL&lt;/H1&gt;
&lt;FORM enctype=&quot;multipart/form-data&quot; method=&quot;post&quot; ACTION=&quot;procesar3.php&quot;&gt;
&lt;TABLE&gt;
&lt;TR&gt;
&lt;TD&gt;Campo:&lt;/TD&gt;
&lt;TD&gt;&lt;INPUT TYPE=&quot;text&quot; NAME=&quot;ambito&quot; SIZE=&quot;30&quot; MAXLENGTH=&quot;30&quot;&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Fecha:&lt;/TD&gt;
&lt;!-- para evitar fechas incorrectas utilizamos la opción select para asignarles valores
y recogemos en un array de indices 0, 1 y 2 los valores respectivos de año, mes y día
con el ánimo de mantener la misma secuencia con la que MySQL registrará estos datos --&gt;

&lt;td align=&quot;left&quot;&gt; &lt;select name=&quot;data[2]&quot;&gt;
&lt;? for ($i=1;$i&lt;32;$i++){
echo &quot;&lt;option&gt;$i&lt;/option&gt;&quot;;
}
?&gt;
&lt;/select&gt; /
&lt;select name=&quot;data[1]&quot;&gt;
&lt;? for ($i=1;$i&lt;13;$i++){
echo &quot;&lt;option&gt;$i&lt;/option&gt;&quot;;
}
?&gt;
&lt;/select&gt; /
&lt;select name=&quot;data[0]&quot;&gt;
&lt;? for ($i=1995;$i&lt;2010;$i++){
echo &quot;&lt;option&gt;$i&lt;/option&gt;&quot;;
}
?&gt;
&lt;/td&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Noticia:&lt;/TD&gt;
&lt;TD&gt;&lt;INPUT TYPE=&quot;text&quot; NAME=&quot;noticia&quot; SIZE=&quot;100&quot; MAXLENGTH=&quot;100&quot;&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Archivo:&lt;/TD&gt;
&lt;TD&gt;&lt;INPUT TYPE=&quot;file&quot; NAME=&quot;archivo&quot; SIZE=&quot;50&quot; MAXLENGTH=&quot;50&quot;&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TABLE&gt;
&lt;INPUT TYPE=&quot;submit&quot; VALUE=&quot;Grabar&quot;&gt;
&lt;/FORM&gt;

&lt;/body&gt;
&lt;/html&gt;

En el código procesar3.php se hace un tratamiento de las variables introducidas y se deben insertar en una base de datos, y además se envía el &quot;archivo&quot; al servidor.
Gracias.
  #7 (permalink)  
Antiguo 05/06/2002, 05:01
 
Fecha de Ingreso: junio-2002
Mensajes: 19
Antigüedad: 21 años, 10 meses
Puntos: 0
Re: Problemas con formulario

Bueno, leyendo, leyendo he encontrado la respuesta a mi primera pregunta. Resulta que la version 4.x de php no pasa las variables como las versiones anteriores para los métodos post y get (y otros). Por ello no reconocía ninguna de ellas. Poniendolo así, sí que funciona:

procesar2.phtml

&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Ejemplo de PHP&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;H1&gt;Ejemplo de procesado de formularios&lt;/H1&gt;
El nombre que ha introducido es: &lt;?php echo $_POST[&quot;nombre&quot;],&quot; &quot;,$_POST[&quot;apellidos&quot;] ?&gt;
&lt;br&gt;
&lt;/body&gt;
&lt;/html&gt;

No obstante no he resuelto la segunda cuestión. Con un formulario combinado no me funciona, a menos que escriba mal el código.
Lo que pongo en procesar3.php para manipulación de las variables es lo siguiente:

&lt;?php
// Mensajes de información
if ($_FILES['archivo'] != &quot;&quot;) {

copy($_FILES['archivo']['tmp_name'], &quot;/temp3/&quot;.$_FILES['archivo']['name'])
or die(&quot;No se ha podido copiar el archivo&quot;);

} else {

die(&quot;No se ha elegido ningún archivo&quot;);
}

?&gt;

&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Successful File Upload!&lt;/title&gt;
&lt;body&gt;

&lt;h1&gt;¡Fichero copiado!&lt;/h1&gt;

&lt;P&gt;Has enviado el archivo: &lt;? echo $_FILES['archivo']['name'] ?&gt;, de
&lt;? echo $_FILES['archivo']['size']; ?&gt; bytes, y del tipo
&lt;? echo $_FILES['archivo']['type']; ?&gt;.&lt;/p&gt;
&lt;?
// Ahora recogemos la cadena fecha en formato AAAA-MM-DD
$v5=$_POST[&quot;data[0]&quot;].&quot;-&quot;.$_POST[&quot;data[1]&quot;].&quot;-&quot;.$_POST[&quot;data[2]&quot;];
echo $v5,&quot;&lt;br&gt;&quot;;
// y también la ruta y el nombre del archivo, y lo ponemos en la variable $arx
$arxiu=split(&quot;\\&quot;,$_POST[&quot;archivo&quot;]);
for($i=0;$arxiu[$i];$i++)
{
$arx=$arxiu[$i];
}
echo $arx,&quot;&lt;br&gt;&quot;;
?&gt;

&lt;/body&gt;
&lt;/html&gt;

En este código, funciona bien hasta la instrucción $v5= ..., donde ya no me reconoce las variables. De hecho el error que me da es:
¡Fichero copiado!
Has enviado el archivo: bacterio7.03_marzo.zip, de 4337 bytes, y del tipo application/x-zip-compressed.

... (no cabe. Continúa en el próximo mensaje)
  #8 (permalink)  
Antiguo 05/06/2002, 05:05
 
Fecha de Ingreso: junio-2002
Mensajes: 19
Antigüedad: 21 años, 10 meses
Puntos: 0
Re: Problemas con formulario

Como decía, el código funciona bien hasta la línea $v5=..., donde ya no reconoce la variable data[]. El error que me da es:

¡Fichero copiado!
Has enviado el archivo: bacterio7.03_marzo.zip, de 4337 bytes, y del tipo application/x-zip-compressed.


Notice: Undefined index: data[0] in C:\Inetpub\wwwroot\WebPHPdir\proc.php on line 30

Notice: Undefined index: data[1] in C:\Inetpub\wwwroot\WebPHPdir\proc.php on line 30

Notice: Undefined index: data[2] in C:\Inetpub\wwwroot\WebPHPdir\proc.php on line 30
--

Notice: Undefined index: archivo in C:\Inetpub\wwwroot\WebPHPdir\proc.php on line 33

Warning: REG_EESCAPE:trailing backslash (\) in C:\Inetpub\wwwroot\WebPHPdir\proc.php on line 33

Notice: Undefined variable: arx in C:\Inetpub\wwwroot\WebPHPdir\proc.php on line 38

Vuelven a ser notice (luego supongo que debe haber un error de transferencia de variables, como antes) y un warning. ¿Alguna sugerencia?.
Gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:24.