Ga naar inhoud

Aanbevolen berichten

Geplaatst:

Ik heb een contactformulier gemaakt in HTML en deze kan ik ook verzenden maar dan met 'mailto'. Nou wil ik het contactformulier laten verzenden met PHP. Van internet heb ik vele scripten geprobeerd maar iedere keer als ik op de knop verzenden druk, krijg ik een witte pagina met codes uit het PHP script.

bijv: ","\n", $message); mail("$mailadres", "Bericht van www.mijnwebsiteadress.nl", $message, "From: " . $email . ""); echo "Uw bericht is met succes verzonden. We helpen u zo snel mogelijk."; } ?>

Weet iemand hoe ik dit kan oplossen?.

Groeten marcia

  • 2 weken later...
Geplaatst:

Dit komt door een heel slordig PHP script die je van het internet af heb gehaald.

Je zou het script hier even kunnen plaatsen misschien? Dan kunnen we er naar kijken, en desnoods het script hier en daar een klein beetje aanpassen en/of bijwerken en verbeteren.

Ook gelieve even laten weten welke invoervelden er allemaal meegegeven moeten worden. (naam, email, postcode, telnr, meerkeuze, enz enz)

Groeten,

Leroy

Geplaatst:

Hey Leroy,

Dit is de script die ik gebruikt heb:

<?php

$to = "marciaroeleveld@live.nl";

$achternaam = $_POST ['achternaam'];

$email = $_POST ['email'];

$voornaam = $_POST ['voornaam'];

$geslacht = $_POST ['geslacht'];

$body = "$naam met email: email stuurde u een bericht met het onderwerp: '$subject'. /n/n $contact";

$headers = "From: De Kilimanjaro";

if (mail($to, $subject, $body, $headers)) {

echo("<p>Bericht verzonden!</p>");

} else {

echo("<p>Wegens technische problemen is het bericht niet verzonden.</p>");

}

?>

De invoervelden moeten zijn:

bedrijf, naam, adres, postcode, plaats, telefoonnummer, faxnummer, e-mailadres en reacties.

Als je der naar kan kijken en mijn kan helpen heel graag en alvast bedankt..

Groeten,

Marcia

Geplaatst:

je moet je variable aanpassen naar de informatie die je wil krijgen.

Die php code die je poste is slechts een voorbeeld.

deze php script gaat enkel voornaam, email, achternaam en geslacht doorsturen,

en dat enkel als die namen nog perfect overeenkomen met je formulier.

post anders even de code van je formulier.

Geplaatst:

Ja dat klopt het is ook een voorbeeld, dat had ik gebruikt om het uit te proberen...

dit is de code van mijn formulier die gebruikt moet worden:

<body>

<table width="380" height="284" cellpadding="0" cellspacing="0">

<tr>

<td valign="top" class="body stijl12"> </td>

<td valign="top"> </td>

<td width="82"> </td>

</tr>

<tr>

<td valign="top" class="body">Bedrijf:</td>

<td valign="top"><input type="text" name="Bedrijf2" id="Bedrijf2" /></td>

<td> </td>

</tr>

<tr>

<td width="95" valign="top" class="body">Naam: </td>

<td width="210" valign="top"><input name="Naam2" type="text" id="Naam2" value="Voornaam + achternaam" /></td>

<td> </td>

</tr>

<tr>

<td valign="top" class="body">Adres:</td>

<td valign="top"><input type="text" name="Adres2" id="Adres2" /></td>

<td> </td>

</tr>

<tr>

<td valign="top" class="body">Postcode:      </td>

<td valign="top"><input name="Postcode2" type="text" id="Postcode2" maxlength="6" /></td>

<td> </td>

</tr>

<tr>

<td valign="top" class="body">Plaats: </td>

<td valign="top"><input type="text" name="Plaats2" id="Plaats2" /></td>

<td> </td>

</tr>

<tr>

<td valign="top" class="body"> </td>

<td valign="top"> </td>

<td> </td>

</tr>

<tr>

<td valign="top" class="body">Tel:</td>

<td valign="top"><input name="Telefoonnummer2" type="text" id="Telefoonnummer2" value="070 - " maxlength="13" /></td>

<td> </td>

</tr>

<tr>

<td valign="top" class="body">Fax:</td>

<td valign="top"><input name="Faxnummer2" type="text" id="Faxnummer2" value="070 - " maxlength="13" /></td>

<td> </td>

</tr>

<tr>

<td valign="top" class="body">Mob:</td>

<td valign="top"><input name="Mobielnummer2" type="text" id="Mobielnummer2" value="06 - " maxlength="13" /></td>

<td> </td>

</tr>

<tr>

<td valign="top" class="body">E-mailadres: </td>

<td valign="top"><input type="text" name="E-mailadres2" id="E-mailadres2" /></td>

<td> </td>

</tr>

<tr>

<td valign="top" class="body"><span class="stijl12"><span class="body stijl12">Reacties:</span></span></td>

<td valign="top"><textarea name="Reacties2" id="Reacties2"></textarea></td>

<td><input type="submit" name="Verstuur2" id="Verstuur2" value="Verstuur" /></td>

</tr>

</table>

</body>

Geplaatst:

en waar zijn de form-tags?

een formulier zet men tussen form tags.

een voorbeeldje:

