Contact.php werkt wel maar stuurt bericht niet door.

Status
Niet open voor verdere reacties.

Erik en Ella

Gebruiker
Lid geworden
10 okt 2007
Berichten
57
Hallo,
Ik heb een website ( www.mira-recherche.nl) gebouwd in dreamweaver en hiermee een contact formulier (Html) willen maken met een contact.php. Dat was een ramp! Kostte enorm veel tijd en werkte niet.
Hierna heb ik een (html)code van het internet in de pagina Contact 'geplakt' (in Dreamweaver) die een eenvoudig formulier laat zien. Ook zat er een php code bij die ik in een lege html-bestand van Dreamweaver heb geplakt en heb opgeslagen als contact.php.
Vul je nu de velden in dan reageert contact-php netjes. Is er iets niet ingevuld dan staat er een tekst dat je iets vergeten bent en heb je alles ingevuld geeft contact-php aan dat de het bericht succesvol verstuurd is.
Was het laatste maar waar......... Ik krijg niks in mijn emailbox, zelfs niet als ik een gmail heb ingevuld.
Wie o wie kan mij hiermee helpen? Ik heb al heel wat afgezocht, zowel op Help.mij als op google. Het lukt met niet, wat doe ik verkeerd??

Code in contact.html

<form action="post.php" method="post" name="form1" target="_blank">
<p align="left">Uw
Naam: <br>
<input name="naam" type="text" value"">
<br>
Uw
E-mail: <br><input name="email" type="text" value=""></p>
<p align="left">Uw Bericht:<br>
<textarea name="bericht" rows="7" cols="45"></textarea><br>
<input type="submit" name="Submit" value="Verzenden">
</form>

Code contact.php

<?php
$naam = htmlspecialchars($_POST['naam']);
$email = htmlspecialchars($_POST['email']);
$bericht = htmlspecialchars($_POST['bericht']);

if (!$naam) {
echo "u heeft geen naam ingevuld!";
exit; }

if (!$email) {
echo "u heeft geen e-mailadres ingevuld!";
exit; }

if (!$bericht) {
echo "u heeft geen bericht ingevuld!";
exit; }

else {

$tijd = time();
$datum = strftime("%d/%m/%y %H:%M", $tijd);
$ip = getenv("REMOTE_ADDR");
$message = "" . $naam . " met het e-mailadres " . $email . " en het IP $ip stuurde op $datum het volgende bericht:
____________________________________
" . $bericht . "
------------------------------------";

$mailadres = "mijnemailadres@gmail.com";
$message = str_replace ("<br>","\n", $message);
mail("$mailadres", "Bericht van www.mira-recherche.nl",
$message, "From: " . $email . "");

echo "Uw bericht is met succes verzonden. We helpen u zo snel mogelijk.";
}
?>
 
<form action="post.php" method="post" name="form1" target="_blank">

Dit verwijst toch naar post.php? De link die je hebt gegeven heb ik ook geprobeerd en werkte ook niet.
Ik heb 2 emailadressen ingevoerd omdat ik dacht dat heet aan mijn hostingbedrijf zou kunnen liggen. Helaas, werkte geen van beide.
Om het nog eenvoudiger te willen maken heb ik een code van een online-bedrijf in mijn contactformulier geplakt. Firefox blokkeert dit dan weer en dat is juist wat ik niet kan gebruiken.

Ik wil eigenlijk een gedeelte in het Contact-blad voegen zodat de layout hetzelfde blijft.
Wat nu vermeld staat is op zich voldoende en is eenvoudig uit te breiden. Dus, wat heb ik verkeerd gedaan?
 
Bedankt voor je reactie. Ik zie dat ik bij het eerste post vermeld heb dat de code in een contact.php is. De code is opgeslagen in post.php. De verwijzing is goed.
Nu nog berichten ontvangen op mijn emailadres.................................
 
Ik ben vandaag weer bezig geweest met andere scripts. Elke keer loop ik tegen hetzelfde probleem. Het php formulier werkt wel ( geeft verkeerde invul en verzenden weer) maar ik krijg geen bericht in mijn emailbox!
 
Ik heb bericht gekregen van mijn hostingbedrijf met een voorbeeld. Waar moet ik die plakken? Ik begrijp niet wat ze bedoelen

Hallo,

U moet zich authenticeren bij de mailserver.
De php mailfunctie werkt niet, omdat in de stijd tegen spammers alleen mail verstuurd kan worden via de SMTP server.
U heeft hiervoor de login gegevens al ontvangen.

Hier een voorbeeld:
<?php

$to = "you@your-domainname.com";
$nameto = "Who To";
$from = "script@your-domainname.com";
$namefrom = "Who From";
$subject = "Hello World Again!";
$message = "World, Hello!";
authSendEmail($from, $namefrom, $to, $nameto, $subject, $message);
echo "mail is verstuurd";
?>


<?php
/* * * * * * * * * * * * * * SEND EMAIL FUNCTIONS * * * * * * * * * * * * * */


function authSendEmail($from, $namefrom, $to, $nameto, $subject, $message)
{
//SMTP + SERVER DETAILS
/* * * * CONFIGURATION START * * * */
$smtpServer = "mail.webreus.nl";
$port = "25";
$timeout = "30";
$username = "your-email-address@domain.com";
$password = "Your-POP3-Password";
$localhost = "mail.webreus.nl";
$newLine = "\r\n";
/* * * * CONFIGURATION END * * * * */

//Connect to the host on the specified port
$smtpConnect = fsockopen($smtpServer, $port, $errno, $errstr, $timeout);
$smtpResponse = fgets($smtpConnect, 515);
if(empty($smtpConnect))
{
$output = "Failed to connect: $smtpResponse";
return $output;
}
else
{
$logArray['connection'] = "Connected: $smtpResponse";
}

//Request Auth Login
fputs($smtpConnect,"AUTH LOGIN" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['authrequest'] = "$smtpResponse";

//Send username
fputs($smtpConnect, base64_encode($username) . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['authusername'] = "$smtpResponse";

//Send password
fputs($smtpConnect, base64_encode($password) . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['authpassword'] = "$smtpResponse";

//Say Hello to SMTP
fputs($smtpConnect, "HELO $localhost" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['heloresponse'] = "$smtpResponse";

//Email From
fputs($smtpConnect, "MAIL FROM: $from" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['mailfromresponse'] = "$smtpResponse";

//Email To
fputs($smtpConnect, "RCPT TO: $to" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['mailtoresponse'] = "$smtpResponse";

//The Email
fputs($smtpConnect, "DATA" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['data1response'] = "$smtpResponse";

//Construct Headers
$headers = "MIME-Version: 1.0" . $newLine;
$headers .= "Content-type: text/html; charset=iso-8859-1" . $newLine;
$headers .= "To: $nameto <$to>" . $newLine;
$headers .= "From: $namefrom <$from>" . $newLine;

fputs($smtpConnect, "To: $to\nFrom: $from\nSubject: $subject\n$headers\n\n$message\n.\n");
$smtpResponse = fgets($smtpConnect, 515);
$logArray['data2response'] = "$smtpResponse";

// Say Bye to SMTP
fputs($smtpConnect,"QUIT" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['quitresponse'] = "$smtpResponse";


}
?>
 
Mijn hostingbedrijf Webreus heeft me geholpen en het contactformulier werkt! Kan gesloten worden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan