Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[php] mail-afhandeling

Anoniem
Chris Kruidenier
4 antwoorden
  • Ik ben begonnen met php.

    Ik heb een mailformulier met een php-script om de mail af te handelen. De mail wordt keurig verzonden.

    [code:1:c7e9282251]


    mail($to, $subject, $message, $headers);
    echo $_POST['OK'];
    );
    [/code:1:c7e9282251]

    Bovenstaande werkt prima. De functie mail is een boolean, ik wilde, afhankelijk van de return-waarde een melding geven. Dit laatste werkt niet:

    [code:1:c7e9282251]


    if (mail($to, $subject, $message, $headers)) (
    echo $_POST['OK'];
    )
    else (
    echo $_POST['error'];
    )
    );
    [/code:1:c7e9282251]

    werkt niet en geeft een parse error in de regel
    echo $_POST['OK'];

    Ik heb het www en veel forums afgestruint en daar ettelijke voobeelden gevonden, waarin het wel schijnt te werken, maar ik krijg het niet aan de praat.
    De hele boel staat op mijn home page, die wordt gehost door Digitalus.

    Gaarna advies!
  • [code:1:3a2a81e7ad]
    if (mail($to, $subject, $message, $headers)) (
    echo $_POST['OK'];
    )
    [/code:1:3a2a81e7ad]
    Je gebruikt "if(iets) (gevolg)". Het gevolg moet tussen accolades in plaats van haakjes staan, dus:
    [code:1:3a2a81e7ad]
    if (mail($to, $subject, $message, $headers)) {
    echo $_POST['OK'];
    }
    [/code:1:3a2a81e7ad]
    Achter accolades hoeft geen puntkomma.
  • Het werkt! Zeer bedankt voor het antwoord. Ik moet toch eens een andere bril kopen!
  • Het nadeel is alleen dat PHP een beetje 'vaag' is als het om die mail(); gaat…
    Je moet echt hele vage dingen gaan invoeren wil die FALSE geven. Een verkeerd adres telt dus niet. De PHP-handleiding zegt het ook al:
    [quote:a7e7e70f2d]Return Values
    Returns TRUE if the mail was successfully accepted for delivery, FALSE otherwise.

    It is important to note that just because the mail was accepted for delivery, it does NOT mean the mail will actually reach the intended destination. [/quote:a7e7e70f2d]

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.