contact form verzend niet, maar opent contact.php

Status
Niet open voor verdere reacties.

jeroen137

Gebruiker
Lid geworden
24 feb 2009
Berichten
19
Ik zit met het volgende probleem. Ik heb een contact form gehaald van het internet. Deze wil ik gebruiken, maar als ik op verzenden klik, wil hij de contact.php downloaden, of opent hij die. Wat doe ik fout?

Contact.php
PHP:
<?php
$field_name = $_POST['cf_name'];
$field_email = $_POST['cf_email'];
$field_message = $_POST['cf_message'];

$mail_to = 'info@website.nl';
$subject = 'Bericht van een bezoeker'.$field_name;

$body_message = 'Van: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Bericht: '.$field_message;

$headers = 'Van: '.$field_email."\r\n";
$headers .= 'Antwoord naar: '.$field_email."\r\n";

$mail_status = mail($mail_to, $subject, $body_message, $headers);

if ($mail_status) { ?>
	<script language="javascript" type="text/javascript">
		alert('Bedankt voor uw bericht. We nemen z.s.m. contact met u op');
		window.location = 'contact.html';
	</script>
<?php
}
else { ?>
	<script language="javascript" type="text/javascript">
		alert('Verzenden mislukt. Neem a.u.b. contact op via ons telefoonnummer!');
		window.location = 'contact.html';
	</script>
<?php
}
?>

contact.html(zonder de dingen die er om heen staan)
HTML:
<form action="contact.php" method="post">
    Uw naam:<br>
    <input type="text" name="cf_name"><br>
    Uw e-mailadres:<br>
    <input type="text" name="cf_email"><br>
    Uw bericht:<br>
    <textarea cols="50" name="cf_message" rows="10"></textarea><br><br>
     
         <input type="submit" value="Verzenden">
    <input type="reset" value="Verwijderen">
</form>


Alvast bedankt!
 
Laatst bewerkt door een moderator:
PHP:
<?php
if(isset($_POST['verzenden']))
{
$field_name = $_POST['cf_name'];
$field_email = $_POST['cf_email'];
$field_message = $_POST['cf_message'];

$mail_to = 'info@website.nl';
$subject = 'Bericht van een bezoeker'.$field_name;

$body_message = 'Van: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Bericht: '.$field_message;

$headers = 'Van: '.$field_email."\r\n";
$headers .= 'Antwoord naar: '.$field_email."\r\n";

$mail_status = mail($mail_to, $subject, $body_message, $headers);

if ($mail_status) { ?>
<script language="javascript" type="text/javascript">
alert('Bedankt voor uw bericht. We nemen z.s.m. contact met u op');
window.location = 'contact.php';
</script>
<?php
}
else { ?>
<script language="javascript" type="text/javascript">
alert('Verzenden mislukt. Neem a.u.b. contact op via ons telefoonnummer!');
window.location = 'contact.php';
</script>
<?php
}
}
?>
<form action="" method="post">
Uw naam:<br>
<input type="text" name="cf_name"><br>
Uw e-mailadres:<br>
<input type="text" name="cf_email"><br>
Uw bericht:<br>
<textarea cols="50" name="cf_message" rows="10"></textarea><br><br>

<input type="submit" value="Verzenden">
<input type="reset" value="Verwijderen">
</form>
zo zou het moeten werken.
Noem dit bestand contact.php en verander alle links in je website.
ik zou de opbouw van de eigenlijke opbouw anders doen.
namelijk een index.php waarin je de bestanden file_get_contents en dan de contents echo't. op die manier kun je veel efficienter werken met minder code.
 
Laatst bewerkt:
owh tekst stond er nog niet onder...excuus

m.v.g.
jeroen137
 
Laatst bewerkt:
ik heb er één php bestand van gemaakt.
als je verzend vernieuw hij de hele pagina maar hij kijkt of er op verzenden is geklikt.
dan gaat hij mailen.
zo blijf je dus op de pagina maar wordt er wel actie ondernomen. laat action dus gewoon weg.
mag niet maar is wel zo handig
 
Begrijp ik dan goed dat het php gedeelte in de "head" kan? of is dat niet noodzakelijk? Ik ontvang namelijk nog geen mail, maar wacht het nog wel even af, misschien komt die nog binnen....

Nog steeds geen mail ontvangen, kortom hij verstuurd niks? Wat kan hier de oorzaak van zijn?
 
Laatst bewerkt door een moderator:
heb je in je spam gekeken?
PHP:
<?php
if(isset($_POST['verzenden']))
{
$field_name = $_POST['cf_name'];
$field_email = $_POST['cf_email'];
$field_message = $_POST['cf_message'];
 
$mail_to = 'info@website.nl';
$subject = 'Bericht van een bezoeker'.$field_name;
 
$body_message = 'Van: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Bericht: '.$field_message;
 
$headers = 'Van: '.$field_email."\r\n";
$headers .= 'Antwoord naar: '.$field_email."\r\n";
 
$mail_status = mail($mail_to, $subject, $body_message, $headers);
 
if ($mail_status) { ?>
<script language="javascript" type="text/javascript">
alert('Bedankt voor uw bericht. We nemen z.s.m. contact met u op');
window.location = 'contact.php';
</script>
<?php
}
else { ?>
<script language="javascript" type="text/javascript">
alert('Verzenden mislukt. Neem a.u.b. contact op via ons telefoonnummer!');
window.location = 'contact.php';
</script>
<?php
}
}
?>
<form action="" method="post">
Uw naam:<br>
<input type="text" name="cf_name"><br>
Uw e-mailadres:<br>
<input type="text" name="cf_email"><br>
Uw bericht:<br>
<textarea cols="50" name="cf_message" rows="10"></textarea><br><br>
 
<input type="submit" name="verzenden" value="Verzenden">
<input type="reset" value="Verwijderen">
</form>
deze werkt wel.
 
Ja heb ik gekeken. Ook de virusscanner met alles erop en eraan al uit gehad, maar komt maar niet binnen. Kan dit misschien aan de server liggen? Het is gewoon een standaard server van Strato(powerweb), en heb daar een e-mail adres aangemaakt via de klanten-login. Zou moeten werken toch?

Kan trouwens wel gewone e-mails ontvangen op dat adres, en versturen werkt ook gewoon
 
Laatst bewerkt:
werkt het met de nieuwe die ik heb gepost. als het goed is wel.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan