PHP contactform met MySQL
michielvsb - 13/08/2005 18:32
HTML interesse
Weet iemand wat er mis is met deze code?
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
mysql_connect('192.168.0.11','u47801759','123123');
mysql_select_db('u47801759') or die (mysql_error());
?>
<?
if(!empty($_POST['Submit']))
{
if(strlen($_POST['name']) == 0)
{ $error_msg ="- Voer a.u.b. 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 = "miciel.vanschoonbeek@skynet.be"; //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 class=\"main\" href='javascript:history.back(1)'>Ga terug</a>";
$voornaam = $_POST['name'];
$email = $_POST['uwemail'];
$bericht = $_POST['field'];
mysql_query("INSERT INTO test (voornaam, email, bericht) VALUES ('".$voornaam."','".$email."', '".$bericht."')") or die (mysql_error());
}
}
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 height="2"> </td>
<td height="2"><font size="1"><strong>(Velden met een * zijn verplicht)</strong></font></td>
<td height="2"> </td>
</tr>
<tr>
<td height="2">Naam : </td>
<td height="2" colspan="2"> <input type="text" name="name" size="20">
<font size="2">* </font></td>
</tr>
<tr>
<td height="2">Email adres :</td>
<td height="2" colspan="2"> <input type="text" name="uwemail" size="20">
<font size="2"> * </font></td>
</tr>
<tr>
<td width="321" class="Kleiner"> Subject :</td>
<td colspan="2"> <input type="text" name="sub" size="20"> </td>
</tr>
<tr>
<td width="321" class="Kleiner">Vraag :</td>
<td width="216" rowspan="2"> <textarea name="field" wrap="VIRTUAL" cols="20"></textarea>
<font size="2"> </font></td>
<td width="257"><font size="2">*</font></td>
</tr>
<tr>
<td width="321" class="Kleiner"> </td>
<td> </td>
</tr>
<tr>
<td width="321"> </td>
<td colspan="2"> <div align="left">
<input type="Submit" name="Submit" value="Verzenden">
</div></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
<tr>
<td> </td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</body>
</html>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?
?>
<?
if ( ! empty ( $_POST [ 'Submit' ] ) ) {
if ( strlen ( $_POST [ 'name' ] ) == 0 ) { $error_msg = "- Voer a.u.b. 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>" ; }
{
//Een van de velden werd niet goed ingevuld
echo "<b>Contact webmaster kon niet worden uitgevoerd door volgende redenen:</b><br><br>" ; echo "<br>Klik alstublieft op <a href=javascript:history.back(1)>Ga terug</a> en vul alle velden in.<br><br>" ; }
else
{
$recipient = "miciel.vanschoonbeek@skynet.be" ; //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 class=\" main\" href='javascript:history.back(1)'>Ga terug</a>" ; $voornaam = $_POST [ 'name' ] ;
$email = $_POST [ 'uwemail' ] ;
$bericht = $_POST [ 'field' ] ;
mysql_query ( "INSERT INTO test (voornaam, email, bericht) VALUES ('" . $voornaam . "','" . $email . "', '" . $bericht . "')" ) or
die ( mysql_error ( ) ) ; }
}
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 height="2"> </td>
<td height="2"><font size="1"><strong>(Velden met een * zijn verplicht)</strong></font></td>
<td height="2"> </td>
</tr>
<tr>
<td height="2">Naam : </td>
<td height="2" colspan="2"> <input type="text" name="name" size="20">
<font size="2">* </font></td>
</tr>
<tr>
<td height="2">Email adres :</td>
<td height="2" colspan="2"> <input type="text" name="uwemail" size="20">
<font size="2"> * </font></td>
</tr>
<tr>
<td width="321" class="Kleiner"> Subject :</td>
<td colspan="2"> <input type="text" name="sub" size="20"> </td>
</tr>
<tr>
<td width="321" class="Kleiner">Vraag :</td>
<td width="216" rowspan="2"> <textarea name="field" wrap="VIRTUAL" cols="20"></textarea>
<font size="2"> </font></td>
<td width="257"><font size="2">*</font></td>
</tr>
<tr>
<td width="321" class="Kleiner"> </td>
<td> </td>
</tr>
<tr>
<td width="321"> </td>
<td colspan="2"> <div align="left">
<input type="Submit" name="Submit" value="Verzenden">
</div></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%">
<tr>
<td> </td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</body>
</html>
Ik ben een echte beginner qua php en mysql.
7 antwoorden
Gesponsorde links
Stijn - 13/08/2005 18:43 (laatste wijziging 13/08/2005 18:48)
PHP expert
vraagje: wrm sluit jij je PHP-code en heropen je het opnieuw op de volgende lijn
<?
if(isset($_POST['Submit']))
{
if(!isset($_POST['name']) OR empty($_POST['name']))
{
$error_msg ="- Voer a.u.b. 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(!isset($_POST['field']) OR empty($_POST['field']))
{
$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 = "miciel.vanschoonbeek@skynet.be"; //Het email adres van de persoon die vragen moet ontvangen.
$subject = $sub; //Subject van de mail.
$header = "From: $uwemail \n";
$date = date("d-m-Y");
$uur = date("H:i");
$mail_body = "Contact script werd op $date om $uur 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 class=\"main\" href='javascript:history.back(1)'>Ga terug</a>";
$voornaam = $_POST['name'];
$email = $_POST['uwemail'];
$bericht = $_POST['field'];
mysql_query("INSERT INTO test (voornaam, email, bericht) VALUES ('".$voornaam."','".$email."', '".$bericht."')") or die (mysql_error());
}
}
else
{
?>
<?
if ( isset ( $_POST [ 'Submit' ] ) ) {
if ( ! isset ( $_POST [ 'name' ] ) OR
empty ( $_POST [ 'name' ] ) ) {
$error_msg = "- Voer a.u.b. 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 ( ! isset ( $_POST [ 'field' ] ) OR
empty ( $_POST [ 'field' ] ) ) {
$error_msg .= "- Laat aub weten wat je aan ons wilt vragen.<br>" ;
}
{
//Een van de velden werd niet goed ingevuld
echo "<b>Contact webmaster kon niet worden uitgevoerd door volgende redenen:</b><br><br>" ; echo "<br>Klik alstublieft op <a href=javascript:history.back(1)>Ga terug</a> en vul alle velden in.<br><br>" ; }
else
{
$recipient = "miciel.vanschoonbeek@skynet.be" ; //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 om $uur 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 class=\" main\" href='javascript:history.back(1)'>Ga terug</a>" ; $voornaam = $_POST [ 'name' ] ;
$email = $_POST [ 'uwemail' ] ;
$bericht = $_POST [ 'field' ] ;
mysql_query ( "INSERT INTO test (voornaam, email, bericht) VALUES ('" . $voornaam . "','" . $email . "', '" . $bericht . "')" ) or
die ( mysql_error ( ) ) ; }
}
else
{
?>
mvg Stijn
edit
ow, ben niet wakker, herlees net je code
Kan je probleem eens uitleggen? wat voor error?
michielvsb - 13/08/2005 18:54
HTML interesse
bij de laatste else stond dit :
Dit moet zijn :
Dan geeft hij die foutmelding niet meer, maar als je op verzenden drukt gebeurd er niets. Of hij moet de errors weergeven of hij moet zeggen dat het bericht succesvol is verzonden. Hij maakt ook geen nieuwe gegevens aan in de database:$ Dus nu sta ik nog geen stap verder.
lasdesigner - 13/08/2005 19:21
PHP beginner
$uwmail moet dat niet zijn $_POST['uwmail']
of
$uwmail = $_POST['uwmail'];
michielvsb - 13/08/2005 19:25
HTML interesse
maakt dat zoveel uit. de variable $email zal toch gewoon als waarde hebben de tekst die in het tekstvak wordt ingegeven.:?:
Simon - 13/08/2005 19:27
PHP expert
dit is te riskant, gebruik superglobals zoals gezegd
en als je noob bent op dat gebied, waarom wil je het dan gaan beter weten?
nemesiskoen - 13/08/2005 19:29
PHP expert
Citaat:
Ik ben een echte beginner qua php en mysql.
Citaat:
de variable $email zal toch gewoon als waarde hebben de tekst die in het tekstvak wordt ingegeven.
je bevestigd met de tweede quote duidelijk de eerste quote.
Dit is niet zo. De tijd gaat vooruit en PHP ook... ze hebben iets uitgevonden: "superglobals" ($_). Vroeger kon je alleen jou manier gebruiken, toen beide en nu alleen maar superglobals (of je moet het in je php.ini file anders hebben ingesteld).
michielvsb - 13/08/2005 19:51
HTML interesse
Ik heb het script aangepast maar hij doet het nog steeds niet.
Gesponsorde links
Dit onderwerp is gesloten .