Volledige versie bekijken : emailformulier met meerdere ontvangers



SecuGuard
13 March 2011, 16:31
Ik zou voor op een website het volgende willen:
Een contactformulier waarbij degene die iets wil verzenden kan kiezen aan wie hij het verzend.
Dit heb ik voorlopig gedaan via een drop down maar ik zou het graag hebben vial checkboxes en dat er eventueel meerdere keuzes mogelijk zijn.
Als ze dus bijvoorbeeld luc aanklikken mag de mail enkel naar luc gestuurd worden, klikken ze luc en jos aan dan mogen luc en jos de mail ontvangen.

Onderstaande is de code die ik al heb (dan wel met het dropdownmenu) maar het lijkt zoiezo niet te werken.
De verzendknop doet niets en de wissen knop doet het ook niet.
Grote probleem, verder dan onderstaande geraak ik niet met mijn kleine html kennis.

php kan ook gebruikt worden maar daar ken ik niets van om daar de code van te schrijven.

Iemans die me uit den nood kan helpen of die me kan zeggen hoe ik het moet doen aub?

Thx

Grtz


<html>
<head>
<title>contact</title>
</head>

<body>
Wie ben je:<br>
Naam<input type="text" size="35" maxlength="256" name="realname"><br>
E-mail<input type="text" size="35" maxlength="256" name="Useremail"><br>
<P>Aan:
<select name="recipient" size="1">
<option value="jos@test.be" selected>jos</option>
<option value="luc@test.be">luc</option>
<option value="jef@test.be">jef</option>
<option value="charel@test.be">charel</option>
<option value="ludo@test.be">ludo</option>
<option value="iedereen@test.be">Iedereen</option>
</select>
</p>

<p>Wat wil je vertellen:<br>
<textarea name="Comments" rows="5" cols="42"></textarea>
</p>
<P>
<input type="submit" value="Verzenden">
<input type="reset" value="Wissen"></p>
</body>
</html>

Butterflyice
13 March 2011, 17:05
Het probleem dat het niet werkt is omdat je nu geen form gebruikt dus de verzend knop weet niet wat hij moet doen.
Dan het probleem van aan wie verzenden deze moet je in een andere code afwikkelen bv php wat je zelf al heb aan gegeven.

Ik heb hier een werkend voorbeeld gemaakt incl uitleg.

suc6 er mee



<?php
/**
* who: mailto multply people
* What: mailme.php
* @Auhor: Butterflyice
* Date : 13-03-2011
*/

// controleren voor wie de email is indien meer email adressen scheiding teken is ,
if ($_POST["recipient"] == "all") {
$recipient = "jos@test.be, luc@test.be, jef@test.be, charel@test.be, ludo@test.be";
} else {
$recipient = $_POST["recipient"];
}
// naam
$name = $_POST["realname"];
// email
$email = $_POST["Useremail"];
// bericht
$message = $_POST["Comments"];

// controleren of het een post value is en of deze niet leeg zijn
if ($_SERVER['REQUEST_METHOD'] == 'POST' &&
!$_POST["verzenden"] ||
!$name ||
!$email ||
!$message
)
{
// fout melding
if($_POST["verzenden"]) {
echo "<div style=\"color:red;\">Je bent wat vergeten in te vullen.</div>";
}
?>

<html>
<head>
<title>contact</title>
</head>
<body>
<form method="post" action="mailme.php">
Wie ben je:<br>
Naam<input type="text" size="35" maxlength="256" name="realname"><br>
E-mail<input type="text" size="35" maxlength="256" name="Useremail"><br>
<P>Aan:
<select name="recipient" size="1">
<option value="jos@test.be" selected>jos</option>
<option value="luc@test.be">luc</option>
<option value="jef@test.be">jef</option>
<option value="charel@test.be">charel</option>
<option value="ludo@test.be">ludo</option>
<option value="all">Iedereen</option>
</select>
</p>
<p>Wat wil je vertellen:<br>
<textarea name="Comments" rows="5" cols="42"></textarea>
</p>
<P>
<input type="submit" value="Verzenden" name="verzenden"/>
<input type="reset" value="Wissen" /></p>
</form>
<?php
}
if ($_SERVER['REQUEST_METHOD'] == 'POST' &&
$_POST["verzenden"] &&
$name &&
$email &&
$message
)
{
// verzenden van de email
$to = $recipient;
$subject = "Ik wil wat vertellen";
$message = "Ik wil het volgende vertellen: \r\n"
. "Naam :" .$name ."\r\n"
. "Bericht :".$message;
$header = "FROM: ". $email;
mail($to,$subject, $message, $header);
echo "<p><b>Bericht is succes vol verzonden bedankt voor uw bericht</b></p>";
}

?>
</body>
</html>

SecuGuard
13 March 2011, 17:09
dus deze zet ik allemaal op 1 pagina die ik iopsla als phppagina?

Butterflyice
13 March 2011, 17:15
Jeps de php pagina heet in dit geval mailme.php staat ook in de action in het from.

SecuGuard
13 March 2011, 17:19
ga ik dadelijk eens uitteste, ik laat je het resultaat weten ;)

Butterflyice
13 March 2011, 17:25
Zal wel goed gaan ;)

SecuGuard
13 March 2011, 17:29
werkt perfect, een mens zou meer dan 1 keer op de bedanktknop moesten kunnen drukken, ik zou het 1000maal doen ;)

