Vraag & Antwoord

Webprogrammeren & scripting

[php] mail-afhandeling

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

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

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