Foros del Web » Programando para Internet » PHP »

meter una función en una variable

Estas en el tema de meter una función en una variable en el foro de PHP en Foros del Web. Hola a todos, estoy desesperado.... Intento meter una función dentro de una variable para poder mandarla por correo mediante mail() y no lo consigo por ...
  #1 (permalink)  
Antiguo 02/07/2009, 03:31
 
Fecha de Ingreso: diciembre-2003
Mensajes: 474
Antigüedad: 20 años, 4 meses
Puntos: 5
Exclamación meter una función en una variable

Hola a todos,
estoy desesperado....
Intento meter una función dentro de una variable para poder mandarla por correo mediante mail() y no lo consigo por ningún medio.

Lo que intento es enviar el contenido de un carrito o pedido por email y para ello creo esta función:

Código PHP:
function imprime_carrito2(){
session_start(); 


        
$suma 0;
        
echo 
'<center> <h2>HOJA DE PEDIDO</h2><hr /><br /><table width="600" class="alin_iz" cellpadding="2" cellspacing="4">
              <tr>
                <td><b>REFERENCIA</b></td>
                <td><b>MODELO</b></td>
                <td><b>SUBTOTAL</b></td>
                <td>&nbsp;</td>
              </tr>'
;
              
        for (
$i=0;$i<$this->num_productos;$i++){
            if(
$this->array_id_prod[$i]!=0){
                echo 
'<tr>';
                echo 
"<td>" $this->array_nombre_prod[$i] . "</td>";
                echo 
"<td>" $this->array_modelo_prod[$i] . "</td>";
                echo 
"<td>" $this->array_precio_prod[$i] . "</td>";
                echo 
"<td><a href='eliminar_producto.php?linea=$i'>Eliminar producto</td>";
                echo 
'</tr>';
                
$suma += $this->array_precio_prod[$i];
            }
        }
        
//muestro el total
        
echo "<tr><td><hr><br /><h3>TOTAL:</h3></td><td><hr><br />&nbsp;</td><td><hr><br /><h3>$suma euros *</h3></td></tr>";
        
//total más IVA
        //echo "<tr><td><b>IVA (16%):</b></td><td> <b>" . $suma * 1.16 . "</b></td><td>&nbsp;</td></tr>";
        
echo "</table></center>";

    } 
¿Alguien puede ayudarme por favor? He mirado todo lo que se me ocurre y no me vale nada (incluso generar un txt para adjuntarlo al correo pero aparece vacío...)

Gracias.
  #2 (permalink)  
Antiguo 02/07/2009, 03:48
 
Fecha de Ingreso: marzo-2009
Mensajes: 30
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: meter una función en una variable

debes de usar return en lugar de echo.

Ejemplo:

Código php:
Ver original
  1. <?
  2. function fun(){
  3.  echo "mundo";
  4. }
  5. $variable='Hola '.fun().' como estas';
  6. echo $variable;
  7. <?
Sale:
Cita:
mundoHola como estas
Pero con return:
Código php:
Ver original
  1. <?
  2. function fun(){
  3.  return "mundo";
  4. }
  5. $variable='Hola '.fun().' como estas';
  6. echo $variable;
  7. <?
Sale:
Cita:
Hola mundo como estas
Consejo
Para las funciones utilizo mucho el poner el contenido en variables utilizando el "$variable.=" para seguir almacenando e imprimirla o retornarla completa.

Última edición por 3du4rd0; 02/07/2009 a las 03:53 Razón: Consejo
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 01:47.