Nu vraag ik me af, is er een mogelijkheid om het in plaats van via het drop down menu te doen, het te doen dat ze de ontvanger kunnen aanvinken, dus dat de ontvangers naast elkaar staan en dat ze ze meerdere ontvangers van het formulier kunnen ingeven.
dus als ze enkel luc aangeven dan krijgt enkel luc de mail, selecteren ze luc en jos krijgen luc en jos de mail,...

Butterflyice
13 March 2011, 18:36
Ja dat is mogelijk met behulp van checkboxen.
Deze moet je dan ook in php afvangen zofat het naar de juisten personen gestuurd wordt.

SecuGuard
13 March 2011, 20:57
zal het eens uitproberen om het te maken, je hoort wel of het gelukt is ;)

SecuGuard
13 March 2011, 21:21
is gelukt :D
thx 4 the info

Butterflyice
13 March 2011, 22:27
mooi zo

SecuGuard
14 March 2011, 02:32
nog eens een vraagje.
Ben een beetje aan het klooien in flash.
is er een mogelijkheid om dezelfde code te verwerken in een flashpagina of gaat dat niet?

Butterflyice
14 March 2011, 07:28
Ja dat kan maar dan moet je ook ale velden in flash aan maken en zorgen dat het flash bestand weet waar de php file staat.

SecuGuard
14 March 2011, 11:52
Ik heb een keertje zitten zoeken om de velden te maken in flash, maar ik kan het niet vinden :s
ik ben ook al op zoek geweest naar een optie om de htmlcode in het flashbestand te zetten, maar dat kan ik ook niet echt vinden...
enig idee?

SecuGuard
14 March 2011, 12:54
het formulier (zonder keuze naar wie je het kan sturen wel) is ondertussen gelukt om te maken in flash
ik heb ook de verzendknop kunnen maken en daar heb ik dan als code om te gebruiken dit gebruikt:

on (release) {
getURL("http://www.mijnsite.be/contact.php", "", "POST");
}De code van mijn contact.php heb ik die gebruikt die jij had geschreven, maar wat moeten aanpassen om hem naar de flash versie te laten luisteren, maar ik denk dat ik het verknoeid heb in die php code (i suck at php :p )

dit is de phpcode van het bestand:

<?php

if ($_POST["recipient"] == "luc@mijnsite.be") {
;
} else {
$recipient = $_POST["recipient"];
}
$name = $_POST["realname"];
$email = $_POST["Useremail"];
$message = $_POST["Comments"];

if ($_SERVER['REQUEST_METHOD'] == 'POST' &&
!$_POST["verzenden"] ||
!$name ||
!$email ||
!$message
)
{
if($_POST["verzenden"]) {
echo "<div style=\"color:red;\">Je bent wat vergeten in te vullen.</div>";
}

}
if ($_SERVER['REQUEST_METHOD'] == 'POST' &&
$_POST["verzenden"] &&
$name &&
$email &&
$message
)
{
$to = $recipient;
$subject = "Boodschap via website";
$message = "Dit is de boodschap van: $name \r\n"
. "Bericht :".$message;
$header = "FROM: ". $email;
mail($to,$subject, $message, $header);
echo "<p><b>Bericht is succes vol verzonden bedankt voor uw bericht</b></p>";
}

?>
zoals al gezegd, mijn phpkennis is zeer klein en ik kan de fout niet vinden (heb al 101 verschillende opties geprobeerd)
iemand die me kan vertellen waar het fout gaat?

Probleem is dus dat als je op de verzendknop drukt dat het contactformulier ingevuld blijft staan op de pagina en dat er een nieuwe lege pagina opengaat (contact.php) en de mail komt niet toe.

dit is trouwens hoe het formulier er visueel uit ziet:
http://img251.imageshack.us/img251/4489/flashform.jpg (http://img251.imageshack.us/i/flashform.jpg/)


(http://imageshack.us)

Butterflyice
14 March 2011, 18:39
Heb je allen dat in je actionscript staan in de flash file?
want je textvelden van de flash moet je wel doorzetten naar de php file
Dat kan bv op de volgende manier dit is maar een beknopte versie
bevat name email en bericht


var senderLoad:LoadVars = new LoadVars();

sender.onRelease = function() {
senderLoad.theName = theName.text;
senderLoad.theEmail = theEmail.text;
senderLoad.theMessage = theMessage.text;
senderLoad.sendAndLoad("http://mijndomein.nl/mailme.php",receiveLoad);
}
// afhandling of het gelukt is ja of nee via labels
receiveLoad.onLoad = function() {
if(this.sentOk) {
_root.gotoAndStop("gelukt");
}
else {
_root.gotoAndStop("mislukt");
}
}

SecuGuard
15 March 2011, 00:09
klein vraagje hiervan, moet dat bij in het actionscript van de flashfile of is dat voor in de phpfile?

Butterflyice
15 March 2011, 00:57
Dat moet in het actionscript komen let wel op de benaming van je dynamische text velden.
Ik weet niet hoe jij ze heb genoemd dus kan niet zeggen dat je het zo 1 op 1 kan overnemen dat het dan direct werkt.

SecuGuard
15 March 2011, 02:15
zal het eens uittesten, ik laat het nog weten wat het resultaat is
alvast bedankt