Mail laten verzenden na update ?
ik doe dit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$sql = "SELECT * FROM berichten WHERE gebruikersnaam ='".$_SESSION['gebruikersnaam']."' AND confirmatie ='online' ";
$result = mysqli_query($mysqli, $sql);
while($row = mysqli_fetch_assoc($result))
{
if ( $row['gepl_tot'] < strftime('%Y-%m-%d %H:%M:%S')) //is kleiner dan
{
$sql= ("UPDATE berichten SET
geactiveerd ='0' WHERE gebruikersnaam ='".$_SESSION['gebruikersnaam']."' ");
$mysqli->query($sql);
//echo "<----- DEBUG sql<br><br>" . $sql . "<br>---->";
}
}
?>
$sql = "SELECT * FROM berichten WHERE gebruikersnaam ='".$_SESSION['gebruikersnaam']."' AND confirmatie ='online' ";
$result = mysqli_query($mysqli, $sql);
while($row = mysqli_fetch_assoc($result))
{
if ( $row['gepl_tot'] < strftime('%Y-%m-%d %H:%M:%S')) //is kleiner dan
{
$sql= ("UPDATE berichten SET
geactiveerd ='0' WHERE gebruikersnaam ='".$_SESSION['gebruikersnaam']."' ");
$mysqli->query($sql);
//echo "<----- DEBUG sql<br><br>" . $sql . "<br>---->";
}
}
?>
dit word uitgevoerd door een header REFRESH .
Nu zou ik hier een mail willen achter plaatsen, maar die zou 1x uitgevoerd mogen worden. Kan ik dit op deze manier uitvoeren?
cronjob is geen optie, die word niet ondersteund waar ik host.
Gewijzigd op 15/01/2014 18:48:20 door Dendeze ikke
Gewoon mail() na de while?
Roy - op 15/01/2014 20:49:00:
Gewoon mail() na de while?
Dat kan niet, dan stuurt hij alle gebruikers een mail.
Ik weet niet of ik het verzenden van de mail op datum kan laten werken.
Code (php)
1
2
3
2
3
UPDATE berichten
SET geactiveerd=0
WHERE gebruikers_naam = 'Pinoccio' AND gepl_tot < NOW()
SET geactiveerd=0
WHERE gebruikers_naam = 'Pinoccio' AND gepl_tot < NOW()
En wat voor mail wil je versturen?
Lijkt mij dat er maar één gebruiker is, anders zouden ook de berichten van andere gebruikers 'verwijderd' worden
Gewijzigd op 15/01/2014 21:03:05 door Ger van Steenderen
Ger van Steenderen op 15/01/2014 21:02:17:
Hoi Ger van Steenderen,
Er zijn meerdere gebruikers -> $_SESSION['gebruikersnaam']
Ook hebben gebruikers meerdere berichten. Dus zou ik ergens ook het id van de gebruiker moeten selecteren en het juiste bericht. Ik dacht dit aan de hand van de tijd te doen. Ik weet enkel niet of het mogelijk is, en wens te voorkomen dat er continu mails worden verstuurd.
Tegelijkertijd??????
ik steek al mijn mails in de database, en met cronjob verstuur ik er iedere keer 10. zodat als een mail mislukt deze nog een keer kan verstuurt worden op een later moment (ik kan ook niet onbeperkt mailen om spam tegen te gaan). je maakt een script dat de mails verstuurt en een functie dat de mails in de database zet. zet daar nog een datum functie in en je kan zelfs kiezen wanneer de mail verstuurt moet worden.
Ger van Steenderen op 15/01/2014 21:29:42:
>> Er zijn meerdere gebruikers -> $_SESSION['gebruikersnaam']
Tegelijkertijd??????
Tegelijkertijd??????
Euh ja, dit is toch perfect mogelijk.
registreren -> gebruiker
Administratie gebruiker -> waar je uw berichten kunt bewerken
Toevoeging op 15/01/2014 21:43:38:
Php knipper op 15/01/2014 21:33:59:
ik steek al mijn mails in de database, en met cronjob verstuur ik er iedere keer 10. zodat als een mail mislukt deze nog een keer kan verstuurt worden op een later moment (ik kan ook niet onbeperkt mailen om spam tegen te gaan). je maakt een script dat de mails verstuurt en een functie dat de mails in de database zet. zet daar nog een datum functie in en je kan zelfs kiezen wanneer de mail verstuurt moet worden.
Hoi Php knipper,
zoals ik zei heb ik geen cronjobs. Dus zoek ik iets vervangend om te gebruiken in php
$_SESSION['rang'] ==> de rang van de gebruiker, meestal met getallen gekoppeld aan een rang (vb: 1 = lid).
$_SESSION['gebruiker'] ==> het id van de gebruiker (vb: 25247)
$_SESSION['gebruikersnaam'] ==> de gebruikersnaam (vb: php knipper) van de gebruiker
vandaar dat een site meestal maar 1 keer dezelfde gebruikersnaam en 1 keer dezelfde id kan hebben lijkt dit niet te kloppen wat je meld.
Toevoeging op 15/01/2014 21:47:39:
je kan dat script ook laten lopen iedere keer iemand je site bezoekt, het is niet zo goed als een cronjob en nauwkeurig is het ook niet maar het werkt wel.
Dendeze ikke op 15/01/2014 21:41:40:
Euh ja, dit is toch perfect mogelijk.
registreren -> gebruiker
Administratie gebruiker -> waar je uw berichten kunt bewerken
Ger van Steenderen op 15/01/2014 21:29:42:
>> Er zijn meerdere gebruikers -> $_SESSION['gebruikersnaam']
Tegelijkertijd??????
Tegelijkertijd??????
Euh ja, dit is toch perfect mogelijk.
registreren -> gebruiker
Administratie gebruiker -> waar je uw berichten kunt bewerken
Leg uit
Ger van Steenderen op 15/01/2014 21:54:11:
Leg uit
Dendeze ikke op 15/01/2014 21:41:40:
Euh ja, dit is toch perfect mogelijk.
registreren -> gebruiker
Administratie gebruiker -> waar je uw berichten kunt bewerken
Ger van Steenderen op 15/01/2014 21:29:42:
>> Er zijn meerdere gebruikers -> $_SESSION['gebruikersnaam']
Tegelijkertijd??????
Tegelijkertijd??????
Euh ja, dit is toch perfect mogelijk.
registreren -> gebruiker
Administratie gebruiker -> waar je uw berichten kunt bewerken
Leg uit
Iedereen die zich registreert heeft een gebruikernaam -> die is uniek.
Als je inlogt kom je op een pagina waar je berichten kan plaatsen, bewerken, verwijderen.
Berichten blijven een bepaalde duur online staan, maar blijven in je persoonlijke administratie staan.
Nu wil ik graag dat een bericht verlopen is (dus de tijd om is) dat er een email naar de gebruiker word gestuurd.