Hi,
Ik heb vandaag een activatie mail script gemaakt. Maar nu stuurt hij contanst mails naar de klant. Met een while erin.
Heeft iemand een idee hoe ik de kan gaan fixen? Heb het echt zo snel mogelijk nodig.
Bedankt
Hi,
Ik heb vandaag een activatie mail script gemaakt. Maar nu stuurt hij contanst mails naar de klant. Met een while erin.
Heeft iemand een idee hoe ik de kan gaan fixen? Heb het echt zo snel mogelijk nodig.
Bedankt
Beste Shahiem,
Post je script eens hier neer.. miss kunnen we kijken hoe en wat;)
<?php
$pageTitle = 'Activeren';
include '../includes/config.php';
include '../includes/header.php';
$activatieQuery = $core->mysql->query("SELECT
id,
naam,
contactpersoon,
activatie,
email
FROM
bedrijven
WHERE
activatie = 0");
if($core->mysql->num_rows($activatieQuery) >= 1)
{
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(empty($_POST['uitgaan']))
{
echo 'Je hebt geen uitgaansgelegenheden geselecteerd.';
}
else
{
$core->mysql->query("UPDATE
bedrijven
SET
activatie = 1
WHERE
id = '".$core->mysql->escape($uitgaan)."'");
$uitgaanPostQuery = "SELECT
contactpersoon,
naam
FROM
bedrijven
WHERE
id = '".$_POST['uitgaan']."'";
$result = $core->mysql->query($uitgaanPostQuery);
if($result)
{
$array = array();
$uitgaanPostFetch = $core->mysql->fetch($uitgaanPostQuery);
$array[] = $uitgaanPostFetch['contactpersoon'];
$subject = 'Activatie';
$headers = 'From: TheSpecialDate <[email protected]>' . "\r\n";
$headers .= 'Reply-To: TheSpecialDate <[email protected]>' . "\r\n";
$headers .= 'X-Mailer: PHP/' . phpversion() . "\r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$bericht = '<table width="668" align="center" cellspacing="0" cellpadding="0">
<tr>
<td width="668" height="60" background="'._ROOT_.'img/header-bg.png" style="font: 11px Tahoma; color: #fff; text-align: center;">
<img src="'._ROOT_.'img/logo.png" alt="logo" /><br />
</td>
</tr>
<tr>
<td style="background: #000; border: 1px dotted #2e2509; padding: 10px; font: 11px Tahoma; color: #fff;">
<strong>Beste '.$array.'</strong>, <br /><br />
Gefeliciteerd, uw uitgaansgelegenheid is succesvol geactiveerd.<br />
U kunt nu <a href="'._ROOT_.'inloggen">inloggen</a>.
<br /><br />
<strong>Met vriendelijke groet</strong>,<br />
- TheSpecialDate
</td>
</tr>
</table>';
foreach($_POST['email'] as $email)
{
mail($email, $subject, $bericht, $headers);
}
echo '<div class="goede-melding">Deze uitgaansgelenheid is succesvol geactiveerd, er is een mail verstuurd naar de contactpersoon.</div>';
}
else
{
echo 'Er is een fout opgetreden.';
}
}
}
?>
<form action="" method="post">
<table width="100%">
<tr>
<td><input type="checkbox" value="" /></td>
<td><strong>Naam bedrijf</strong></td>
<td><strong>Contactpersoon</strong></td>
<td><strong>Email</strong></td>
</tr>
<?php
while($activatieFetch = $core->mysql->fetch($activatieQuery))
{
?>
<tr>
<td><input type="checkbox" value="<?php echo $core->entities($activatieFetch['id']); ?>" name="uitgaan[]" /></td>
<td><?php echo $core->entities($activatieFetch['naam']); ?></td>
<td><input type="hidden" name="persoon[]" value="<?php echo $core->entities($activatieFetch['contactpersoon']); ?>" /><?php echo $core->entities($activatieFetch['contactpersoon']); ?></td>
<td><input type="hidden" name="email[]" value="<?php echo $core->entities($activatieFetch['email']); ?>" /><?php echo $core->entities($activatieFetch['email']); ?></td>
</tr>
<?php
}
?>
</table>
<input type="submit" name="submit" value="Activeer" />
</form>
<?php
}
else
{
echo 'Er zijn geen nieuwe aangemelde uitgaansgelegenheden.';
}
include '../includes/footer.php';
?>
Toon Meer
Dit was hem, maar ik wil hem eigenlijk laten stoppen. Zodat hij geen mails verstuurd.
Ik zie nu niet echt de fout....
Misschien kunnen de andere je verder helpen..
ik zelf denk dat je iets moet maken of ie controleerd of het is verzonden en vervolgens het geen weer uit de database te verwijderen
Ik weet niet welke functie deze heeft:
Zelf denk ik dat het hier aan ligt
$core->mysql->query("UPDATE
bedrijven
SET
activatie = 1
WHERE
id = '".$core->mysql->escape($uitgaan)."'");
$uitgaanPostQuery = "SELECT
contactpersoon,
naam
FROM
bedrijven
WHERE
id = '".$_POST['uitgaan']."'";
$result = $core->mysql->query($uitgaanPostQuery);
Toon Meer
Overal staat activatie = 1.. maar 0 = geen dus misschien moet je dat proberen?
verder durf ik het niet te zegge
gr Mick
kzou hiereens naar kijken
foreach($_POST['email'] as $email)
{
mail($email, $subject, $bericht, $headers);
}
Heb het inmiddels al verwijderd, nu nog kijken of het werkt.
$_POST['email'] moet als het goed is een string bevatten geen array*
Een string doorlopen moet een error opgeven, maar dat terzijde.
Dit script wat je hier post stuurt niet naar alle gebruikers/klanten een mail. je fout zit ergens anders.
Heb je nog geen account? Registreer je nu en word deel van onze community!