Jump to content
  • 0

Automatische mail


rmyvml

Question

ik heb alweer een vraag, deze keer gaat het over een automatische mail.

 

mijn bedoeling is:

 

Een gebruiker maakt via een php pagina een melding, deze word als record opgeslagen in filemaker pro.

Omdat wij als ICT'ers niet constant in filemaker zitten, maar wel altijd onze telefoon (met mail) bij hebben, zou ik graag een automatische mail willen sturen zodra er een nieuwe record binnenkomt.

 

iemand een idee hoe dit valt te realiseren?

 

Groetjes Remy Vermeulen.

Link to comment

18 answers to this question

Recommended Posts

  • 0

Wil je een mail zodra het record wordt aangemaakt of wil je op gezette tijden kijken of er nieuwe records zijn en die vervolgens mailen?

Het maakt eigenlijk niet zoveel uit welke van de twee.

 

Beide kan je oplossen door een nieuw record een kenmerk mee te geven (auto-enter in de velddefinitie) waarop je kan zoeken.

En daarnaast een client hebben draaien die een timer instelt middels het opstartscript. De timer start telkens een script dat zoekt naar nieuwe records, mailt en zet het kenmerk uit.

Voor geval 1 zet je het interval van de timer op 1 seconde. Voor geval 2 kan je 300 seconden (5 minuten) gebruiken.

Als je in de mail-script-stap mailt via de server (kan dat eigenlijk al in 10?????????), heb je geen mail client nodig

 

rmw

Link to comment
  • 0
Een gebruiker maakt via een php pagina een melding, deze word als record opgeslagen in filemaker pro.

Dat betekent dat je na een error check (als er dus geen error is en het record dus opgeslagen is) in het zelfde php script nog een mail kunt verzenden met de PHP functie mail () of je kunt een script aanmaken in Filemaker die dat voor je doet en dat script vanuit je php file triggeren na de genoemde error check (met de PHP API).

 

Groet, Niels

Link to comment
  • 0

ik heb het via php geprobeert mail() ... maar die functie wil op een of andere manier niet werken. (ook php.ini aangepast)

Script trigger op een veld werkt ook niet omdat het veld word gevuld via php. dus bijtoegang, toetsaanslag, wijzigen, opslaan en verlaten werken niet.

 

Beide kan je oplossen door een nieuw record een kenmerk mee te geven (auto-enter in de velddefinitie) waarop je kan zoeken.

En daarnaast een client hebben draaien die een timer instelt middels het opstartscript. De timer start telkens een script dat zoekt naar nieuwe records, mailt en zet het kenmerk uit.

Voor geval 1 zet je het interval van de timer op 1 seconde. Voor geval 2 kan je 300 seconden (5 minuten) gebruiken.

Als je in de mail-script-stap mailt via de server (kan dat eigenlijk al in 10?????????), heb je geen mail client nodig

 

rmw

 

Deze oplossing blijft dan over, maar hoe krijg ik het voor elkaar? hoe krijg ik een kenmerk aan een nieuw record... en krijg ik die met een script weer weg:?

Link to comment
  • 0

dit zou ik persoonlijk niet doen.

 

Persoonlijk opteer ik voor de manier van tackenco: Via PHP schrijf je de record weg, doe de error check in het php script en roep dan een filemaker script aan met behulp van de PHP API voor FileMaker. Alles gebeurt dus via PHP.

 

edit: fout citaat :-)

Edited by Guest
Link to comment
  • 0

ik neem aan dat ik deze regel moet gebruiken??

 

$newPerformScript =& $fm->newPerformScriptCommand('Order Summary', 'ComputeTotal');

$result = $newPerformScript->execute();

 

Maar waar moet ik deze dan neerzetten.... en wat moet ik hieraan veranderen??

 

sorry als ik stomme vragen stel, maar snap er echt niks van...

Link to comment
  • 0
