Ik heb van het net een formmail geplukt die ik i.c.m. met mijn eigen form php scriptje wil gebruiken. Hiervoor moet ik echter de extra invulvelden moeten verwerken in mijn eigen php script.
Onderstaand kun je het script lezen. Als extra heb ik de invulvelden "telefoon", "fax" en "onderwerp" ingevoegd. Wanneer ik het script uittest dan worden deze drie zaken niet in de mail geplaatst die naar mij wordt gezonden.
Wat doe ik fout (ik heb in de form de velden dus wel de namen fax, telefoon en onderwerp gegeven)?
<?php
// VALUES FROM THE FORM
$name = $_POST['name'];
$email = $_POST['email'];
$telefoon = $_POST['telefoon'];
$fax = $_POST['fax'];
$onderwerp= $_POST['onderwerp'];
$message = $_POST['msg'];
<?php
mail($recipient, $subject, $message, $headers, $telefoon, $fax, $onderwerp);
?>
Dit slaat natuurlijk helemaal nergens op. Kijk eens naar de mail() functie op php.net en dan met name naar de parameters die deze functie accepteert.
Als je wilt dat $telefoon, $fax en $onderwerp in het mailtje komen te staan dat naar jou gestuurd wordt, zul je die in het bericht op moeten nemen...
Ik zou alles aan $message toevoegen voordat je wordwrap() gebruikt...
ps. Verder denk ik dat je ook nog wel wat opmaak toe zult moeten voegen. Je plakt het nu gewoon direct achter elkaar, en dat lijkt me niet echt handig. Echo $message eens tijdens het bouwen van je script, dan zie je hoe het eruit komt te zien.
Je bent al een stap te ver op mijn verhaal... :) Het werkt namelijk nog steeds niet. Ik heb op PHP.NET gezocht en hier staan legio voorbeelden van forms maar ik kan nergens een voorbeeld vinden waarbij er meerdere "Messages" in een form kunnen worden verzonden. Kan iemand mij a.u.b. een voorbeeld geven hoe ik in mijn geval de telefoon, fax en opmerkingen kan toevoegen aan de $message die verzonden moet worden...
Je verstuurt niet meerdere messages, je verstuurt 1 message waarin je alles samengevoegd hebt:
<?php
$message = 'Onderwerp: '.$_POST['onderwerp']."\n";
$message .= 'Telefoon: '.$_POST['telefoon']."\n";
$message .= 'Fax: '.$_POST['fax']."\n";
$message .= 'Bericht: '.$_POST['msg'];
?>
En vervolgens kun je $message opnemen in je mail() functie.
ps. Die \n zorgt voor een line-break zodat niet alles achter elkaar komt te staan. Als je een html mailtje schrijft gebruik je hier uiteraard <br> voor.
Ooo, wat ben ik weer lekker dom bezig geweest deze middag ... Ik had even tijdelijk een map aangemaakt die ik contactform2 had genoemd (een map contactform had ik reeds staan). Ik was dus vergeten om bij action de benaming contactform te veranderen in contactform2 ...
Maar goed. mede dankzij Blanche (bedankt!) ben ik tot het volgende gekomen (het is nog niet helemaal klaar maar het begin is er nu):
<?php
// VALUES FROM THE FORM
$name = $_POST['name'];
$email = $_POST['email'];
$telefoon = $_POST['telefoon'];
$fax = $_POST['fax'];
$onderwerp= $_POST['onderwerp'];
$message = $_POST['msg'];