Componente ComboBox

FlashEn este ejercicio aprenderemos a usar el componente ComboBox que viene incluido en Flash. Este componente nos permite mostrar una lista de opciones, de la cual el usuario podrá seleccionar solamente una opción.

Para este ejemplo usaremos Flash 8. El resultado final y el archivo para descargar los encontrarás al final de este post.

Un ComboBox pertenece a la clase mx.controls.ComboBox de ActionScript.

Tutorial

1. Crea un nuevo documento de Flash de 340 x 415 pixeles.

2. A la única capa que existe ponle de nombre Forma. Coloca en el escenario un texto que diga “¿De que país nos visitas?” (sin las comillas).

3. Abre el Panel Componentes (Ctrl. + F7 o bien en el menú Window -> Components). Dentro de este panel encontrarás una sección llamada User Interface (Interfaz de usuario). Abre esa sección y selecciona el componente ComboBox.

4. Arrastra al escenario cinco de estos componentes. Por el momento no importa cómo los coloques en el escenario, más adelante pondré una imagen de cómo de quedar aproximadamente.  Además, arrastra al escenario una instancia del componente Button.

5. Al botón cámbiale su propiedad label por Aceptar. Asígnale el nombre de instancia aceptar_btn.

6. A cada uno de los combos ponles los siguientes nombres de instancia (empezando por el combo que se encuentre más arriba y terminando por el que esté más abajo):

  • cbo_paises0
  • cbo_paises1
  • cbo_paises2
  • cbo_paises
  • cbo_estados

En este ejemplo llenaremos cada uno de los combos por medio de ActionScript, por lo que no será necesario modificar las propiedades de estos combos que se encuentran en el panel Parámetros. Aún así, explicaremos qué es cada una de estas opciones:

  • data: Son los valores que queremos que tome cada uno de los elementos de un combobox. Estos valores son almacenados en un arreglo. Un ejemplo claro podría ser cuando tienes una tabla países en tu base de datos. Por lo general esta tabla está formada por el nombre del país y un ID que hace referencia a su registro en la base datos. El ID de cada uno de estos registros lo podríamos poner en esta opción de data para que así podamos saber rápidamente el ID del país que el usuario seleccionó.
  • editable: Si el valor de esta propiedad es true, entonces el usuario podrá escribir en él. En caso contrario si la propiedad tienen el valor de false, el combobox no será editable. Un combobox editable puede permitirle al usuario introducir un valor que no se encuentra dentro de la lista de opciones.
  • labels: Se almacaenan en un arreglo y son las opciones que queremos que aparezca en el combobox. Siguiendo con nuestro ejemplo de los países y IDs, aquí irían cada uno de los nombres de los países.
  • rowCount: Su valor es un número indicando la cantidad de renglones que queremos que se muestren de largo. Por ejemplo, si tenemos 8 opciones en el combo y en rowCount tenemos 6, entonces al abrir el combo se mostrarán los primeros seis y un scrollbar para ver los dos que faltan.

7. Acomoda tus componentes y agrega los textos necesarios para que tu documento quede similar a la siguiente imagen:

8. De la imagen anterior puedes darte una idea de qué haremos con cada combo.  En el primer combo mostraremos las opciones como las fuimos metiendo al arreglo. En el segundo combo las opciones aparecerán en orden alfabético de acuerdo a su propiedad etiqueta (label). En el tercer combo mostraremos las opciones en orden numérico de acuerdo al valor (value) de las opciones. Para este ejemplo, en las propiedades value de las opciones usamos números (simulando que fueran los IDs de los países en nuestra base de datos); sin embargo, podemos usar textos como valores. En el cuarto combo mostraremos los países ordenados alfabéticamente y habilitaremos el combo de Estado / Provincia cuando el usuario seleccione como país a México o Perú. Dicho lo anterior y una vez que tengas tu archivo de Flash igual a la imagen de arriba es momento de entrar en terreno pantanoso. Crea una nueva capa y ponle de nombre Acciones. A continuación explicaré el código paso a paso.

