Hola todos como estan?
Bueno soy nuevo en el foro, pero los leo hace mucho ya que muchas veces me ha sido muy util este foro, pero ahora necesitaría una ayuda más personalizada ya que no encontre solucion en la web
Estoy generando un formulario dinamico en php, la situacion es la siguiente
la pagina contiene para generar un presupuesto y enviarlo por mail, los campos son 1 select 2 input text 3 input text y el codigo es el siguiente Código PHP:
<form enctype="multipart/form-data" method="POST" action="presupuestosrecibidos.php" name="presupuestos">
<table border="0" cellspacing="2" cellpadding="0" id="formulariopresupuestos">
<tr>
<td><label>Nombre</label><input name="nombre" type="text" /></td>
<td><label>Teléfono</label>
<input name="telefono" type="text" /></td>
</tr>
<tr>
<td><label>Apellido</label><input name="apellido" type="text" /></td>
<td><label>Provincia</label><input name="provincia" type="text" /></td>
</tr>
<tr>
<td><label>Empresa</label><input name="empresa" type="text" /></td>
<td><label>Email</label><input name="email" type="text" /></td>
</tr>
</table>
<table border="0" cellspacing="2" cellpadding="0">
<tbody id="tabla">
<tr id="descripcion">
<td class="celda">Artículo</td>
<td align="left" class="celda">Cantidad</td>
<td class="celda">Especificación - <span style="font-style: italic" class="colorverde">Opcional</span></td>
</tr>
<tr>
<td class="celda"><select name="ARTICULO 1" >
<option value="0" selected>Seleccione... </option>
<option value="1">1 </option>
<option value="2">...
</select></td>
<td class="celda"><input name="cantidad1" type="text" id="cantidad"/></td>
<td class="celda"><input name="comentario1" type="text" id="comentario"/></td>
</tr>
<tr>
<td class="celda"><select name="ARTICULO 2" >
<option value="0" selected>Seleccione...
<option value="1">...
</select> </td>
<td class="celda"><input name="cantidad2" type="text" id="cantidad"/></td>
<td class="celda"><input name="comentario2" type="text" id="comentario"/></td>
</tr>
<tr>
<td class="celda"><select name="ARTICULO 3" >
<option value="0" selected>Seleccione...
<option value="1">...
</select> </td>
<td class="celda"><input name="cantidad3" type="text" id="cantidad"/></td>
<td class="celda"><input name="comentario3" type="text" id="comentario"/></td>
</tr>
<tr id="fila">
<td colspan="3"></td>
</tbody>
</table>
Ese es el php, que a su vez (para que el usuario apretando el boton ' agregar..' pueda ingresar más filas de articulos) tiene en el header el siguiente javascript: Código PHP:
function Agregar(){
obj=document.getElementById('tabla');
f=document.getElementById('fila');
Num++;
elTr=document.createElement('tr');
elTd=document.createElement('td');
elTd.className="celda";
elem=document.createElement('select');
elem.name='ARTICULO '+Num;
var op0 = new Option("Seleccione...", "0");
var op1 = new Option("1", "1");
var op2 = new Option("2", "2");
var op3 = new Option("3", "3");
var op4 = new Option("4", "4");
var op5 = new Option("5", "5");
var op6 = new Option("6", "6");
var op7 = new Option("7", "7");
var op8 = new Option("8", "8");
elem.appendChild(op0);
elem.appendChild(op1);
elem.appendChild(op2);
elem.appendChild(op3);
elem.appendChild(op4);
elem.appendChild(op5);
elem.appendChild(op6);
elem.appendChild(op7);
elem.appendChild(op8);
elTd.appendChild(elem);
elTd2=document.createElement('td');
elTd2.className="celda";
txt=document.createElement('input');
txt.name='cantidad'+Num;
txt.type='text';
txt.id='cantidad';
elTd2.appendChild(txt);
elTd3=document.createElement('td');
elTd3.className="celda";
txt2=document.createElement('input');
txt2.name='comentario'+Num;
txt2.type='text';
txt2.id='comentario';
elTd3.appendChild(txt2);
elTr.appendChild(elTd);
elTr.appendChild(elTd2);
elTr.appendChild(elTd3);
obj.insertBefore(elTr,f)
}</script>
Bueno, este formulario dinamico yo preciso enviarlo por mail por lo que en la pagina que recibe el formulario tengo una funcion que reconoce todos los campos y crea una tabla. el script es el siguiente Código PHP:
<?php
if($_POST['enviar']=="Enviar"){
function generartabla() {
echo "<table style='float:none;width:200px;margin-top:50px;margin-left:20px;'>";
while(list($key, $Value) = each($_POST)){
if ($key != 'enviar'){
if ($key == 'email'){
echo "<tr>";
echo "<td style='font-weight:bold;'>". $key ." : </td><td>". $Value . "</td>";
echo "</tr>";
echo "<tr>";
echo "<td style='font-weight:bold;'> </td><td> </td>";
echo "</tr>";
}else{
echo "<tr>";
echo "<td style='font-weight:bold;'>". $key ." : </td><td>". $Value . "</td>";
echo "</tr>";
echo "</tr>";
}
} else {
echo "<tr>";
echo "<td style='font-weight:bold;'> </td><td> </td>";
echo "</tr>";
echo "</table>";
}
}
}
Hasta aca todo funciona perfectamente, pero tengo un problema a la hora de enviar esa funcion por mail, ya que no puedo de ninguna manera
trate de crear una variable que actuase como funcion, ej:
$tabla='generartabla';
y luego en el codigo que envia el mail tengo ...<td>". $tabla() . "</td>...
o tambien trate de meter la funcion directamente en el codigo que se envia como cuerpo de mail
...<td>". generartabla() . "</td>...
Pero cuando hago esas cosas, la pagina que recibe el formulario es la que muestra la tabla, y al mail llega el codigo vacío es decir
...<td></td>...
El problema que tengo es eso, el de enviar el resultado de mi funcion por mail, hice la prueba de crear una variable con cualquire texto $probando="funciona" e inclui esa variable en el script del cuerpo de mensaje (para chequear que no estuviera mal el script que envia el mail) y funciona perfecto es decir, recibo un mail con el contenido de esa variable
...<td>funciona</td>...
Pido disculpas por la extensión del mail, ya se que es muy largo, pero si no incluia todos mis scripts no iban a tener la info suficiente de lo que estoy haciendo.
Para lo que no leyeron todo el post, hago un recuento pagina 1: genero un formulario con campos establecidos y con la opcion de que el usuario mediante un boton agregue más campos
pagina2: recibo el formulario, creo una funcion que lee todas las variables y crea una tabla con los resultados y -el problema- no puedo enviar el resultado de la funcion por mail
Vale la pena aclarar que no soy programador, sino diseñador que trata de implementar todas las herramientas a su alcance para poder mejorar la funcionalidad de los trabajos, por lo que si cometí un 'crimen' en alguno de estos código, pido disculpas jajaja
desde ya muchas gracias y felicito al que leyo todo mi post!! jajajajaja
saludos
sebastian