<form action="verzenden.php" method="post">
<input type="text" name="voornaam" />
<input type="text" name="achternaam" />
<input type="submit" value="versturen" />
</form>

en dan kan je dat opvangen op 'verzenden.php' met die php code die je gebruikte:

$voornaam = $_POST ['voornaam'];
$achternaam = $_POST ['achternaam'];

Bekijk anders deze pagina eens: Verwerken van formulieren | PHP tutorial - PHP lessen - PHP cursus - PHP handleiding

daar staat het mooi uitgelegd hoe het moet en hoe het juist werkt.

Geplaatst:

In je stukje PHP code staan ook een aantal foutjes.

Ten eerste wordt er al niet gecontroleerd of de invoervelden wel zijn ingevuld of niet. Dit kan ook met een stukje javascript (dat is iets mooier). Dit laat ik dan ook even achterwege, want zodra het formulier verzonden is zal hij toch achter de waardes die niet ingevuld zijn niets weergeven. Maar dan alsnog staat er achter de echo tag nog een haakje openen en haakje sluiten.. die horen er helemaal niet te staan.

En er zitten nog een aantal foutjes in.

De juiste vorm van je scriptje wordt dan:

<?php
// vanaf hier aanpassen
$nameto = "Marcia Roeleveld";
$to = "marciaroeleveld@live.nl";
$subject = "het onderwerp";    // dit kan ook een invoerveld zijn het word dan zoals de variabelen die je oproept hieronder

// je variabelen die je oproept
$bedrijf = $_POST['bedrijf']; // input name = bedrijf
$naam = $_POST['naam']; // input name = naam
$adres = $_POST['adres']; // input name = adres
$postcode = $_POST['postcode']; // input name = postcode
$plaats = $_POST['plaats']; // input name = plaats
$tel = $_POST['telnr']; // input name = telnr
$fax = $_POST['fax']; // input name = fax
$mob = $_POST['mob']; // input name = mob
$email = $_POST ['email']; // input name = email
$reacties = $_POST['reactie']; // input name = reactie

// hier stoppen met aanpassen.

$newline = "\r\n";
$reacties = str_replace('\"', '"', $reacties);
$reacties = str_replace("\'", "'", $reacties);
$reacties = html_special_chars($reacties);
$reacties = str_replace($newline, "<br>", $reacties);


// inhoud van het mailtje
$body = "<b>Bedrijf:</b> " .$bedrijf. "<br>" .$newline;
$body .= "<b>Naam:</b> " .$naam. "<br>" .$newline;
$body .= "<b>Adres:</b> " .$adres. "<br>" .$newline;
$body .= "<b>Postcode:</b> " .$postcode. "<br>" .$newline;
$body .= "<b>Plaats:</b> " .$plaats. "<br>" .$newline;
$body .= "<b>Telnr:</b> " .$tel. "<br>" .$newline;
$body .= "<b>Fax:</b> " .$fax. "<br>" .$newline;
$body .= "<b>Mobiel:</b> " .$mob. "<br>" .$newline;
$body .= "<b>Email:</b> " .$email. "<br>" .$newline;
$body .= "<b>Reacties:</b><br>" .$newline;
$body .= $reacties;


// de headers  (niet van belang wat het betekend)
$headers = "Content-type: text/plain".$newLine;
$headers .= "MIME-Version: 1.0" . $newLine;
$headers .= "Content-type: text/html; charset=iso-8859-1" . $newLine;
$headers .= "To: $nameto <$to>" . $newLine;
$headers .= "From: $naam <$email>" . $newLine;
if (mail($to, $subject, $body, $headers)) {
echo "<p>Bericht verzonden!</p>";
} else {
echo "<p>Wegens technische problemen is het bericht niet verzonden.</p>";
}
?> 

Mocht er iets niet goed gaan, laat het me even weten. Want ik heb het nu even snel snel uit me hoofd geschreven namelijk. Dus mocht je foutcodes zien, deze even kopieren en hier plakken.

Alle tekst wat trouwens ACHTER de slashes staat is bijschrift en daar doet het script niets mee, dit is alleen makkelijk voor de gebruiker zelf wat wat nou precies doet enz.

Groeten,

Leroy

Geplaatst:

Hey Leroy,

Bedankt dat je een script heb geschreven.

Alleen ik krijg weer een foutcode in het scherm als ik het formulier wil versturen.

Of ik krijg de regel " The requested method POST is not allowed for the URL /post.php."

Ik krijg af en toe de vermoede dat de browser geen php ondersteunt.. al zou dat voor firefox een beetje raar zijn...

Ik zelf heb geen verstand van php dus ik zou ook geen foutjes kunnen ontdekken...

Groetjes Marcia

Geplaatst:

mag ik vragen bij welke hoster je dit script probeerd uit te voeren? want het kan zijn dat gratis hosters (zoals bij je provider) totaal geen PHP ondersteunen. ook geen safe mode PHP.

groeten,

Leroy

Geplaatst:

Ik heb de website op webs.com dat is inderdaad een gratis hosting, maar daar staat bij dat hij ook php ondersteunt. Maar het gekke vind als ik het formulier opent in firefox dan moet hij het toch ook gewoon doen?, en dat doet hij ook niet.

Ik gaat vanmiddag het is gewoon op een normale hosting zetten kijken wat er dan gebeurd.

×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.