9. Primero vamos a crear cuatro arreglos donde almacenaremos las opciones de los combos de países y el combo de estado / provincia. Coloca el siguiente código en la capa de Acciones.

var paises:Array = new Array();
var paisesLabel:Array = new Array();
var paisesValue:Array = new Array();
var estados:Array = new Array();

10. Al inicio, el combo de Estado / Provincia deberá estar desactivado, por lo que debemos poner la siguiente línea de código:

cbo_estados.enabled = false;

11. El siguiente código muestra la función almacenaPaises, la cual se encargará de almacenar las etiquetas y los valores en un arreglo. A pesar de que en nuestro ejemplo se almacenan los datos de forma estática, hacerlo dinámicamente (extrayendo la información de una base de datos, ya sea por medio de un XML, usando AMFPHP, LoadVars, etc.) es muy fácil ya que bastará recorrer la información obtenida por medio de un ciclo for y añadirla al arreglo.

function almacenaPaises() {
	paises.push({label:"-- Selecciona --", 	data:0});
	paises.push({label:"México", 			data:15});
	paises.push({label:"Argentina", 		data:12});
	paises.push({label:"España", 			data:24});
	paises.push({label:"Venezuela", 		data:5});
	paises.push({label:"Colombia",		 	data:18});
	paises.push({label:"Perú",		 		data:10});
	paises.push({label:"Chile",		 		data:28});

	for(var i = 0; i < paises.length; i++) {
		paisesLabel.push({label:paises[i].label, data:paises[i].data});
		paisesValue.push({label:paises[i].label + " -- " + paises[i].data, data:paises[i].data});
	}
	paisesLabel.sortOn(["label", "data"]);
	paisesValue.sortOn("data", Array.NUMERIC);

	cbo_paises0.dataProvider = paises;
	cbo_paises1.dataProvider = paisesLabel;
	cbo_paises.dataProvider  = paisesLabel;
	cbo_paises2.dataProvider = paisesValue;
}

Nota Analizando el código anterior te darás cuenta de que hicimos la inserción de los campos  para cada arreglo y NO se crearon los arreglos paisesLabel y paisesValue a partir del arreglo paises (es decir, de la forma paisesValue = paises y paisesLabel = paises). Esto se debe a que al hacer la asignación de la forma arregloA = arregloB el arregloB hace referencia a la localidad de memoria del arregloA, por lo tanto al modificar cualquiera de los dos arreglos (agregar/quitar/ordenar elementos, por ejemplo) estaríamos modificando la referencia de ambos (que es la misma) y claro que se estarían afectando los dos.

El método sortOn de un arreglo nos permite ordenarlo de acuerdo al criterio que señalemos. El primer parámetro de este método es el campo sobre el cual queremos ordenarlo (en nuestro caso es label o data). Para el caso del arreglo paisesLabel, estamos ordenando el arreglo primero por etiqueta (label) y después por su valor (data). En el caso del arreglo paisesValue, estamos ordenándolo por el valor de los registros (data). Como el valor de data es solamente numérico, debemos espercificarlo como segundo parámetro del método; ya que si no lo haces el programa primero mostrará los de valor 10 y después los de 5, por ejemplo.

Después de llenar los arreglos y ordenarlos conforme a nuestras necesidades, se los asignamos a los combos cbo_paises0, cbo_paises1, cbo_paises2 y cbo_paises por medio de la propiedad dataProvider.

12. Para poder anidar los combos de paises y Estado / Provincia debemos añadirle un listener al combo de paises. De esta forma, podremos detectar los eventos que se generan en un ComboBox. El evento que debemos detectar es el de change, el cual se produce cuando se cambia el valor del combobox cuando el usuario escoge una opción. El siguiente código añade el listener al combo cuyo nombre de instancia es cbo_paises (penúltimo combo).

cbo_paises.addEventListener("change", eventoComboBox);
function eventoComboBox(evento) {
	if(evento.target.selectedItem.data == 15 ||evento.target.selectedItem.data == 10)
		almacenaEstados(evento.target.selectedItem.data);
	else
		cbo_estados.enabled = false;
}

Observando el código encontrarás que la función eventoComboBox es llamada cuando se genera el evento; y que esta función recibe como parámetro la variable evento. De esta variable podemos conocer el objeto que lanzó el evento, por medio de la propiedad target (evento.target). Debido a que el target es el combobox cbo_paises podemos hacer uso de la propiedad selectedItem.data para conocer el valor de la opción seleccionada (toma nota de que también podrías usar selectedItem.label para conocer la etiqueta de la opción elegida). Debido a que necesitamos habilitar y llenar el combo de Estado / Provincia cuando el país elegido sea México o Perú, debemos verificar si el valor regresado por selectedItem.data es 15 (valor para México) ó 10 (valor para Perú). En caso de que se cumpla esta condición, llamaremos a la función almacenaEstados, que recibe como parámetro el valor del país elegido. El código de esta función es el siguiente:

function almacenaEstados(opc) {
	estados = new Array({label:"-- Selecciona --", data:0});
	if(opc == 15) {
		estados.push({label:"Aguascalientes", 	data:"AGS"});
		estados.push({label:"Nuevo León", 		data:"NL"});
		estados.push({label:"Yucatán", 			data:"YUC"});
		estados.push({label:"Jalisco", 			data:"JAL"});
		estados.push({label:"San Luis Potosí", 	data:"SLP"});
		estados.push({label:"Oaxaca", 			data:"Oaxaca"});
	}
	else {
		estados.push({label:"Huaraz", 			data:"HUA"});
		estados.push({label:"Casma", 			data:"CAS"});
		estados.push({label:"Ocros", 			data:"OCR"});
		estados.push({label:"Arequipa", 		data:"ARE"});
		estados.push({label:"Lucanas", 			data:"LUC"});
		estados.push({label:"Moho", 			data:"MOH"});
	}
	cbo_estados.dataProvider = estados.sortOn(["label"]);
	cbo_estados.addEventListener("load", estadosCargados);
	cbo_estados.enabled = true;
}

La primera línea de la función anterior es importante ya que estamos volviendo a llenar el arreglo estados; si no lo hiciéramos la segunda vez que entráramos a esta función  estaríamos añadiendo los datos al arreglo y por lo tanto aparecerían duplicados (si volvimos a seleccionar el mismo país) o bien revueltos los estados de México con las provincias de Perú.
Cuando la opción (variable opc) es igual a 15 (México), llenamos el combo con los estados de México; en caso contrario, llenamos el combo con las provincias de Perú. Vuelvo a señalar que dentro de esta función podríamos hacer una llamada a la base de datos para obtener los registros o bien la lectura de un XML.
Finalmente, después de llenar el arreglo se lo asignamos al combo cbo_estados. Además, le asignamos un listener del evento load (carga) para detectar cuando se terminen de cargar las opciones del ComboBox y así poner como seleccionado la primera opción del combo (cbo_estados.selectedIndex de la función estadosCargados). Posteriormente agregamos el código para habilitar el combo de estados (cbo_estados.enabled = true ;) .

function estadosCargados() {
	cbo_estados.selectedIndex = 0;
}

El último código que falta por pegar es el del botón de Aceptar. Al hacer click en este botón verificamos que el usuario haya seleccionado algún país (del combo cbo_paises, o sea el penúltimo combo) y si no seleccionó alguno mostramos un mensaje de alerta. Si el usuario seleccionó los países de México o Perú, verificamos que haya seleccionado algún estado o provincia y si no fue así mostramos otro mensaje de alerta.

aceptar_btn.onRelease = function() {
	if(cbo_paises.selectedIndex == 0)
		Alert.show("Por favor selecciona un país", "Aviso");
	else if(cbo_paises.selectedItem.data == 15 || cbo_paises.selectedItem.data == 10) {
		if(cbo_estados.selectedIndex == 0)
			Alert.show("Por favor selecciona un estado", "Aviso");
	}
}

No olvides agregar la llamada a la función almacenaPaises para que se llenen los combos cuando se ejecute la película

almacenaPaises();

¿Mucho rollo y ya te perdiste? No te preocupes, aquí va el código completo:

import mx.controls.Alert;

var paises:Array = new Array();
var paisesLabel:Array = new Array();
var paisesValue:Array = new Array();
var estados:Array = new Array();

cbo_estados.enabled = false;

almacenaPaises();

cbo_paises.addEventListener("change", eventoComboBox);
function eventoComboBox(evento) {
	if(evento.target.selectedItem.data == 15 ||evento.target.selectedItem.data == 10)
		almacenaEstados(evento.target.selectedItem.data);
	else
		cbo_estados.enabled = false;
}

function almacenaPaises() {
	paises.push({label:"-- Selecciona --", 	data:0});
	paises.push({label:"México", 			data:15});
	paises.push({label:"Argentina", 		data:12});
	paises.push({label:"España", 			data:24});
	paises.push({label:"Venezuela", 		data:5});
	paises.push({label:"Colombia",		 	data:18});
	paises.push({label:"Perú",		 		data:10});
	paises.push({label:"Chile",		 		data:28});

	for(var i = 0; i < paises.length; i++) {
		paisesLabel.push({label:paises[i].label, data:paises[i].data});
		paisesValue.push({label:paises[i].label + " -- " + paises[i].data, data:paises[i].data});
	}
	paisesLabel.sortOn(["label", "data"]);
	paisesValue.sortOn("data", Array.NUMERIC);

	cbo_paises0.dataProvider = paises;
	cbo_paises1.dataProvider = paisesLabel;
	cbo_paises.dataProvider  = paisesLabel;
	cbo_paises2.dataProvider = paisesValue;
}
function almacenaEstados(opc) {
	estados = new Array({label:"-- Selecciona --", data:0});
	if(opc == 15) {
		estados.push({label:"Aguascalientes", 	data:"AGS"});
		estados.push({label:"Nuevo León", 		data:"NL"});
		estados.push({label:"Yucatán", 			data:"YUC"});
		estados.push({label:"Jalisco", 			data:"JAL"});
		estados.push({label:"San Luis Potosí", 	data:"SLP"});
		estados.push({label:"Oaxaca", 			data:"OAX"});
	}
	else {
		estados.push({label:"Huaraz", 			data:"HUA"});
		estados.push({label:"Casma", 			data:"CAS"});
		estados.push({label:"Ocros", 			data:"OCR"});
		estados.push({label:"Arequipa", 		data:"ARE"});
		estados.push({label:"Lucanas", 			data:"LUC"});
		estados.push({label:"Moho", 			data:"MOH"});
	}
	cbo_estados.dataProvider = estados.sortOn(["label"]);
	cbo_estados.addEventListener("load", estadosCargados);
	cbo_estados.enabled = true;
}

function estadosCargados() {
	cbo_estados.selectedIndex = 0;
}

aceptar_btn.onRelease = function() {
	if(cbo_paises.selectedIndex == 0)
		Alert.show("Por favor selecciona un país", "Aviso");
	else if(cbo_paises.selectedItem.data == 15 || cbo_paises.selectedItem.data == 10) {
		if(cbo_estados.selectedIndex == 0)
			Alert.show("Por favor selecciona un estado", "Aviso");
	}
}

Nota Para ordenar los elementos de un ComboBox se pueden usar las funciones sortItems y sortItemsBy. Para este caso deberás tener, de todas formas, arreglos distintos para cada ComboBox.

Hemos llegado al final de este tutorial. Después de tanta explicación no olvides bajar los archivos y ver el archivo de ejemplo que está a continuación.


