Hej alle sammen,

Jeg har lavet kontaktformular i flash, der via PHP sender en mail til min emailadresse med de indtastede informationer. Det hele fungerer fint, bortset fra én lille ting - et problem jeg aldrig før er stødt på.

Når jeg uploader swf-filen og kører den på min hjemmeside må jeg ikke indtaste "@" på den almindelige danske måde (Alt Gr + 2), for så skriver den bare et 2-tal. Hvis jeg til gengæld trykker Shift + 2, så laver den et @, men det kan besøgende på min hjemmeside jo ikke vide.

Problemet er særlig underligt, for hvis jeg kører swf-filen fra flash (Ctrl + Enter) eller kører den efter den er eksporteret (men altså ikke fra hjemmesiden), så er der ingen problemer med @'et. Det er kun når den køres via hjemmesiden.

Er der nogen af Jer, der kender til dette problem, og ligger inde med en løsning?

Her er min AS3-kode:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
System.useCodePage = true;//Gør at du undgår problemer med æøå
var emailData:URLVariables = new URLVariables();//holder vores data som sendes til php'en
var request:URLRequest;//vores url request
var loader:URLLoader = new URLLoader();//URLLoaderen sender data'en til php
 
sendKnap.addEventListener(MouseEvent.CLICK, sendMail);//"Lytter" om der bliver trykket på knappen "sendKnap"
loader.addEventListener(Event.COMPLETE, mailSendt);//Lytter efter hvornår mailen er sendt
 
function sendMail(e:Event):void
{
//Checker om der er indtastet noget i alle felterne med valider() functionen, som vi laver nede under.
  if(valider()){
 
  statusText.text = "Vent venligst sender mail...";//Skriver at mailen sendes
  //Tilføjer hvad der står i input felterne til vores URLVariabler
  emailData.navn = navnInput.text;
  emailData.kontakt = kontaktInput.text;
  emailData.email = emailInput.text;
  emailData.besked = beskedInput.text;
 
  request = new URLRequest("email1.php");//Siger hvor php filen ligger
  request.method = URLRequestMethod.POST;//Fortæller at dataen skal sendes som POST variabler
  request.data = emailData;//Tilføjer URLVariablerne til vores request
  loader.load(request);//Sender dataen til php filen
 
  }
        else
        {
    statusText.text = "Udfyld alle felter, tak.";//Skriver at man skal udfylde alle felter
  }
}
 
function valider():Boolean{
 
        //Checker om alle felterne er blevet udfyldt
 
  if(navnInput.text != "" && kontaktInput.text != "" && emailInput.text != "" && beskedInput.text != ""){
    return true;//true, der noget i alle felter
  }else{
    return false;//false, der er ikke skrevet i alle felterne
        }
 
}
 
 
//Denne function "Kører" når mailen er blevet sendt
function mailSendt(e:Event){
  trace("mail sendt")
  navnInput.text = "";//tømmer input feltet
  kontaktInput.text = ""; //tømmer input feltet
  emailInput.text = "";//tømmer input feltet
  beskedInput.text = "";//tømmer input feltet
  gotoAndStop(3);
}

Jeg håber i kan finde mig en løsning Smile
På forhånd tak,
//deafdigit