Hey,

Ik heb in een database een tabel met: "id", "employee" en "email"
zo staat er een naam + bijhorende email in de tabel.

Ik heb een php scriptje die door die tabel heen loopt en alle namen in een list zet als options. Nu zit ik met het volgende: Als je een persoon selecteert uit die lijst en dan op submit drukt, moet er een mailtje verzonden worden naar de geselecteerde persoon (dus naar de e-mail die gekoppeld is aan diegene).

Weet iemand hoe dat moet en/of het überhaupt kan? Ik werk via XAMPP dus alles is lokaal.
Kan je meerdere mensen selecteren in de options-field, of maar een enkele?
Hey Midas,

Zoals Arien vraagt, is het inderdaad handig om te weten of je meerdere of enkele gebruikers wilt mailen per keer. Kan je anders ook even wat relevante code laten zien met wat je al geprobeerd hebt en waarom het niet werkte. Daar heb je zelf ook veel aan.
je kan één persoon selecteren, meerdere hoeft ook niet.

dit is het scriptje voor de personen die je kan mailen, gehaald uit de database


<select id="email" name="email">
<?php

require 'database.php';//Needed for database connection

$query= "SELECT employee FROM email_register ORDER BY employee ASC";
$result= mysqli_query($db_con, $query);

while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
$employee=$row["employee"];
	echo "<option>
		$employee
	</option>";
}
?>
</select>



Als je je formulier verstuurt, dan heb je in je $_POST['email'] het e-mailadres zitten van diegene.
Dan kan je met de standaard PHP-mailfunctie, PHPmailer of Swiftmailer deze gebruiken om de mail uiteindelijk te versturen.

Is dat een beetje duidelijk, en kom je daar uit?
Niet echt, het is eigenlijk als volgt:

Er komt een bezoeker, die selecteert met wie hij een afspraak heeft. Als hij dan op verzenden drukt, krijgt de geselecteerde persoon een mailtje met iets van "uw bezoek is aanwezig"

Ben al een beetje aan het prutsen met wat mail scriptjes van het internet, maar bij deze krijg ik een error van: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()
Op een standaard Windows omgeving gaat inderdaad de mail functie niet werken zoals gewenst. Dan zul je je SMTP gegevens moeten instellen.

<?php
require 'database.php';//Needed for database connection
$query = "SELECT employee FROM email_register ORDER BY employee ASC";
if($result = mysqli_query($db_con, $query)) {
   if(mysqli_num_rows($result) > 0 ){ 
?>
    <select id="email" name="email">
       <?php while($row = mysqli_fetch_assoc($result)) : ?>
          <option value="<?= htmlspecialchars($row['id'])?>"><?= htmlspecialchars($row['employee'])?></option>
       <?php endwhile ?>

    </select>
<?php
   }
}

?>


[size=xsmall]Toevoeging op 26/09/2016 11:49:07:[/size]

je kunt evt een mail server installeren, of kijken waar mee jouw mailclient op je pc (outlook etc) mailt en die settings overnemen.
wat heb je in de toevoeging precies gedaan?
er miste een ) op regel 9

[size=xsmall]Toevoeging op 26/09/2016 13:48:35:[/size]

ik heb trouwens de opzet van het script wat aangepast.
Stel nu dat in jouw opzet een fout optreedt met de query: je zit midden in de opbouw van de <select> en daar kun je geen foutmeldingen meer kwijt.

Liefst doe je zo'n query ook al vooraf, omdat je dan al kunt weten of er überhaupt iets in de <select> gaat komen, of dat de lijst toch leeg gaat zijn.

Reageren