PDA

Ver la Versión Completa : Error funcion mail()


Andrea Martinez
01-12-2004, 16:01:54
no me funciona la funcion mail ():

PHP Version 4.3.4

Bueno primero le muestro parte del php.ini del hosting


sendmail_fromno valueno valuesendmail_path-t -i -t -i
MAIL /var/mail/root PATH /sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome/bin:/opt/kde3/bin:/usr/lib/java/bin mi contactenos.php tiene esta parte
linea 34
mail("$emailsedbolivar", "$asunto", $administrador, "From: $emailcliente");


este es el error que me sale

Fatal error: Call to undefined function: mail() in /srv/www/vhosts/sedbolivar/contactenos.php on line 34


que hago mal. o es mala configuracion del php.ini

Gracias..

LordSigma
01-12-2004, 17:07:31
No, la configuracion esta bien, te esta diciendo que no esta definida la funcion mail, no que tenes un error en el ini, que de hecho no veo ninguno.
Fijate de tener bien instaladas las librerias donde esta la funcion mail.
Si me copias el codigo entero te puedo ayudar mas en profundidad.
Suerte !!!

Andrea Martinez
01-12-2004, 19:00:14
este es el contactenos.htm

<HTML>
<BODY>

PARTES......
</tr>
</table>
<FONT color=#000099 face=verdana
size=1><B>
<P>&nbsp; </P>
<P>&nbsp;</P>
</B></FONT></TD>
</TR></TBODY></TABLE>
<p>&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>&nbsp;</p></TD>
<TD background="images/white_bg.gif" vAlign=top width=449> <P>
<CENTER>
<p class="Estilo10"><span class="Estilo7">Contactenos</span> </p>
</CENTER>
<TABLE align=center border=0 cellPadding=7 cellSpacing=0
width="100%">
<TBODY>
<TR>
<TD vAlign=top colspan="2"><TABLE align="center" height=470 cellSpacing=5 cellPadding=0 width=366 border=0>
<FORM action=contactenos1.php method=post>
<TBODY>
<TR>
<TD align=right width=148><P class=Estilo24><B><strong><FONT
face=Verdana,Arial>Nombres:</FONT></STRONG></strong></P></TD>
<TD width=218><SPAN class=Estilo20><FONT
face=Verdana,Arial><FONT
face=Verdana,Arial>
<INPUT id=nombres
size=28 name=nombres>
</FONT></FONT></SPAN></TD>
</TR>
<TR>
<TD align=right width=148><P class=Estilo24><B><FONT
face=Verdana,Arial>Apellidos</FONT></B><FONT
face=Verdana,Arial><B>:</B></FONT></P></TD>
<TD width=218><SPAN class=Estilo20><FONT
face=Verdana,Arial>
<INPUT id=apellidos
size=28 name=apellidos>
</FONT></SPAN></TD>
</TR>
<TR>
<TD align=right width=148><P class=Estilo24><FONT
face=Verdana,Arial><font
face=Verdana,Arial><b>Entidad:</b></font></FONT></P></TD>
<TD width=218><SPAN class=Estilo20><FONT
face=Verdana,Arial><font
face=Verdana,Arial>
<input id=entidad
size=28 name=entidad>
</font>
</FONT></SPAN></TD>
</TR>
<TR>
<TD align=right width=148><P class=Estilo24><FONT
face=Verdana,Arial><font
face=Verdana,Arial><font
face=Verdana,Arial><b>Tel&eacute;fono:</b></font></font></FONT></P></TD>
<TD width=218><SPAN class=Estilo20><FONT
face=Verdana,Arial><font
face=Verdana,Arial><font
face=Verdana,Arial>
<input size=28
name=telefono>
</font></font>
</FONT></SPAN></TD>
</TR>
<TR>
<TD align=right width=148><P class=Estilo24><FONT
face=Verdana,Arial><B><font
face=Verdana,Arial><b>Departamento:</b></font></B></FONT></P></TD>
<TD width=218><SPAN class=Estilo20><FONT
face=Verdana,Arial><font
face=Verdana,Arial>
<input id=departamento
size=28 name=departamento>
</font>
</FONT></SPAN></TD>
</TR>
<TR>
<TD align=right width=148><P class=Estilo24><FONT
face=Verdana,Arial><font
face=Verdana,Arial><b>Municipio:</b></font></FONT></P></TD>
<TD width=218><SPAN class=Estilo20><FONT
face=Verdana,Arial><font
face=Verdana,Arial><font
face=Verdana,Arial><font
face=Verdana,Arial>
<input
name=municipio id="municipio" size=28>
</font></font></font>
</FONT></SPAN></TD>
</TR>
<TR>
<TD align=right width=148><P class=Estilo24><FONT
face=Verdana,Arial><B>E-Mail:</B></FONT></P></TD>
<TD width=218><SPAN class=Estilo20><FONT
face=Verdana,Arial>
<INPUT id=email
size=28 name=email>
</FONT></SPAN></TD>
</TR>
<TR>
<TD colSpan=2 height=19>&nbsp;</TD>
</TR>
<TR>
<TD colSpan=2 height=24><DIV align=center><strong><FONT
face=Verdana,Arial>Comentarios / Sugerencias / Solicitud de Informaci&oacute;n</FONT></SPAN></strong></DIV></TD>
</TR>
<TR>
<TD colSpan=2 height=183><P align=center><FONT face=Verdana,Arial
size=1><B>
<TEXTAREA name=comentarios rows=8 cols=35></TEXTAREA>
</B></FONT></P></TD>
</TR>
<TR>
<TD width=148></TD>
<TD width=218><FONT face=Verdana,Arial size=1>
<INPUT class=Estilo1 type=submit value=Enviar name=submit>
</FONT></TD>
</TR>
</TBODY>
</form>
</TABLE></TD>
</TR>
</TBODY>
</TABLE>
<P><BR>
<P><FONT face=verdana size=1></FONT>
</TD>
<TD
background="images/right1.gif"
vAlign=top width=165>
<p>&nbsp;</p>
<p>&nbsp;
</p>
</TD></TR>
<TR>
<TD align=middle bgColor=#000000 colSpan=3>
<TABLE align=center width=600>
<TBODY>
<TR>
<TD width=35>&nbsp;</TD>
<TD width=505>
<div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b><span class="Estilo5">Inicio</span></b></font><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF"><b> - SedBolivar - Interes - Pizarr&oacute;n - Tramites - Correo - Sieb - </b></font><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b><span class="Estilo6">Contactenos</span></b></font></div>
</TD>
<TD width=44>&nbsp; </TD>

</TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
</BODY></HTML>





Y ESTE ES EL contactenos.php

<?
$asunto = "Mensaje Contactenos ";
$emailsedbolivar = "garrazola@colombia.com";
$emailcliente=$HTTP_POST_VARS['email'];
$nombrescliente=$HTTP_POST_VARS['nombres'];
$apellidoscliente=$HTTP_POST_VARS['apellidos'];
$telcliente=$HTTP_POST_VARS['telefono'];
$entidadcliente=$HTTP_POST_VARS['entidad'];
$municipiocliente=$HTTP_POST_VARS['municipio'];
$dptocliente=$HTTP_POST_VARS['departamento'];
$comentarioscliente=$HTTP_POST_VARS['comentarios'];
$gracias = "Gracias por tus comentarios, SedBolivar";
?>
<?
$parausuario = "$nombrescliente $apellidoscliente, gracias por enviar tus comentarios y/o sugerencias";
$parausuario .= "Su mensaje ha sido enviado exitosamente\n\n";
$parausuario .= "Atentamente,\n\n";
$parausuario .= "Secretaria de Educacion y Cultura de Bolivar\n";
$administrador .= "------Formulario de Comentarios y Sugerencias------\n";
$administrador .= "Nombre completo: $nombrescliente $apellidoscliente\n";
$administrador .= "Entidad: $entidadcliente\n";
$administrador .= "Teléfono: $telcliente\n";
$administrador .= "Departamento: $dptocliente\n";
$administrador .= "Municipio: $municipiocliente\n";
$administrador .= "Correo Electrónico: $emailcliente\n";
$administrador .= "Comentarios:\n";
$administrador .= "$comentarioscliente\n";
$administrador .= "----------Información de quien me visita----------\n";
$administrador .= "$HTTP_USER_AGENT\n";
$administrador .= "$REMOTE_ADDR\n";
mail("$emailcliente", "$gracias", $parausuario, "From: $emailsedbolivar");
mail("$emailsedbolivar", "$asunto", $administrador, "From: $emailcliente");
?>
<HTML><style type="text/css">
<!--
.Estilo2 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-weight: bold;
}
.Estilo5 {color: #FFFFFF}
.Estilo6 {color: #0000FF}
.Estilo7 {
font-style: italic;
font-size: 18px;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
.Estilo9 {
font-family: Arial, Helvetica, sans-serif;
font-size: 24px;
font-weight: bold;
}
.Estilo10 {
color: #993333;
font-weight: bold;
}
.Estilo12 {font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold; font-size: 10px; }
-->
</style></HEAD>
<BODY aLink=#0E90CC bgColor=#229A4F leftMargin=0 link=#0E90CC text=#000000
topMargin=0 vLink=#0E90CC marginwidth="0" marginheight="0" onLoad="MM_preloadImages('images/link2b.gif','images/link3b.gif','images/link4b.gif','images/link5b.gif','images/link6b.gif','images/link7b.gif','images/link1b.gif','images/sedbolivar_b.gif','images/sieb_b.gif','images/contactenos_b.gif','images/interes_b.gif','images/pizarron_b.gif','images/directorio_b.gif','images/tramites_b.gif','images/correo_b.gif','images/logobolivar(arriba).gif')">
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 width=756>
<TBODY>
<TR>
<TD width="891" align=middle bgColor=#000000>
<TABLE align=center bgColor=#ffffff border=0 cellPadding=0 cellSpacing=0
width=752>
<TBODY>
<TR>
<TD colSpan=3>
<TABLE width="100%" border=0 cellPadding=0 cellSpacing=0>
<TBODY>
<TR>
<TD background="images/banner_arriba.jpg" width="664">&nbsp; </TD>
<TD background="images/blanco.gif" width="5">&nbsp;</TD>
<TD background="images/blanco.gif" width="78" height="76"><img src="losdoslogos.gif" width="74" height="72"></TD>
</TR></TBODY></TABLE></TD></TR>
<TR>
<TD height="77" colSpan=3><table width="100%" height="77" border=0 cellpadding=0 cellspacing=0>
<tbody>
<tr>
<td height="77" background="images/barraamarilla(arriba).gif"><span class="Estilo2">
&nbsp;&nbsp;<SCRIPT LANGUAGE="JavaScript">
document.write('<marquee direction="left" width="725" height="18" scrollamount="4" scrolldelay="100" onMouseOver="stop()" onMouseOut="start()" style="background-color:#FFD167">');
document.write('Por el Bolivar que todos queremos!!!');
document.write('</marquee>');
</SCRIPT>


</span><br><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<style type="text/css">.awmAnchor {position:relative;z-index:0}</style><span id='awmAnchor-menu' class='awmAnchor'>&nbsp;</span>

<img name='awmMenuPathImg-MENU' id='awmMenuPathImg-MENU' src='awmmenupath.gif' alt=''><script type='text/javascript'>var MenuLinkedBy='AllWebMenus [2]', awmBN='524'; awmAltUrl='';</script><script src='MENU.js' language='JavaScript1.2' type='text/javascript'></script><script type='text/javascript'>awmBuildMenu();</script>
<img name='awmMenuPathImg' id='awmMenuPathImg' src='awmmenupath.gif' alt=''><script type='text/javascript'>var MenuLinkedBy='AllWebMenus [2]', awmBN='524'; awmAltUrl='';</script><script src='MENU.js' language='JavaScript1.2' type='text/javascript'></script><script type='text/javascript'>awmBuildMenu();</script>
</td>
</tr>
</tbody>
</table></TD>
</TR>
<TR>
<TD background="images/left1.gif" vAlign=top align="left">&nbsp;</TD>
<TD background="images/white_bg.gif" vAlign=top>
<div align="right"><span class="Estilo12">
<script language="JavaScript">
<!--
document.write( dayNames[now.getDay()] + " " + now.getDate() + " de " + monthNames[now.getMonth()] + " " +" de " + year);
// -->
</script>
</span> </div></TD>

<TD
background="images/right1.gif"
vAlign=top>&nbsp;</TD>
</TR>
<TR>
<TD background="images/left1.gif" vAlign=top width=138 align="left">
<TABLE border=0 cellPadding=0 cellSpacing=0 width=138>
<TBODY>
<TR>
<TD height="66" align=left><div align="center"><font color="#FFFFFF" size="2" face="verdana"><b>Secretaria de Educacion de Bolivar</b></font></div></TD>
</TR>
<TR>
<TD height="19" align=left>&nbsp;</TD>
</TR>
<TR>
<TD align=left><table width="134" border="0" cellspacing="0" cellpadding="0" align="left" bgcolor="#FFD167">
<tr>
<td><a href="index1.htm" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image20','','images/sedbolivar_b.gif',1)"><img src="images/sedbolivar_a.gif" name="Image20" width="134" height="21" border="0"></a></a></td>
</tr>
<tr>
<td><a href="index2.htm" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image2','','images/interes_b.gif',1)"><img name="Image2" border="0" src="images/interes_a.gif" width="134" height="21"></a></td>
</tr>
<tr>
<td><a href="index3.htm" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image3','','images/pizarron_b.gif',1)"><img name="Image3" border="0" src="images/pizarron_a.gif" width="134" height="21"></a></td>
</tr>
<tr>
<td><a href="index4.htm" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image4','','images/directorio_b.gif',1)"><img name="Image4" border="0" src="images/directorio_a.gif" width="134" height="21"></a></td>
</tr>
<tr>
<td><a href="index5.htm" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image5','','images/tramites_b.gif',1)"><img name="Image5" border="0" src="images/tramites_a.gif" width="134" height="21"></a></td>
</tr>
<tr>
<td><a href="index6.htm" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image6','','images/correo_b.gif',1)"><img name="Image6" border="0" src="images/correo_a.gif" width="134" height="21"></a></td>
</tr>
<tr>
<td><a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image19','','images/sieb_b.gif',1)"><img src="images/sieb_a.gif" name="Image19" width="134" height="21" border="0"></a></td>
</tr>
<tr>
<td><a href="index7.htm" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image7','','images/contactenos_b.gif',1)"></a><img src="images/contactenos_b.gif" width="134" height="21"></td>
</tr>
</table>
<FONT color=#000099 face=verdana
size=1><B>
<P>&nbsp; </P>
<P>&nbsp;</P>
</B></FONT></TD>
</TR></TBODY></TABLE>
<p>&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>&nbsp;</p></TD>
<TD background="images/white_bg.gif" vAlign=top width=449> <P>
<CENTER>
<p class="Estilo9"><font color="#000099"><br>Gobernacion de Bolivar<BR>
Secrataria de Educacion</font></p>
<p class="Estilo10"><span class="Estilo7">Contactenos</span> </p>
</CENTER>
<TABLE align=center border=0 cellPadding=7 cellSpacing=0
width="100%">
<TBODY>
<TR>
<TD vAlign=top colspan="2"><span class="Estilo2">Muchas gracias por enviarnos tus comentarios, en
breve atenderemos tus dudas.</span> </TD>
</TR>
</TBODY>
</TABLE>
<P><BR>
<P><FONT face=verdana size=1></FONT>
</TD>
<TD
background="images/right1.gif"
vAlign=top width=165>
<p>&nbsp;</p>
<p>&nbsp;
</p>
</TD></TR>
<TR>
<TD align=middle bgColor=#000000 colSpan=3>
<TABLE align=center width=600>
<TBODY>
<TR>
<TD width=35>&nbsp;</TD>
<TD width=505>
<div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b><span class="Estilo5">Inicio</span></b></font><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF"><b> - SedBolivar - Interes - Pizarr&oacute;n - Tramites - Correo - Sieb - </b></font><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b><span class="Estilo6">Contactenos</span></b></font></div>
</TD>
<TD width=44>&nbsp; </TD>

</TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
</BODY></HTML>

LordSigma
01-12-2004, 19:42:30
Bueno,

Por empezar no me copiaste el contactenos1.php que es el que esta definido en el action del form, pero pieso que es el mismo que el contactenos.php que me pegaste.

Proba con lo siguiente :

* Reemplaza los tags <? que abren el PHP con <?Php que es el estandar. Eso puede solucionar algunos problemas.

* Reemplaza $HTTP_POST_VARS por $_POST ya que podes tener algunos problemas con versiones de servidores Phps muy nuevas o muy viejas.

* En esta linea $administrador .= "------Formulario de Comentarios y Sugerencias------\n"; no va el punto antes del = porque antes no tenia nada esta variable, la estas iniciando con esa linea.

* Saca las variables de adentro de las comillas

Ejemplo
$administrador .= "$comentarioscliente\n";

Deberia ser ...
$administrador .= $comentarioscliente. "\n";

Fijate que en la funcion mail haces lo mismo ...
mail("$emailcliente", "$gracias", $parausuario, "From: $emailsedbolivar");

Deberia ser ...
mail($emailcliente, $gracias, $parausuario, "From: ".$emailsedbolivar);

A continuacion te pego un enviarcontacto.php que es el que usa la pagina de mi consultora www.exactsoft.com.ar para enviar un contacto por mail si queres miralo, te puede ayudar en algo.


<?Php
//------------------------------------------------------------------------------
define ('EMail1', 'a@exactsoft.com.ar');
define ('EMail2', 'b@exactsoft.com.ar');
//------------------------------------------------------------------------------
$Nombre = $_POST ['Nombre'];
$Empresa = $_POST ['Empresa'];
$EMail = $_POST ['EMail'];
$Telefono = $_POST ['Telefono'];
$Mensaje = $_POST ['Mensaje'];
//------------------------------------------------------------------------------

echo ('<html>
<body>
<head>
<title>Exact Soft - Consultores de Sistemas - Contacto</title>
</head>');

echo ('<table border=0 width=600 height=300 style="border: 1px solid #3366CC;">
<tr>
<td valign="middle">
<center>');

if (($Nombre != '') and ($EMail != '') and ($Mensaje != '')) {

$MensajeAux = 'Nombre: '.$Nombre."\r\n".
'Empresa: '.$Empresa."\r\n".
'EMail: '.$EMail."\r\n".
'Telefono: '.$Telefono."\r\n\r\n".
$Mensaje;

$Mensaje = $MensajeAux;

mail(EMail1, "Exact Soft - Contacto", $Mensaje, "From: ".$EMail."\r\n");
mail(EMail2, "Exact Soft - Contacto", $Mensaje, "From: ".$EMail."\r\n");

echo ('<small>
Su mensaje se envio correctamente !<br>
A la brevedad será contactado.<br><br>
<a href="main.htm">Continuar ...</a>
</small>');

} else {

echo ('<small>
No completo todos los campos obligatorios (Nombre, EMail y Mensaje).<br><br>
<a href="javascript: document.history.back ()">Vuelva a intentarlo ...</a>
</small>');

}

echo (' </center>
</td>
</tr>
</table>');

echo (' </body>
</html>');

//------------------------------------------------------------------------------
?>

kayetano
02-12-2004, 09:28:15
Hola

Yo llevo algun que otro año trabajando con PHP y me sorpenden algunos puntos que comentas, dime porfavor que problemas pueden haber para tenerlos en cuenta:

* Reemplaza los tags <? que abren el PHP con <?Php que es el estandar. Eso puede solucionar algunos problemas.
Yo si te digo la verdad jamas he utilizado <?php siempre he usado <? ¿puede pasar algo? ya te digo que en varios años y con varias versiones nunca he tenido problemas.

* Saca las variables de adentro de las comillas
Este puento me ha roto los esquemas, he mirado en la documentación y es totalmente valido el uso de variables dentro de las comillas dobles. Yo siempre pongo las variables dentro de las comillas, te ruego me digas que puede ocurrir ya que si hay algun problema me tocaría modificar miles de líneas de código.

Me han sorprendido mucho estas dos recomendaciones, y me interesa mucho conocer los problemas que pueden acarrear.

LordSigma
02-12-2004, 16:42:06
Kayetano,

No quiero que creas que hablo a boca de jarro, no me parecio interesante explicar el porque de mis consejos para Andrea pero si te interesa quiero fundamentarlos.

En la direccion
http://br.php.net/manual/es/language.basic-syntax.php (sitio oficial de php) podes encontrar lo siguiente ...

-------------------- Copio del sitio antes mensionado --------------------

Ejemplo 5-1. Formas de escapar de HTML

1.

<?php
echo("si quieres servir documentos XHTML o XML, haz como aqu&iacute;\n");
?>


2.

<? echo ("esta es la m&aacute;s simple, una instrucci&oacute;n de procesado SGML \n"); ?>


3.

<script language="php">
echo ("muchos editores (como FrontPage) no
aceptan instrucciones de procesado");
</script>


4.

<% echo ("Opcionalmente, puedes usar las etiquetas ASP"); %>


El método primero, <?php. . .?>, es el más conveniente, ya que permite el uso de PHP en código XML como XHTML.

El método segundo no siempre está disponible. El formato corto de etiquetas está disponible con la función short_tags() (sólo PHP 3), activando el parámetro del fichero de configuración de PHP short_open_tag, o compilando PHP con la opción --enable-short-tags del comando configure. Aunque esté activa por defecto en php.ini-dist, se desaconseja el uso del formato de etiquetas corto.

El método cuarto sólo está disponible si se han activado las etiquetas ASP en el fichero de configuración: asp_tags.

Nota: El soporte de etiquetas ASP se añadió en la versión 3.0.4.


Nota: No se debe usar el formato corto de etiquetas cuando se desarrollen aplicaciones o bibliotecas con intención de redistribuirlas, o cuando se desarrolle para servidores que no están bajo nuestro control, porque puede ser que el formato corto de etiquetas no esté soportado en el servidor. Para generar código portable y redistribuíble, asegúrate de no usar el formato corto de etiquetas.

La etiqueta de fin de bloque incluirá tras ella la siguiente línea si hay alguna presente. Además, la etiqueta de fin de bloque lleva implícito el punto y coma; no necesitas por lo tanto añadir el punto y coma final de la última línea del bloque PHP.

-------------------------- Fin de la copia --------------------------------

Eso explica el porque de usar <?Php ?> y no otro tag de apertura.

Con respecto a sacar las variables ubicadas dentro de las comillas es porque es mala costumbre, nada mas que eso. Las variables son variables y deben ir concadenadas a un string y no dentro de uno.

Esto es una mala costumbre y no es claro ...


$Nombre = 'Juan';
echo ("Mi nombre es $Juan");


Esto es mas claro y es una buena costumbre de trabajo ...


$Nombre = 'Juan';
echo ("Mi nombre es " . $Juan);


Bueno, espero haber aclarado estos puntos y espero novedades de Andrea.

Suerte !!

kayetano
02-12-2004, 17:00:34
Hola

Gracias por aclarar estos puntos, ya pensaba yo que era algo más peligroso.

Intentaré utilizar la etiqueta <?php pero despues de tantos años usando la <? me da que no voy ha ser capaz, ya me cuesta utilizar los arrays $_POST y $_GET.


Esto es mas claro y es una buena costumbre de trabajo ...

Con respecto al uso de variables entre comillas, discrepo de tu opinión, yo uso este recurso muy a menudo, es verdad que se ve más claro el código sacando la variable, pero en muchas ocasiones ahorra mucho trabajo y soy de los que piensa que si existe un recurso ¿por que no usarlo?.

Nuevamente gracias ;)