email form

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Katleen Garmin

Katleen Garmin

25/02/2015 15:28:41
Quote Anchor link
Beste allemaal,

Ik ben nieuw hier en ook redelijk nieuw in/met php.
Ik heb een website waar men zich kan lid maken door registratie.
De gegevens worden bewaard in een database.
Nu had ik graag een mailform waar elk lid kan gemaild worden.
Dus, als ik 1 mail verstuur via een formulier dat elk lid deze mail krijgt.
Ik weet echter niet hoe ik de email adressen kan oproepen als ontvangers.
Dit heb ik als formumier waar ik de mail kan opstellen.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<form action="resultaat.php" method="post" title="Formulier">
    <table border="0"cellpadding="0" cellspacing="0">
      <tr>
        <td>Naam:</td>
        <td><input type="text" name="naam" /></td>
      </tr>
      <tr>
        <td>E-mail:</td>
        <td><input type="text" name="email" /></td>
      </tr>
      <tr>
        <td>Bericht:</td>
        <td><textarea cols="35" rows="5" name="bericht"></textarea></td>
      </tr>
      <tr>
        <td></td>
        <td><input type="reset" value="Reset" /><input type="submit" value="Verzend"></input></td>
      </tr>
    </table>
</form>


Graag had ik enige hulp hiervoor.
Met dank
Katleen
 
PHP hulp

PHP hulp

16/01/2025 13:18:22
 
- Ariën  -
Beheerder

- Ariën -

25/02/2015 15:39:51
Quote Anchor link
Ervanuitgaande dat je MySQLi voor je functies gebruikt, dan zou dit een mooi opzetje moeten zijn.
Let er wel op dat er nog validaties in moeten worden gebouwd om te voorkomen dat je lege velden verstuurt, terwijl dat niet hoort.
Ook wil ik erop wijzen dat als je >1000 mails wilt versturen, dit beter op een andere manier kan doen in plaats van via de browser.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
    $result = mysqli_query($db, "SELECT mailadressen, namen FROM mailabonees");
    if($result) {
        while($data = mysqli_fetch_assoc($result)) {
            //hier de mail() functie uitvoeren
        }
    }
else {
        echo "Er is een fout opgetreden: ".mysqli_error($db);
    }
}

?>
 
Thomas van den Heuvel

Thomas van den Heuvel

25/02/2015 15:52:12
Quote Anchor link
Daarnaast wil je waarschijnlijk dat deze functionaliteit wordt afgeschermd voor het publiek zodat niet iedereen je leden kan mailbomben. Ook je host zal je hier dankbaar voor zijn. Als je aan het spammen bent sta je al gauw op een blacklist (faster than you can say "shallow grave").

En voordat je je mail verstuurt naar XYZ leden wil je misschien zelf eerst een voorproefje ontvangen van het uiteindelijke resultaat.

Zoals Aar aangeeft wil je deze functionaliteit misschien ook schaalbaar houden voor als je ledenbestand groeit. Een beetje vooruit denken kan geen kwaad.

Waar je waarschijnlijk naar op zoek bent is een soort beheersysteempje voor het versturen van nieuwsbrieven. Dit kan en mag in beginsel best simpel zijn, maar bovengenoemde toevoegingen zouden in deze eerste opzet niet misstaan.
Gewijzigd op 25/02/2015 15:53:09 door Thomas van den Heuvel
 
Katleen Garmin

Katleen Garmin

26/02/2015 11:30:16
Quote Anchor link
- Aar - op 25/02/2015 15:39:51:
Ervanuitgaande dat je MySQLi voor je functies gebruikt, dan zou dit een mooi opzetje moeten zijn.
Let er wel op dat er nog validaties in moeten worden gebouwd om te voorkomen dat je lege velden verstuurt, terwijl dat niet hoort.
Ook wil ik erop wijzen dat als je >1000 mails wilt versturen, dit beter op een andere manier kan doen in plaats van via de browser.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
    $result = mysqli_query($db, "SELECT mailadressen, namen FROM mailabonees");
    if($result) {
        while($data = mysqli_fetch_assoc($result)) {
            //hier de mail() functie uitvoeren
        }
    }
else {
        echo "Er is een fout opgetreden: ".mysqli_error($db);
    }
}

?>


Dit heb ik als mail functie, kan ik daarmee verder?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
$naam = $_POST['naam'];
$email = $_POST['email'];
$bericht = $_POST['bericht'];
$eigenmail = '[email protected]';
if (!empty($bericht)) {
$formsent = mail("$eigenmail","Uw Team","naam: $naam\r\n email: $email\r\n bericht: $bericht.",
          "From: $email\r\nBounce-to: $eigenmail");

  if($formsent)
  {
    echo "
    <div id=\"tekst\">
      <h3>Dankjewel</h3>
      Beste $naam,<br />
      <br />
      Uw bericht is goed aangekomen bij mij. We zullen zo snel mogelijk een antwoord sturen.
    </div>
    ";
  }
  else
  {
    echo "
    <div id=\"tekst\">
      <h3>Helaas..</h3>
      Helaas $naam,<br />
      <br />
      Uw bericht is niet goed verzonden. Onze excuses hiervoor.
    </div>
    ";
  }
} else {
  echo "U heeft iets vergeten in te vullen.";
}
?>


Zoals ik al zei, ben redelijk nieuw in php en heb dit script op het www gevonden.
Katleen
 
- Ariën  -
Beheerder

- Ariën -

26/02/2015 11:35:07
Quote Anchor link
Los van het feit dat de code netter zou kunnen, zou dit script wel moeten werken.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.