Automatisch e-mail bij nieuwe rij in MySQL
Hallo, is het in PHP mogelijk om automatisch een e-mail te laten versturen wanneer er een nieuwe rij aan een MySQL Dbase wordt toegevoegd?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
#.....
Voer de query uit en controleer direct of dit goed gaat...
if ($mysql_result = mysql_query($sql))
{
# als het dus goed gaat, stuur gelijk een email.
mail($to,........);
} else {
# als het niet goed gaat, laat dan een/de foutmelding zien.
echo "Mysql_error: ".mysql_error()."<br />\n";
}
#.....
?>
#.....
Voer de query uit en controleer direct of dit goed gaat...
if ($mysql_result = mysql_query($sql))
{
# als het dus goed gaat, stuur gelijk een email.
mail($to,........);
} else {
# als het niet goed gaat, laat dan een/de foutmelding zien.
echo "Mysql_error: ".mysql_error()."<br />\n";
}
#.....
?>
NOTE: Niet getest, ff vlugtig
Gewijzigd op 01/01/1970 01:00:00 door - Jim -
@ruurd, dit wil je wel goed beveiligen ivm spam, let daar dus extra op
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?
$sql = 'je query';
$res = mysql_query($sql,$link);
if ($res && mysql_affected_rows($res) >= 1)
{
mail();
}
?>
$sql = 'je query';
$res = mysql_query($sql,$link);
if ($res && mysql_affected_rows($res) >= 1)
{
mail();
}
?>
en dan je mail met ALLE correcte headers EN een returnpath (-f)
Wat jij nu doet, doe ik in 1x gecombineerd. Ik zie het probleem niet!!
Explain me.....
(Uiteraard kan je beter een fout loggen ipv echo-en.... , maar dat daargelaten.)
wes schreef op 20.08.2007 12:51:
@jim... nee
@ruurd, dit wil je wel goed beveiligen ivm spam, let daar dus extra op
en dan je mail met ALLE correcte headers EN een returnpath (-f)
@ruurd, dit wil je wel goed beveiligen ivm spam, let daar dus extra op
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?
$sql = 'je query';
$res = mysql_query($sql,$link);
if ($res && mysql_affected_rows($res) >= 1)
{
mail();
}
?>
$sql = 'je query';
$res = mysql_query($sql,$link);
if ($res && mysql_affected_rows($res) >= 1)
{
mail();
}
?>
en dan je mail met ALLE correcte headers EN een returnpath (-f)
Warning: mysql_affected_rows(): supplied argument is not a valid MySQL-Link resource
@Jim jij controleerd neit of er werkelijk een rij ingvoegd is Wes doet daty wel
De rij wordt wel toegevoegd aan de Dbase...
Ruurd schreef op 20.08.2007 14:42:
Bedankt zover, ik krijg momenteel onderstaande foutmelding. Zodoende wordt er kennelijk ook geen e-mail verzonden...
Warning: mysql_affected_rows(): supplied argument is not a valid MySQL-Link resource
Warning: mysql_affected_rows(): supplied argument is not a valid MySQL-Link resource
gebruik mysql_affected_rows($link);
Ruurd schreef op 20.08.2007 12:29:
Het is te hopen dat het systeem geen succes wordt, je moet er toch niet aan denken om dagelijks te worden platgespammed door je eigen website!Hallo, is het in PHP mogelijk om automatisch een e-mail te laten versturen wanneer er een nieuwe rij aan een MySQL Dbase wordt toegevoegd?
Vraagje: Waarom zou je dit willen? Ik moet er toch echt niet aan denken!
Het is zo dat er mondjesmaat data via een form wordt toegevoegd. Ik vind het dan handiger om een e-mail te ontvangen ipv steeds in te loggen om te kijken of er nieuwe records zijn. Heb jij dan een elegantere oplossing?
Dan heb je in ieder geval niet het "probleem" waarmee pgFrank komt.
Ok mensen, heel erg bedankt voor de hulp. Ik ga hier verder mee aan de slag.
dan haal je met het nieuwe script het nieuwe aantal rows uit de db en verglijk je het dus met het aantal rows die je de vorige keer had.. zo kun je heel simpel in je mail zetten hoeveel rows erbij zijn gekomen! ;)
Bij mysql_affected_rows() hoef je geen argument te geven. Deze functie zal altijd de laatst gebruikte connectie gebruiken.
Dus krijg je zo iets; (...als we het voorbeeld van Wes aanhouden);
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$sql = 'je query';
$res = mysql_query($sql,$link);
if ($res && mysql_affected_rows() >= 1)
{
mail();
}
?>
$sql = 'je query';
$res = mysql_query($sql,$link);
if ($res && mysql_affected_rows() >= 1)
{
mail();
}
?>