-
23-04-2010, 11:44 #1
Heeft er iemand enig idee waarom dit simpel contact formulier niet werkt?
PHP Code:<?
if(!empty($_POST['Submit']))
{
if(strlen($_POST['name']) == 0)
{ $error_msg ="- Voer astublieft uw naam in.<br>"; }
if(!ereg("^[_a-zA-Z0-9-]+(\.[*@([a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $_POST['uwemail']))
{ $error_msg .="- Voer astublieft een geldig email adres in.<br>"; }
if(strlen($_POST['field']) ==0)
{ $error_msg .="- Laat aub weten wat je aan ons wilt vragen.<br>"; }
if(!empty($error_msg))
{
//Een van de velden werd niet goed ingevuld
echo "<b>Contact webmaster kon niet worden uitgevoerd door volgende redenen:</b><br><br>";
echo $error_msg;
echo "<br>Klik alstublieft op <a href=javascript:history.back(1)>Ga terug</a> en vul alle velden in.<br><br>";
}
else
{
$recipient = "test@hotmail.com"; //Het email adres van de persoon die vragen moet ontvangen.
$subject = $sub; //Subject van de mail.
$header = "From: " . $uwemail . "\n";
$mail_body = "Contact script werd op " . date("d-m-Y") . " om " . date("H:i") . " uur uitgevoerd.\n";
$mail_body .= "De volgende persoon vulde het contact formulier in:\n\n";
$mail_body .= "Naam: " . $_POST['name'] . "\n";
$mail_body .= "E-mailadres: " . $_POST['uwemail'] . "\n\n";
$mail_body .= "Bericht:\n";
$mail_body .= $_POST['field'];
$mail_body .= "\n\n -- Einde van het contact bericht --";
mail($recipient, $subject, $mail_body, $header);
echo "<b>Uw bericht is succesvol verzonden</b><br>Er zal zo spoedig mogelijk contact met u opgenomen worden.</b><br>";
echo "<a href='javascript:history.back(1)'>Ga terug</a>";
}
}
else
{
?>
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="POST" name="contact">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><br>
<table width="80%" height="155" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="150" height="2">Naam:</td>
<td height="2" colspan="2"><input type="text" name="name" size="20">*</td>
</tr>
<tr>
<td height="2">Email adres:</td>
<td height="2" colspan="2"><input type="text" name="uwemail" size="20">*</td>
</tr>
<tr>
<td>Subject:</td>
<td colspan="2"><input type="text" name="sub" size="20">*</td>
</tr>
<tr>
<td>Vraag:</td>
<td width="216" colspan= "2"><textarea name="field" cols="20" rows="5"></textarea>*</td>
</tr>
<tr>
<td> </td>
<td colspan="2"><input type="Submit" name="Submit" value="Verzenden"></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
<?php
}
?>no votes
-
-
23-04-2010, 12:20 #2Approved 9-lifer
- Registered
- 01/08/02
- Location
- Gent
- Posts
- 9,675
- iTrader
- 3 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/361
$sub en $uwemail bestaan niet op het eerste zicht. ($header = From... en daarboven)
Kan het zijn dat deze $_POST['sub'] en $_POST['uwemail'] moeten zijn?If I had a nickel for every time someone told me that my idea for melting down coins to make a giant robotic parrot was a bad idea, I would have one kicka$$ giant robotic parrot.no votes
-
23-04-2010, 12:21 #3
ik zal het wijzigen in $_POST['uwemail'] vanwege <input type="text" name="uwemail" size="20">
*edit: werkt nog steeds niet
PHP Code:<?
if(!empty($_POST['Submit']))
{
if(strlen($_POST['name']) == 0)
{ $error_msg ="- Voer astublieft uw naam in.<br>"; }
if(!ereg("^[_a-zA-Z0-9-]+(\.[*@([a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$", $_POST['uwemail']))
{ $error_msg .="- Voer astublieft een geldig email adres in.<br>"; }
if(strlen($_POST['field']) ==0)
{ $error_msg .="- Laat aub weten wat je aan ons wilt vragen.<br>"; }
if(!empty($error_msg))
{
//Een van de velden werd niet goed ingevuld
echo "<b>Contact webmaster kon niet worden uitgevoerd door volgende redenen:</b><br><br>";
echo $error_msg;
echo "<br>Klik alstublieft op <a href=javascript:history.back(1)>Ga terug</a> en vul alle velden in.<br><br>";
}
else
{
$recipient = "test@hotmail.com"; //Het email adres van de persoon die vragen moet ontvangen.
$subject = "From: " . $_POST['sub'] . "\n"; //Subject van de mail.
$header = "From: " . $_POST['uwemail'] . "\n";
$mail_body = "Contact script werd op " . date("d-m-Y") . " om " . date("H:i") . " uur uitgevoerd.\n";
$mail_body .= "De volgende persoon vulde het contact formulier in:\n\n";
$mail_body .= "Naam: " . $_POST['name'] . "\n";
$mail_body .= "E-mailadres: " . $_POST['uwemail'] . "\n\n";
$mail_body .= "Bericht:\n";
$mail_body .= $_POST['field'];
$mail_body .= "\n\n -- Einde van het contact bericht --";
mail($recipient, $subject, $mail_body, $header);
echo "<b>Uw bericht is succesvol verzonden</b><br>Er zal zo spoedig mogelijk contact met u opgenomen worden.</b><br>";
echo "<a href='javascript:history.back(1)'>Ga terug</a>";
}
}
else
{
?>
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="POST" name="contact">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><br>
<table width="80%" height="155" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="150" height="2">Naam:</td>
<td height="2" colspan="2"><input type="text" name="name" size="20">*</td>
</tr>
<tr>
<td height="2">Email adres:</td>
<td height="2" colspan="2"><input type="text" name="uwemail" size="20">*</td>
</tr>
<tr>
<td>Subject:</td>
<td colspan="2"><input type="text" name="sub" size="20">*</td>
</tr>
<tr>
<td>Vraag:</td>
<td width="216" colspan= "2"><textarea name="field" cols="20" rows="5"></textarea>*</td>
</tr>
<tr>
<td> </td>
<td colspan="2"><input type="Submit" name="Submit" value="Verzenden"></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
<?php
}
?>no votes
-
23-04-2010, 12:53 #4Member
- Registered
- 14/05/03
- Location
- Schoten
- Posts
- 812
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 1/7
"Het werkt niet"
Misschien kan je iets specifieker zeggen of je het form al te zien krijgt, is het de mail functie die niet werkt? heb je zelf al dingen getest? ...
*edit alvast één tip
$_SERVER['PHP_SELF'] and $_SERVER['SCRIPT_NAME'] may not always be set correctly.there you gono votes
-
23-04-2010, 13:01 #5
ik krijg idd geen enkele foutmelding te zien, alles lijkt te werken...
alleen komt de mail niet toeno votes
-
23-04-2010, 13:03 #6Member
- Registered
- 14/05/03
- Location
- Schoten
- Posts
- 812
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 1/7
kan het zijn omdat ge dit hebt staan?
PHP Code:$recipient = "test@hotmail.com"
there you gono votes
-
23-04-2010, 13:05 #7
neen, ik heb dit gewijzigd omdat ik hier mijn email adres niet wil plaatsen
no votes
-
23-04-2010, 13:09 #8Member
- Registered
- 14/05/03
- Location
- Schoten
- Posts
- 812
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 1/7
zet dit eens naa uw <?php openingstag
Error messages?PHP Code:ini_set("display_errors", "1");
error_reporting(E_ALL);
there you gono votes
-
23-04-2010, 13:15 #9Member
- Registered
- 14/05/03
- Location
- Schoten
- Posts
- 812
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 1/7
Net het scriptje eens hier gerunt en het werkt perfect, misschien iets aan de instellingen van uw server of uw mail account.
there you gono votes
-
23-04-2010, 14:05 #10
ipv if(isset($_POST['Submit'])) kan je beter kijken
if($_SERVER['REQUEST_METHOD'] == 'POST')no votes
-
23-04-2010, 14:08 #11
wat moet ik dan vragen aan de sys admins?
Yves Van der Coilden. Verkoop van profielplaten voor dak en wand. werkt dus niet
zoals je kan zien krijg ik het volgende niet te zien
PHP Code:echo "<b>Uw bericht is succesvol verzonden</b><br>Er zal zo spoedig mogelijk contact met u opgenomen worden.</b><br>";
echo "<a href='javascript:history.back(1)'>Ga terug</a>";
zo werken de checks op de input velden ook nietno votes
-
23-04-2010, 14:26 #12Member
- Registered
- 14/05/03
- Location
- Schoten
- Posts
- 812
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 1/7
no votes
-
23-04-2010, 15:02 #13
het probleem lag aan de naamgeving van de file: contact.php
dat lukt uiteraard niet met <form action="<? echo $_SERVER['PHP_SELF']; ?>"
ik heb het veranderd naar <form action="contact.php">Last edited by Dubbelpunt; 23-04-2010 at 15:12.
no votes
-
23-04-2010, 16:21 #14Member
- Registered
- 14/05/03
- Location
- Schoten
- Posts
- 812
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 1/7
wat dus in mijn eerste reactie al stond
there you gono votes
-
23-04-2010, 17:58 #15
uw action moogt ge leeg laten ze, standaard gebruikt dat de pagina in kwestie
no votes