Este archivo requiere Flash Player 8
Descargar Archivo
Category: Flash  Tags: , ,
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
77 Responses
  1. Matias dice:

    Hola Carla, gracias por el aporte que nos das. Te hago una pregunta?
    Yo tengo un formulario en flash que se envia por php de manera sencilla. Lo que necesito y no encuentro como hacerlo es lo siguiente: Agregar 2 combobox como en tu ejemplo, que el segundo aparezca segun la opcion elegida del primero, pero ademas segun lo que se elija lo envie a un mail o a otro.

    Ejemplo:
    ComboBox1: Infantiles | adultos
    ComboBox2: cumpleaños, fiesta de 15, bautismo, otro (infantiles)
    casamientos, despedidas, fiesta de fin de año, otro (adultos)

    El comboBox2 se carga segun si elegimos infantiles o adultos.

    Ademas que si elige infantiles lo envie a un mail y si elige adultos a otro diferente.

    Gracias por tu ayuda.

  2. Sergio dice:

    Hola Carla, antes que nada me encontré tu sitio y felicito por la forma de explicarlo y compartir tus conocimientos.
    Seré breve con lo que necesito.
    Me interesa sacar el valor del “data:” almacenado y ponerlo en un campo de texto. No sé si me explique, pero lo que necesito es darle el valor de un email a cada “data” y sacar dicha información en un campo de texto para que aparezca el email.
    De antemano muchas gracias!!

  3. Hector Viloria dice:

    Saludos, hey muchas gracias por tu aportacion, aun que tengo un par de dudas, cabe mencionar que soy nuevo en esto asi que quisas pregunte algo cumun, he realizado el tutorial que muestras, pero no logro aun saber como hacer que los datos seleccionados te trasladen a un fotograma con dicha informacion, por ejemplo en el combox escojo mexico, luego Oaxaca, y me gustaria que esa eleccion me trasladara a la parte donde se encuentra la informacion de Oaxaca cuando precione Aceptar. he leido todo y aunque pareciera que tengo algo para solucionarlo me es dificil, agradesco de igualmanera si me pudieras ayudar, en caso de que no pues igual muchas gracias por todos tus aportes son muy buenos. Saludos

  4. Jp dice:

    Hola, muchas gracias por el tutorial, pero queria preguntarles algo, y es sobre la parte final donde usan filtros.
    Si yo tengo una lista de 100 palabras en xml la cual cada una me conecta a algo (foto, link, etc), hay alguna manera de que como son muchas palabras uno pueda, en vez de tener un gran listado de items por seleccionar, la oportunidad de comenzar a escribir la palabra en algun textinput y que se vaya filtrando las opciones reconociendo sin importar si se escribe en minusculas o mayusculas?…
    gracias,

    Jp.

  5. elpapa dice:

    hola esta muy buen a groso modo pero solo lo estoy probando; espero y todo me funcione; aunque me gustaria que me explicaras como hacer no un formulario sino un juego de decubrir la imagen identica, no tengo ni idea como empezar

    gracias por todo

  6. Vivi dice:

    Hola Carla, estado leyendo todo tu tutorual y me parece muy interesnate, resulta que tengo un problema y quisiera que porfavo me des una manito. Bueno te comento el problema:
    Pra aempezar trabajo con Flash, amfphp, PHP y mysql
    diseñe un formunario donde tengo un datagrid y dentro de uno de los campos carge un combobox, para eso utilize el cellrenderer, hice una clase para el combobox. Ahora el probelam es que no logro cargar datos en el combobox que va dentro del datagrid, teoricamente en la clase del combo es donde tengo que cargar la funcion que llena mi combobox pero no logro hacerlo, nose si tu ya manejaste eso y si me puedes ayudar, te lo agradeceria muchisimo

  7. LILIAN dice:

    Muchas Gracias Carla lo probare y claro tratare de ya no molestarte…

    Muchas gracias de nuevo

    LILIAN

  8. Hola Lilian,

    Para el envío de correos necesitas tener PHP o ASP. Este ejemplo usa PHP por lo que debes probarlo en un servidor que soporte PHP. Para descartar que sea tu servidor y no el código, crea un archivo PHP (correo.php) con este código:

    <?
    $remitente = "Remitente <correo@correo.com>";
    $para = "Carla Macias <tocorreo@correo.com>";
    $asunto = "Correo de prueba";
    $mensaje = "Prueba de envío de correo por PHP";
    $header = "MIME-Version: 1.0\nFrom: " . $remitente . "\n";
    $header .= "Content-type: text/html; charset=iso-8859-1;";
    if(mail($para, $asunto, $mensaje, $header))
    	echo 'Correo enviado';
    else
    	echo 'Problemas al enviar el correo';
    ?>
    

    No olvides cambiar los correos para probar que te llegan. Salva el archivo, súbelo a tu servidor y abre la página en el navegador para ver qué te muestra.

    Saludos.

  9. LILIAN dice:

    UPSSS!!!! no se que pasa que no me inserta el codigo PHP pero bueno en realidad es igual al que me pusiste como ejemplo nada mas que mi variable es “canciones”

    De antemano Gracias!!!!

    y disculpa lo latosa

  10. LILIAN dice:

    Creo que falto mi codigo PHP te lo envio

  11. LILIAN dice:

    Hola Carla:

    1000 gracias x contestarme la verdad es que eres buenisima en esto y bueno para ser sincera esta no es mi rama, pero no me quejare ya que es super interesante aprender sobre cosas que nunca imagine… es por esto que tal vez te hago preguntas super basicas o tontas (lo siento). Ya he seguido todas tus indicaciones pero aun tengo problemas ya que el correo no me llega y siempre me manda el error “Hubo un error en el envío del mensaje, por favor intente más tarde.”
    no tengo idea que pueda estar mal me ayudas por favor???
    te pongo mis codigos y nuevamente muchas gracias por tus tutoriales que estan super y toda la ayuda….

    Este es mi codigo en Flash

    import mx.controls.Alert;
    var canciones:Array = new Array();
    var enviar_lv:LoadVars = new LoadVars();
    var resultado_lv:LoadVars = new LoadVars();
    initForm();
    function initForm() {
    llenaComboCanciones();
    }
    function llenaComboCanciones() {
    canciones.push({label:”– Selecciona –”, data:0});
    canciones.push({label:”cancion 01″, data:”1″});
    canciones.push({label:”cancion 02″, data:”2″});
    canciones.push({label:”cancion 03″, data:”3″});
    canciones.push({label:”cancion 04″, data:”4″});
    canciones.push({label:”cancion 05″, data:”5″});
    cbo_canciones.dataProvider = canciones;
    cbo_canciones.sortItemsBy(“label”);
    }
    enviar_btn.onRelease = function() { enviarCorreo(); }
    function enviarCorreo() {
    enviar_btn.enabled = false;
    enviar_lv.canciones = cbo_canciones.selectedItem.label;
    enviar_lv.sendAndLoad(“enviar_voto.php”, resultado_lv, “POST”);
    }
    resultado_lv.onLoad = function(success:Boolean)
    {
    var respuesta = this.resultado;
    if(success)
    {
    if(respuesta == “SI”)
    {
    Alert.show(“Su Voto se ha enviado.”, “Gracias”, Alert.OK, null, “Alerta”, Alert.OK);
    }
    else
    {
    Alert.show(“Hubo un error en el envío del mensaje, por favor intente más tarde.”, “Error”, Alert.OK, null, “alerta”, Alert.OK);
    }
    }
    else
    Alert.show(“Hubo un error en el envío del mensaje, por favor intente más tarde.”, “Error”, Alert.OK, null, “alerta”, Alert.OK);
    enviar_btn.enabled = true;
    };

    Codigo en PHP

  12. LILIAN dice:

    Hola Carla…
    Me da muchisima pena molestarte pero la verdad es que no tengo conocimiento de Flash y se me esta complicando bastante la existencia.
    Mira lo unico que necesito es un combo que me despliegue 5 canciones y que el usuario seleccione 1 es para un top 5 y entonces necesito que me mande a mi correo la opcion selecionada para llevar un conteo
    la cosa es que ya hice el combo siguiendo tus instrucciones pero el Actionscript se me esta dificultando, ademas en el php no se como modificarlo para que reciba mi informacion y la envie
    Te agradezco de antemano tu atencion y paciencia

    • Hola LILIAN,

      Visita el tutorial de Enviar formulario de contacto ahí viene cómo recibir los datos de un combo.
      A grandes rasgos es algo así (imaginando que tu combobox tenga como nombre de instancia cancion_cb):

      import mx.controls.Alert;
      var enviar_lv:LoadVars = new LoadVars();
      var resultado_lv:LoadVars = new LoadVars();
      
      enviar_btn.onRelease = function() { enviarCorreo(); }
      function enviarCorreo() {
      	enviar_btn.enabled = false;
      	enviar_lv.cancion = cancion_cb.selectedItem.label;
      	enviar_lv.sendAndLoad("enviar_formulario_de_contacto.php", resultado_lv, "POST");
      }
      resultado_lv.onLoad = function(success:Boolean)
      {
      	var respuesta = this.resultado;
      	if(success)
      	{
      		if(respuesta == "S")
      		{
      			Alert.show("Su mensaje ha sido enviado.", "Gracias", Alert.OK, null, "alerta", Alert.OK);
      		}
      		else
      		{
      			Alert.show("Hubo un error en el envío del mensaje, por favor intente más tarde.", "Error", Alert.OK, null, "alerta", Alert.OK);
      		}
      	}
      	else
      		Alert.show("Hubo un error en el envío del mensaje, por favor intente más tarde.", "Error", Alert.OK, null, "alerta", Alert.OK);
      		enviar_btn.enabled = true;
      };
      

      El código del archivo PHP:

      <html>
      <head>
      </head>
      <body>
      <?php
      $cancion   = $_POST["cancion"];
      $formatos = array("text/html", "text/plain");
      $remitente = "no-reply@sudominio.com";
      $para = "msj1@sudominio.com,msj2@sudominio.com";
      $asunto = "Mensaje desde Código Metrópoli";
      $formato_correo = 1;
      $header  = "MIME-Version: 1.0\r\n";
      $header .= "Content-type: " . $formatos[$formato_correo] . "; charset=iso-8859-1\r\n";
      $header .= "From: " . $remitente . "\n";
      if($cancion != "") {
      $mensaje = "
      ----------------------------------------------------------------------------\n
      Canción: " . $cancion . "\n
      ----------------------------------------------------------------------------\n";
      	}
      }
      if($mensaje != "")
      {
      	if(mail($para, $asunto, $mensaje, $header))
      		echo '&resultado=S&';
      	else
      		echo '&resultado=N&';
      }
      else
      	echo '&resultado=N&';
      ?>
      </body>
      </html>
      

      Saludos.

  13. LILIAN dice:

    Hola Carla es muy interesante la forma en que explicas a detalle todos los elementos, te felicito!!!
    Por otra parte quiero pedirte un super favor, la verdad es que apenas me estoy adentrando en flash gracias a tu tutorial pude hacer un combo, ahora el problema que tengo es que solo hice uno y el codigo para enviar no me funciona me podrias explicar como debo hacer para que funcione????
    Mil Gracias!!!!

  14. LILIAN dice:

    Hola Carla es muy interesante la forma en que explicas a detalle todos los elementos, te felicito!!!
    Por otra parte quiero pedirte un super favor, la verdad es que apenas me estoy adentrando en flash gracias a tu tutorial pude hacer un combo, ahora el problema que tengo es que solo hice uno y el codigo para enviar no me funciona me podrias explicar como debo hacer para que funcione????

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>