Ik heb een formulier op de site. Na invulling worden de gegevens in een database gelade. Tot zover werkt het. Nu wil ik graag dat deze gegevens (dus eigenlijk het formulier) niet alleen in de DB wordt geladen, maar dat de gegevens ook per email woprden verzonden naar één of meerdere adressen.
*ik heb dit niet zelf gemaakt en dit gaat dus ver boven mijn pet.
Als iemand mij op weg kan helpen, graag!


Wauw!! Je hebt er echt werk van gemaakt!

Maar je zegt "we plaatsen dit volledig bovenaan". Ik neem aan ergens onder




<?php
if(mysql_connect('#############','##########','############'))
{
mysql_select_db('qb209271_klanten') or die(mysql_error());
}
else
{
echo 'Kan geen verbinding maken';
exit;
}


if($_SERVER['REQUEST_METHOD'] == 'POST' && !empty($_POST))
{
$aFouten = array();
if($_POST['Naam'] == '')
{

etc.etc ..................

of ergens anders?

Haha nee,

# We zetten dit volledig bovenaan

# errors weergeven
ini_set('display_errors',0); // 1 == aan , 0 == uit
error_reporting(E_ALL | E_STRICT);

# sql debug
define('DEBUG_MODE',false); // true == aan, false == uit

# functie voor sql debug
function showSQLError($sql,$error,$text='Error')
{
if (DEBUG_MODE)
{
return '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
}
else
{
return $text;
}
}

Dit plaats je helemaal bovenaan.
Dit is voor je errors enzo.

Script (van Dem) ziet er aardig uit, maar waarom gebruik van empty?

Ee headers bij de mail kloppen niet; gebruik daarom liever phpmailer/swiftmailer.
@Obelix en Idefix, ik sta opvan voor kritiek, wat zou jij in plaats van empty gebruikt hebben?

Ik ken ook niet veel van mails, heb je misschien een toturial (goede, nederlandstalige)?

Ik ben altijd blij als het werkt, en in dit geval is het zo.
Dem,

Heb e.e.a. aangepast en er gebeurt iets! (Haha, je wil niet weten hoe lang ik heb zitten experimenteren!!)
Maar ik krijg nu een email met het gekozen bericht "nieuwe aanvraag".
Hoe kan ik nu de ingevulde gegevens per email laten versturen?
Met andere woorden:

1. Iemand doet een aanvraag en vult het formulier in
2. na "verzenden" gaan de gegevens in de sql-database
3. de ingevulde gegevens worden per email verzonden.

Ik had een verzenden.php aangemaakt maar toen ik in de ACTION "verzenden.php" had gezet, kreeg ik wel de email mat alle velden, maar werden de gegevens weer niet in de database geladen??
@Dem Ian:
Kijk eens waar empty op controleert. En kijk eens naar isset.

de mailfunctie die standaard in php zit is vrij complex om 'even' goed aan te sturen.
Op de site van phpmailer (en op swiftmailer vast ook) wordt heel eenvoudig uitgelegd hoe e.e.a. werkt. Engels, dat wel. Maar dat is het hele scriptgebeuren ;-)
Mail zonder juiste header kan als spam worden aangemerkt. Ontvanger krijgt bericht (mogelijk) niet en bij veel mail kun jij als spammer worden beschouwd.


Blij als het werkt? Heb liever dat het ook goed/veilig/betrouwbaar is....

@Rob: begin eens met een goede tut. 1 over het gebruik database en 1 hoe je een mailbericht opstelt obv een formulier. Beide is niet zo heel moeilijk.
@ Obelix, dat weet ik ook van dat de waarde bestaat of niet.

Maar anders moest ik alles omdraaien? En daar had ik geen zin in.
Ik zal die mail functie later wel eens doornemen.

@ Rob, als je de action verandert, gaat de actie alleen maar op verzenden.php.
Hij moet ook de huidige pagina doen want daar staat de php.

Oplossing:
Probeer verzenden.php in je andere pagina te plaatsen.
Dem,

Het is even stil want ik ben druk aan het testen natuurlijk.

Maar wil je nu alvast heel erg bedanken voor je moeite en voor de tijd die je hebt genomen om mij te helpen!!

Rob
Graag gedaan.
Ik ben ook niet echt een prof in php maar de basis snap ik wel.

Vroeger was ik echt een ramp maar met veel oefenen, zelf dingen maken, kom je er wel!
Dem,

Nogmaals dank. Heb nog 1 vraagje. Ik heb nu verwerken.php in de pagina verwerkt waardoor ik een mail ontvang met alle ingevulde gegevens. Ook gaan de gegevens netjes in de database.
Hoe kan ik nu meerdere emailadressen toevoegen? Heb jij enig idee?





[code]<?php
//Als men op de Submit knop heeft gedrukt van het formulier...
if (isset($_POST['verzenden'])) {
if (!isset($_POST['Naam'])) {
$error = "Naam is niet ingevuld<BR />";
} if (!isset($_POST['Adres_vertrek'])) {
$error .= "Vertrekadres is niet ingevuld";
} if (!isset($_POST['Vertrekdatum'])) {
$error .= "Datum is niet ingevuld";
} if (!isset($_POST['Bestemming'])) {
$error .= "Bestemming is niet ingevuld";
} if (!isset($_POST['Aantal_personen'])) {
$error .= "Aantal personen is niet ingevuld";
} if (!isset($_POST['Aantal_koffers'])) {
$error .= "Aantal koffers is niet ingevuld";
} if (!isset($_POST['Huisdier'])) {
$error .= "Huisdier is niet ingevuld";
} if (!isset($_POST['Tijd'])) {
$error .= "Voorkeur_voertuig is niet ingevuld";
} if (!isset($_POST['Tijd'])) {
$error .= "Voorkeur voertuig is niet ingevuld";
} if (!isset($_POST['Bijzonderheden'])) {
$error .= "Bijzonderheden niet ingevuld";
}

if (!isset($error)) {

$bericht = "De volgende aanvraag is op SchipholPool.nl geplaatst!!
Naam: ".$_POST['Naam']."
Pick-up adres: ".$_POST['Adres_vertrek']."
Datum: ".$_POST['Vertrekdatum']."
Tijd: ".$_POST['Tijd']."
Bestemming: ".$_POST['Bestemming']."
Aantal passagiers: ".$_POST['Aantal_personen']."
Aantal koffers: ".$_POST['Aantal_koffers']."
Huisdier ja/nee: ".$_POST['Huisdier']."
Voorkeur voor voertuig: ".$_POST['Voorkeur_voertuig']."
Bjzonderheden: ".$_POST['Bijzonderheden']."
\n";
$bericht .= "Reageer NU op www.SchipholPool.nl";;
mail ("[email protected]", "NIEUWE AANVRAAG SCHIPHOLPOOL.NL !!!", $bericht, "FROM: NoReply");

} else {

echo "Gelieve alle formuliervelden netjes in te vullen !<BR /><BR />";
echo "<FONT COLOR=\"#FF0000\">".$error."</FONT>";

}

} else {

echo "U moet eerst het formulier invullen !";

}
?> [\code]

[size=xsmall]Toevoeging op 17/03/2012 19:47:56:[/size]

Dem,

Heb het gevonden (helemaal zelf, knap hè)
Had quotes op verkeerde plek gezet.

Rob

[size=xsmall]Toevoeging op 17/03/2012 20:24:29:[/size]

Weet iemand misschien waar en hoe ik in dit voorbeeld een header voor bcc geadresseerden kan toevoegen?
Heb vele voorbeelden en tutorials bekeken maar zien er allemaal anders uit.
Ik wil graag meerdere email adressen gaan toevoegen maar wil niet dat zij van elkaar de adressen kunnen zien.

Reageren