11 berichten aan het bekijken - 1 tot 11 (van in totaal 11)
  • Q:
    Bijdrager
    Soedjono84

    flash / php vraagje

    Hallo,

    Ik heb met actionscript en php een registreerformulier gemaakt.

    Nou krijg ik iets stoms. Wanneer de bezoeker op een mac zich registreerd en later weer terugkomt op de actie/registreerpagina kan hij of zij zich nogmaals registreren voor de actie. Op zich geen probleem. (of wel?)

    In ieder geval, wanneer de bezoeker op een pc zich registreerd en later weer op deze pagina komt, krijg de bezoeker gelijk de bedankframe te zien van mijn swf en dus niet nogmaals de invoervelden.

    Hoe kan dit? Hoe krijg ik mijn programma zo geprogrammerd dat een pc bezoeker zich twee maal kan aanmelden voor onze actie?

    Alvast bedankt.

    Bijdrager
    Soedjono84

    Ik ben erachter gekomen wanneer ik bij internetopties van mijn internetbrowser de kopieeen van mijn webpagina’s verwijder, ik weer het invoerveld te zien krijg.

    Is dit normaal, dat er bij flash registreer applicaties je maar 1keer kan registreren? Volgens mij niet..

    Inactief
    Anoniem

    Je geeft te weinig info.

    Werkt je met flashvars? Het je het ook getest met Safari for windows? En firefox for OS X? Heb je een (versimpeld) php-script + AS voor ons? Hoe luidt het script nadat er op de registratie/submit-button geklikt is?

    Bijdrager
    J-R0eN

    Als je een nieuwe .swf upload leeg dan altijd je cache geheugen en vernieuw vervolgens de pagina. Anders laat hij vaak nog het oude .swf zien omdat die is opgeslagen in je cache.

    Bijdrager
    Soedjono84

    Ik werk met een op internet gevonden script. De script ziet er als volgt uit:

    [code:1:cbef65fbf0]stop ();

    Stage.scaleMode = "noscale"
    // aangeven van de variabelen

    //route naar het php document vanaf de pagina waaruit het
    //Flash contact formulier geopend wordt
    mailform = "mailform.php";
    //
    confirm = "wachten op bevestiging…"
    action = "verzonden";
    error1 = "ongeldig adres";
    error2 = "vul voornaam in a.u.b.";
    error3 = "vul achternaam in a.u.b.";
    error4 = "vul geboortedatum in a.u.b.";
    error5 = "vul adres in a.u.b.";
    error6 = "vul postcode in a.u.b.";
    error7 = "vul telefoon in a.u.b.";
    error8 = "vul merk en tyoe lens in a.u.b.";
    //
    // Start met de variable fname (voornaam) geselecteerd
    //
    Selection.setFocus("fname");
    //
    // valideer de email op apenstaartje en een punt
    //
    function validate (address) {
    if (address.length>=7) {
    if (address.indexOf("@")>0) {
    if ((address.indexOf("@")+2)<address.lastIndexOf(".")) {
    if (address.lastIndexOf(".")<(address.length-2)) {
    return (true);
    }
    }
    }
    }
    return (false);
    }
    //
    //valideer of er een voornaam en achternaam is ingevuld
    //
    function formcheck () {
    if ((((email == null)) || (email.length<1)) || (email == "ongeldig adres")) {
    email = error1;
    action = "";
    }
    if (!validate(email)) {
    email = error1;
    action = "";
    }
    if ((fname == null) || (fname == "")) {
    fname = error2;
    action = "";
    }
    if ((lname == null) || (lname == "")) {
    lname = error3;
    action = "";
    }
    if ((geboortedatum == null) || (geboortedatum == "")) {
    geboortedatum = error4;
    action = "";
    }
    if ((adres == null) || (adres == "")) {
    adres = error5;
    action = "";
    }
    if ((postcode == null) || (postcode == "")) {
    postcode = error6;
    action = "";
    }
    if ((telno == null) || (telno == "")) {
    telno = error7;
    action = "";
    }
    if ((merktype == null) || (merktype == "")) {
    merktype = error8;
    action = "";
    }
    // als alles correct is ingevuld kunnen de gegevens gepost worden naar
    //het php gedeelte van het email formulier.
    if ((validate(email)) && (email != error1) && (fname != "") && (fname != error2) && (lname != "") && (lname != error3) && (geboortedatum != "") && (lname != error4)
    && (adres != "") && (adres != error5) && (postcode != "") && (postcode != error6) && (telno != "") && (telno != error7)
    && (merktype != "") && (mertype != error8)){
    action = "send";
    loadVariablesNum (mailform, 0, "POST");
    gotoAndPlay ("wait");
    }
    }

    [/code:1:cbef65fbf0]

    Dit staat op frame 1.

    Bij frame 5 met label “wait” heb ik de code:

    [code:1:cbef65fbf0]loadVariablesNum(mailform, 0);
    answer = confirm;

    [/code:1:cbef65fbf0]
    en op de laatste frame heb ik de tijdlijn gemarkeerd met label “done”.

    het script van mijn submit button is

    [code:1:cbef65fbf0]on (release) {
    formcheck ();
    }
    [/code:1:cbef65fbf0]

    Ik ben verder erachter gekomen dat alleen internet explorer deze fout steeds geeft. Firefox OSX en Windows doen het gewoon goed tevens Safari OSX en windows.

    Bijdrager
    Soedjono84

    Als je een nieuwe .swf upload leeg dan altijd je cache geheugen en vernieuw vervolgens de pagina. Anders laat hij vaak nog het oude .swf zien omdat die is opgeslagen in je cache.

    Ja, deze probleem ben ik al tegengekomen. Maar eenmaal ik de officiele versie heb geupload en mijn cache hebt leeggemaakt, blijft de mogelijkheid om maar 1x te registreren.

    Bijdrager
    Soedjono84

    correctie.

    Het is zelf zo, wanneer je voor de eerste keer naar mijn actiepagina gaat, krijg je mijn invoervelden te zien.
    Wanneer je terug gaat naar de homepage, zonder te registreren, en dan weer naar de actiepagina gaat, gaat de flashapplicatie direct naar mijn bedankt frame. (nogmaal gesproken komt dit pas wanneer je je gegevens hebt ingevoerd).

    Waar zit de fout?

    Inactief
    Anoniem

    Hoe werk jij? Laad je losse SWFs in een hoofd-SWF-file? Of werk je met 1 grote SWF die onderverdeeld is met MovieClips? Of werk je met scènes?

    Een tip is misschien om een ander script te zoeken, want werken met loadVariablesNum is zeer oud (volgens mij uit Flash 4 of 5). Probeer de flashVars-class eens, daarmee heb je veel meer controle, en hoef je niet te werken met een “wait”- en “done”-keyframe.

    Bijdrager
    Soedjono84

    ik werk met 1 grote swf met movieclips.

    Maar ik heb het probleem al gevonden. Ik had mijna actie.fla in een html gestopt genaamd contact.html. Ik had dus een index.html en een contact.html met swf. Ik heb nu de actie.fla in mijn index.fla gestopt en goed opgelet met stops..

    Ben ik ff blij dat het nu goed werkt.:D

    Harstikke bedankt voor jullie reacties. In de toekomst zal ik wat onderzoek doen naar flashVars-classes.

    Groeten,

    Inactief
    Anoniem

    Een tip voor de volgende site/project:
    Kijk ook even naar de MovieClipLoader class. Werken met 1 swf wordt afgeraden, omdat je dan in 1x 0,5-1 mb moet laden. Je kan beter eerst je hoofd-swf laden, en dan je menu-items los inladen. Dat scheelt tijd voor jou (tijdens compilen hoef je niet zo lang te wachten, en je bent niet tijd kwijt met zoeken in je swf), maar ook voor de bezoeker (de site laat sneller).

    Bijdrager
    Soedjono84

    Bedankt voor je tip the_one.

    Maar is het zo dat wanneer je een hoofd-swf hebt, en verder losse swfjes je in het begin misschien niet lang moet wachten, maar verder tijdens het surfen op de site wel af en toe moet wachten.

    Wat ik hiermee wil zeggen is dat ik vind dat de optie wachten in het begin en dan dat verder alles soepel gaat (dus 1 hele swf) ook wel kan. Je zou zelfs een preloader kunnen inbouwen.

    Correct me if i’m wrong.

    Maar nogmaals bedankt. Ik zal het de volgende projecten in mijn achterhoofd houden.

    Apple rules!!:D

11 berichten aan het bekijken - 1 tot 11 (van in totaal 11)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.