Formulier met auto reply naar afzender maken in PHP

  • Onderwerp starter Onderwerp starter W3S
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

W3S

Gebruiker
Lid geworden
24 jan 2012
Berichten
27
Goede avond
ik probeer al een langere tijd een formulier met auto reply naar afzender te maken die gegevens opslaat in een mysql database. Op dit moment lukt het om een simpel formulier in te vullen en deze op te slaan in de database.

Contact form
PHP:
<form action="demo.php" method="post" />
<p>Voornaam: <input type="text" name="voornaam" /></p>
<p>Achternaam: <input type="text" name="achternaam" /></p>
<p>E-mail: <input type="text" name="email" /></p>
<input type="submit" value="Verzenden" />
</form>

Gegeven naar Database
PHP:
<?php

define('DB_NAME', 'DBNaam');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_HOST', 'localhost');

$link = mysql_connect (DB_HOST, DB_USER, DB_PASSWORD);

if (!$link) {
	die('Could not connect: ' . mysql_error());
}

$db_selected = mysql_select_db (DB_NAME, $link);

if (!$db_selected) {
	die('can\'t use ' . DB_NAME . ': ' . mysql_error());
}

$value = $_POST ['voornaam'];
$value2 = $_POST ['achternaam'];
$value3 = $_POST ['email'];

$sql = "INSERT INTO formulier (voornaam, achternaam, email) VALUES ('$value', '$value2', '$value3')";

if (!mysql_query($sql)) {
	die ('Error: ' . mysql_error());
}

mysql_close();

?>

Ik zou graag een automatische email versturen met een bedankje voor het aanmelden. Deze email hoeft alleen verstuurd te worden naar het email adres dat opgegeven is in het aanmeld formulier. De bedoeling is dat de gegevens legaal opgeslagen worden volgens het opt-in principe. ( Confirmed opt-in, oftewel je stuurt een bevestiging aan de inschrijver met de mogelijkheid om zich weer uit te schrijven )

Ik heb al wel wat informatie gevonden maar ik kom er niet uit. Zoals hier: http://www.helpmij.nl/forum/showthread.php/740699-Afzender-automatische-reply-vermeld-adres-provider

En deze php code:
PHP:
if ($mail->send()){ 
  $autoemail = new PHPMailer(); 
  $autoemail->From = "hello@frogdigital.co.uk"; 
  $autoemail->FromName = "Frog Digital"; 
  $autoemail->AddAddress($mail->From, $mail->FromName); 
  $autoemail->Subject = "Autorepsonse: We received your submission"; 
  $autoemail->Body = "We received your submission. We will contact you soon ...";
    
    //You forgot to call the Send method
   $autoemail->Send(); 
}

Ik heb niet heel veel verstand van PHP en ik hoop dat jullie mij kunnen helpen of een duwtje in de goede richting kunnen geven voor het automatisch verzenden naar het ingevulde email adres in het formulier.
 
je zegt gewoon het volgende:
PHP:
<?php
 
define('DB_NAME', 'DBNaam');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_HOST', 'localhost');
 
$link = mysql_connect (DB_HOST, DB_USER, DB_PASSWORD);
 
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
 
$db_selected = mysql_select_db (DB_NAME, $link);
 
if (!$db_selected) {
    die('can\'t use ' . DB_NAME . ': ' . mysql_error());
}
 
$value = $_POST ['voornaam'];
$value2 = $_POST ['achternaam'];
$value3 = $_POST ['email'];
 
$sql = "INSERT INTO formulier (voornaam, achternaam, email) VALUES ('$value', '$value2', '$value3')";
 
if (!mysql_query($sql)) {
    die ('Error: ' . mysql_error());
}
 
mysql_close();
$to = 'jeemailadres@jwz.nl';
$subject = 'je onderwerp';
$message = $value."\n".$value1."\n".$value2;
mail($to,$subject,$message);
?>

Dit zou gewoon kunnen.

even een tip.
je hebt TOTAAL geen beveiliging.
gebruik mysql_real_escape_string voor escapen values.
kijk of de values leeg zijn. zoja eerst melding geven voor verder gaan.
DUS:

PHP:
]<?php
 
define('DB_NAME', 'DBNaam');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_HOST', 'localhost');
 
$link = mysql_connect (DB_HOST, DB_USER, DB_PASSWORD);
 
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
 
$db_selected = mysql_select_db (DB_NAME, $link);
 
if (!$db_selected) {
    die('can\'t use ' . DB_NAME . ': ' . mysql_error());
}
if(empty($_POST['voornaam'])||empty($_POST['achternaam'])||empty($_POST['email']))
{
echo 'U heeft één of meer velden niet ingevuld. Ga <a href="jecontactformpage.html">terug</a> en vul de velden in.';
//header('Location: admin.php');
}
else
{
$value = mysql_real_escape_string($_POST ['voornaam']);
$value2 = mysql_real_escape_string($_POST ['achternaam']);
$value3 = mysql_real_escape_string($_POST ['email']);
 
$sql = "INSERT INTO formulier (voornaam, achternaam, email) VALUES ('$value', '$value2', '$value3')";
 
if (!mysql_query($sql)) {
    die ('Error: ' . mysql_error());
}
 
mysql_close();
$to = 'je-emailadres@jwz.nl';
$subject = 'je onderwerp';
$message = $value."\n".$value1."\n".$value2;
mail($to,$subject,$message);
}
?>
 
Bedankt voor je snelle reactie en de tip, ik zal er is mee aan de slag gaan misschien gaat het nu wel lukken.

Met vriendelijke groet,
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan