8 berichten aan het bekijken - 1 tot 8 (van in totaal 8)
  • Q:

    Bijdrager
    wout3r

    [Flash] Contactformulier werkt niet + HTML in Flash

    Hoi allemaal,

    Ik heb 2 vragen; ik wil namelijk vanuit een MySQL database tekst inladen in een flash textfield. Dat werkt allemaal prima alleen zodra je html tags invoert vindt ‘ie het niet meer leuk. Als er bijvoorbeeld <a href=”…link”>linkje</a> wordt ingeladen moet hij dit aangeven als HTML tekst en niet als plain tekst. Ik heb “Render text as HTML” aanstaan maar dat helpt niets. Iemand enig idee?

    Verder heb ik een contactformulier gemaakt wat gewoon zou moeten werken, maar hij laad de vars niet in. Hij verstuurd de email wel.
    Dit is de code die ik heb gebruikt:
    [code:1:9b023dca7a]
    on (release) {
    if(!varnaam.length) {
    error.text = "Voer uw naam in a.u.b.";
    } else if(!varemail.length || varemail.indexOf("@") == -1 || varemail.indexOf(".") == -1) {
    error.text = "Ongeldig emailadres";
    } else if(!varmsg.length) {
    error.text = "Voer een bericht in a.u.b.";
    } else {
    loadVariablesNum("contact.php", 0, "POST");
    gotoAndStop(2);
    }
    }
    [/code:1:9b023dca7a]

    En bij contact.php

    [code:1:9b023dca7a]
    <?php
    echo $varnaam;
    echo $varemail;
    echo $varmsg;

    $to = "email@provider.nl";
    $from = "From: ".$varnaam."<".$varemail.">";
    $subj = "Contactbericht";
    mail($to,$subj,$varmsg,$from);
    ?>
    [/code:1:9b023dca7a]

    Hopelijk kan iemand me helpen


    Bijdrager
    apenstaartje

    Allereerst zou ik je willen aan raden om naar LoadVars te kijken, ipv de loadVariablesNum.

    wat je verder doet met het laden van de variabelen snap ik niet echt, en zie er ook het nut niet zo van in…

    meestal is het toch als volgt:
    iemand typt wat in wat velden, klikt op versturen.
    Script vangt de data op, checkt en doet wat, geeft terug dat het gelukt is of niet.

    Welke html wordt dan geladen?


    Bijdrager
    wout3r

    Allereerst zou ik je willen aan raden om naar LoadVars te kijken, ipv de loadVariablesNum.

    ”apenstaartje”

    wat je verder doet met het laden van de variabelen snap ik niet echt, en zie er ook het nut niet zo van in…

    Nou hij moet toch de variabelen laden in het PHP bestand..?

    ”apenstaartje”

    meestal is het toch als volgt:
    iemand typt wat in wat velden, klikt op versturen.
    Script vangt de data op, checkt en doet wat, geeft terug dat het gelukt is of niet.

    Ja dat is precies wat hij nu ook doet.

    ”apenstaartje”

    Welke html wordt dan geladen?

    Uit een MySQL database (maar dat staat nu niet hierboven). Daarin staan html tags, en ik wil dat die tags gelezen worden in het Flash bestand. Dus als er de tags <b> of <a href=”link.html”>linkje</a> uit de database komen, dat dat ook echt links en vette tekst wordt in Flash.


    Bijdrager
    apenstaartje

    Het PHP bestand hoeft de variabelen niet te laden, want die stuur je ze namelijk door.. en binnen de PHP zijn de dan beschikbaar in de $_GET of $_POST array afhankelijk van de ‘method’.

    Hoe stuur je nu die teksten met html tags terug?
    Vul je in de code de textfield dan ook met htmlText of de text property? Oftewel, wat is de code die je nu gebruikt om die gegevens weer terug naar de flash te krijgen?


    Bijdrager
    apenstaartje

    Even ter aanvulling, zelf werk ik ook veel met xml die ik terug stuur naar de Flash, aangezien Flash wel aardig overweg kan met xml.

    Om daarin alle < e.d. tekens goed over te laten komen (die zouden namelijk de xml slopen) zorg ik er voor dat die data eerst langs een filter gaat.

    [code:1:b78174eec1]
    /**
    * filter for use in xml files
    *
    * @param string $string the string to parse
    */
    function xml_filter($string)
    {
    $chars = array(
    ‘%C2%91’ => ‘%27’, // open ‘ to ‘
    ‘%C2%92’ => ‘%27’, // closed ‘ to ‘
    ‘%C2%93’ => ‘%22’, // open " to "
    ‘%C2%94’ => ‘%22’, // closed " to "
    );

    $string = str_replace("r", ”, $string);
    return strtr(urlencode(utf8_encode($string)), $chars);
    }
    [/code:1:b78174eec1]

    in de Flash moet dan vervolgens weer een filter zitten om de urlencode terug te draaien, dit is ‘escape()’.

    var waarde:String = escape(receiver.waarde);

    De urlencode kun je ook goed gebruiken wanneer je met LoadVars werkt (dus een string terug stuurt als: &waarde=bla bla)


    Bijdrager
    wout3r

    Het is inmiddels opgelost.. Het was het stomme dat flash geen <a href=”http://hierlink”> inlaad maar dat moet <a href=’http://hierlink’> zijn.

    Dus hij laad ” niet maar wel ‘. Erg stom..


    Bijdrager
    apenstaartje

    Nou, hij kan beide, maar het ligt er dan wel aan welke quotes jij zelf gebruikt bij het toewijzen op de vars, zowel als in php als in flash.


    Bijdrager
    wout3r

    Altijd gebruik ik daar “, dus dat zou het probleem echt niet moeten zijn

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

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