Persoonlijk opteer ik voor de manier van dudematters

Hee Andries, dat was het voorstel van Tackenco hoor :D

Maar waar moet ik deze dan neerzetten.... en wat moet ik hieraan veranderen??

Waar je die moet neerzetten is nadat de gegevens zijn toegevoegd aan de database, dat kan je controleren met de error controle functie. Dus als er geen error is dan de execute script command.

 

Ik heb een stukje uit een script van mij gecopieerd. Hier wordt een script uitgevoerd nadat een record verwijderd is:

// check to see that 'recid' got passed in
if (array_key_exists('recid', $_GET)) {
// get record object
$rec = $fm->getRecordById('php_bestellingregels', $_GET['recid']);
$artikel = $rec->getField('Artikel ID');
$cadeaulist = $rec->getField('Kadolijst ID');
// delete record	
if (!$rec->delete()) {
    echo 'Record deletion failed';
    exit;
}
}
$record =& $fm->newPerformScriptCommand('artikelen_sync', 'syncArtikel', $artikel);
$result = $record->execute();

 

Het hoeft natuurlijk niet precies zo, het is maar een voorbeeldje 8O

 

Succes, Niels

Link to comment
  • 0

$newPerformScript =& $fm->newPerformScriptCommand('melding_maken', 'Mail');
$result = $newPerformScript->execute();

 

dit heb ik er nu in staan. maar zodra ik nu een nieuw record toevoeg krijg ik dit in de pagina:

 

Notice: Only variable references should be returned by reference in C:\Program Files\FileMaker\FileMaker Server\Web Publishing\publishing-engine\php\FileMaker\Command.php on line 126

 

 

 

sorry voor al mijn vragen, ik probeer er natuurlijk eerst zelf uit te komen, maar ik ben niet bepaalt een held met php api...

Link to comment
  • 0

Je bent er bijna.

 

Deze melding geeft precies aan waar er iets fout zou moeten zijn in je script. namelijk op lijn 126 (heb je de lijnnummers aanstaan in je editor?)

 

Je gebruikt nu $fm-> als object. Is dat object al gecreëerd?

 

Als het goed is maak je ergens in het begin van je script een connectie met de filemaker database, daar maak je het object wat je zou moeten gebruiken.

 

Je mag ook je script meesturen, dan kunnen we even met je mee kijken.

 

Groet, Niels

Link to comment
  • 0





PC probleem




<?php $activelink = 'browserecord.php'; include_once 'navigation.php' ?>


Melding



name="-recid" value="<?php echo $recid ?>">

Melding ID

<?php echo nl2br( $record->getField('melding_ID', 0))?>

Status

<?php echo nl2br( $record->getField('status', 0))?>

Datum

<?php echo displayDate( $record->getField('huidige_datum', 0), $displayDateFormat)?>

Tijd

<?php echo displayTime( $record->getField('huidige_tijd', 0), $displayTimeFormat)?>

Naam

<?php echo nl2br( $record->getField('achternaam', 0))?>

E-mail

<?php echo nl2br( $record->getField('email', 0))?>

Mail CC

<?php echo nl2br( $record->getField('mail_cc', 0))?>

Telefoon

<?php echo nl2br( $record->getField('tel', 0))?>

Locatie

<?php echo nl2br( $record->getField('locatie', 0))?>

Groep

<?php echo nl2br( $record->getField('Groep', 0))?>

Korte omschrijving

<?php echo nl2br( $record->getField('korte omschrijving', 0))?>

Uitgebreide omschrijving

<?php echo nl2br( $record->getField('omschrijving', 0))?>

Oplossing 1

<?php echo nl2br( $record->getField('oplossing_1', 0))?>

Oplossing 2

<?php echo nl2br( $record->getField('oplossing_2', 0))?>

 




Indien u nog vragen/opmerkingen/verbeteringen voor deze site heeft kunt u deze mailen naar Remy Vermeulen







Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...