Saludos.
Agradecería me pudieran ayudar, no sé si esta consulta esta en el lugar adecuado o tendría que ir directamente a php.
La cuestión es que tengo un formulario con un DateField que recoge la fecha seleccionada por el usuario para una cita previa
Todo funciona perfectamente y recibe todos los datos al correo indicado pero mi problema es que no consigo que la fecha seleccionada llegue en formato español.
Así es como llega: Fri Jan 22 00:00:00 GMT+0100 2010 y necesitaría algo así Viernes 22 de Enero del 2010, o 22-1-2010.
As utilizado:
System.useCodepage = true;
import mx.controls.*;
select_fecha.dateFormatter = function(lafecha:Date) {
if (lafecha.getDate()<10) {
mostrardia = "0"+lafecha.getDate();
} else {
mostrardia = lafecha.getDate();
}
if ((lafecha.getMonth()+1)<10) {
mostrarmes = "0"+(lafecha.getMonth()+1);
} else {
mostrarmes = lafecha.getMonth()+1;
}
return mostrardia+"/"+mostrarmes+"/"+lafecha.getFullYear();
};
var lafechaAyer:Date = new Date();
mostrardiaAyer = lafechaAyer.getDate()+2;
mostrarmesAyer = lafechaAyer.getMonth();
select_fecha.disabledRanges = [{rangeEnd:new Date(lafechaAyer.getFullYear(), mostrarmesAyer, mostrardiaAyer)}];
focusManager.defaultPushButton = enviar_btn;
Selection.setFocus(nombre_txt);
var escuchadorLimpiar:Object = new Object();
escuchadorLimpiar.click = function(evt:Object){
}
nombre_txt.text = "";
producto_cmb.selectedIndex = 0;
model_txt.text = "";
matri_txt.text = "";
km_txt.text = "";
tel_txt.text = "";
mail_txt.text = "";
select_fecha.selectedDate = "";
mantaniment_rdo.selected = true;
avaria_rdo.selected = true;
xapa_rdo.selected = true;
info_chk.selected = true;
sevei_txt.text = "";
info_chks.selected = false;
reset_btn.addEventListener("click", escuchadorLimpiar);
var escuchadorOtro:Object = new Object();
escuchadorOtro.click = function(evt:Object) {
}
var escuchadorEnvia:Object = new Object();
escuchadorEnvia.click = function(evt:Object) {
if (nombre_txt.text.length == 0) {
Alert.show("Introdueixi el seu Nom", "Error", Alert.OK);
Selection.setFocus(nombre_txt);
return false;
}
if (model_txt.text.length == 0) {
Alert.show("Introdueixi el model del cotxe", "Error", Alert.OK);
Selection.setFocus(model_txt);
return false;
}
if (matri_txt.text.length == 0) {
Alert.show("Introdueixi la matrícula del cotxe", "Error", Alert.OK);
Selection.setFocus(matri_txt);
return false;
}
if (km_txt.text.length == 0) {
Alert.show("Introdueixi els km actuals", "Error", Alert.OK);
Selection.setFocus(km_txt);
return false;
}
if (tel_txt.text.length == 0) {
Alert.show("Introdueixi el seu telèfon", "Error", Alert.OK);
Selection.setFocus(tel_txt);
return false;
}
function esMail(mail:String) {
// indexOf devuelve la primera posición de la cadena indicada en el string, la primera posición es 0
// lastIndexOf devuelve la última posición de la cadena indicada en el string
if (mail.indexOf("@") > 0 && mail.indexOf("@") == mail.lastIndexOf("@")) {
// si la @ se encuentra al menos en posición 1 y no hay dos @
if (mail.lastIndexOf(".") > mail.indexOf("@") + 1 && mail.lastIndexOf(".") < mail.length - 2) {
// si el último . se encuentra después de la @ + 1 y después de éste hay al menos dos caracteres
return true;
}
else {
return false;
}
}
else {
return false;
}
}
// si el email no es válido salta un aviso
if (!esMail(mail_txt.text)) {
Alert.show("Introduzca un correo electrónico válido", "Error", Alert.OK);
Selection.setFocus(mail_txt);
return false;
}
if (servei_txt.text.length == 0) {
Alert.show("Introdueixi el servei ", "Error", Alert.OK);
Selection.setFocus(servei_txt);
return false;
}
if (info_chks.selected ==false) {
Alert.show("Accepti la política de privadesa ", "Error", Alert.OK);
Selection.setFocus(info_chks);
return false;
}
var envio:LoadVars = new LoadVars();
envio.nombre = nombre_txt.text;
envio.fecha = select_fecha.selectedDate;
envio.producto = producto_cmb.selectedItem.data;
envio.model = model_txt.text ;
envio.matri = matri_txt.text ;
envio.km = km_txt.text ;
envio.tel = tel_txt.text ;
envio.email = mail_txt.text;
if (mantaniment_rdo.selected) {
envio.encontrar = mantaniment_rdo.data;
}
else if (avaria_rdo.selected) {
envio.encontrar = avaria_rdo.data;
}
else if (xapa_rdo.selected) {
envio.encontrar = xapa_rdo.data;
}
envio.masinfo = info_chk.selected;
envio.servei = servei_txt.text;
envio.masinfos = info_chks.selected;
envio.nombre = nombre_txt.text;
envio.onLoad = function(exito:Boolean) {
if (exito) {
nombre_txt.text = "";
producto_cmb.selectedIndex = 0;
model_txt.text = "";
matri_txt.text = "";
km_txt.text = "";
tel_txt.text = "";
mail_txt.text = "";
select_fecha.selectedDate = "";
mantaniment_rdo.selected = true;
avaria_rdo.selected = true;
xapa_rdo.selected = true;
info_chk.selected = true;
info_chk.selected = false;
info_chks.selected = true;
servei_txt.text = "";
}
else {
Alert.show("Ha habido un error en el envío", "Error");
}
}
// enviamos las variables al archivo PHP
envio.sendAndLoad("enviar_mailav.php", envio, "POST");
Selection.setFocus(nombre_txt);
}
enviar_btn.addEventListener("click", escuchadorEnvia);
phpmailer:
<?
require "includes/class.phpmailer.php";
$mail = new phpmailer();
$nombre = $_POST["nombre"];
$marca = $_POST["producto"];
$model = $_POST["model"];
$matricula = $_POST["matri"];
$km = $_POST["km"];
$telefono = $_POST["tel"];
$email = $_POST["email"];
$data = $_POST["fecha"];
$averia = $_POST["encontrar"];
$presupuesto = $_POST["masinfo"];
$servicios = $_POST["servei"];
$legal = $_POST["masinfos"];
$mail->PluginDir = "includes/";
$mail->Mailer = "smtp";
$mail->Host = "smtp.";
$mail->SMTPAuth = true;
$mail->Username = "";
$mail->Password = "";
$mail->From = "";
$mail->FromName = "Cita Prèvia ";
$mail->Timeout=4;
$mail->AddAddress("");
$mail->AddAddress("");
$mail->Subject = "Sol·licitud des de la web Cita prèvia ";
$mail->Body = "<b>$nombre desitja cita prèvia:<br><br>Nom:</b> $nombre
<br><b>Marca:</b> $marca
<br><b>Model:</b> $model
<br><b>Matrìcula:</b> $matricula
<br><b>Km:</b> $km
<br><b>Telèfon:</b> $telefono
<br><b>E-mail:</b> $email
<br><b>Fecha:</b> $data
<br><b>Averia:</b> $averia
<br><b>pressupost:</b> $presupuesto
<br><b>Serveis:</b> $servicios
<br><b>Si, accepta la política de privadesa </b>";
$mail->AltBody = "$nombre desitja cita prèvia: Nom: $nombre Marca: $marca Model: $model
Matrìcula: $matricula Km: $km Telèfon: $telefono E-mail: $email Fecha: $data Averia: $averia pressupost: $presupuesto Serveis:$servicios";
$exito = $mail->Send();
$intentos=1;
while ((!$exito) && ($intentos < 5)) {
sleep(5);
$exito = $mail->Send();
$intentos=$intentos+1;
}
if(!$exito)
{
echo "Problemas enviando correo electrónico a ".$valor;
echo "<br>".$mail->ErrorInfo;
}
else
{
echo "Mensaje enviado correctamente";
}
$mailRes = new phpmailer();
$mailRes->Mailer = "smtp";
$mailRes->Host = "";
$mailRes->SMTPAuth = true;
$mailRes->Username = "";
$mailRes->Password = "";
$mailRes->From = "";
$mailRes->FromName = "Cita Prèvia ";
$mailRes->Timeout=4;
$mailRes->AddAddress($_POST["email"]);
$mailRes->Subject = "Sol·licitud cita prèvia";
$mailRes->Body = "<b>Gràcies. Sr/Sra $nombre per contactar amb nosaltres</b>
<br> Ens ha sol·licitat cita prèvia per el dia:
<br><b>Data:</b> $data
<br>En breu en ...., el seu assessor de servei, contactarà amb vostè per confirmar-li la data.
<br><b>Atte, </b>";
$mailRes->AltBody = "Gràcies. Sr/Sra. $nombre per contactar amb nosaltres Ens ha sol·licitat cita prèvia per el dia: Data: $data .En breu en ...., el seu assessor de aervei, contactarà amb vostè per confirmar-li la data.";
$exito = $mailRes->Send();
$intentos=1;
while ((!$exito) && ($intentos < 5)) {
sleep(5);
$exito = $mailRes->Send();
$intentos=$intentos+1;
}
if(!$exito)
{
echo "Problemas enviando correo electrónico a ".$valor;
echo "<br>".$mailRes->ErrorInfo;
}
else
{echo "Mensaje enviado correctamente";
}
?>
No domino demasiado el php y aunque llevo todo el día intentando formatear la fecha haciendo cambios en el php no consigo nada, con date lo único que consigo
Es mostrar la fecha correctamente pero del día actual no la fecha recogida en el DateField por el usuario.
Gracias por leerme pero si además puedes echarme una mano te lo agradecería muchísimo pues ya no se qué hacer.