Beste mensen,


Ik ben een app aan 't ontwikkelen. Deze app moet gegevens kunnen versturen naar een e-mail adres. Volgens mijn opzoekingen moet dit gebeuren via een PHP formulier. Ik heb dit PHP formulier reeds aangemaakt, maar nu moet het nog "geïntegreerd" worden in mijn webruimte (zo heb ik het geïnterpreteerd) zodoende dat dit kan werken in de applicatie waarmee ik een app ontwikkel.

Ik hoop dat mijn uitleg een beetje duidelijk is voor jullie, voor mij persoonlijk is dit nogal een "moeilijke" opgave.


Ik kijk uit naar jullie oplossingen en raad.


Alvast bedankt


Evelien - een beginnende ontwikkelaar
Even voor de duidelijkheid.
Je hebt het over een app voor de smartphone/tablet? Of bedoel je een website?
Beste,


Ik maak een app in Mobincube, geschikt voor smartphones en tablets.


Dank voor de snelle reactie.
Zo te zien is Mobincube een click-and-drop tool om een app te bouwen. Ik denk dat die ook ondersteuning bieden voor een contactformulier.

Ik zie niet echt in waarom je juist PHP wilt inzetten?
>> Ik ben een app aan 't ontwikkelen. Deze app moet gegevens kunnen versturen naar een e-mail adres. Volgens mijn opzoekingen moet dit gebeuren via een PHP formulier.

Nee niets moet. PHP kan op ieder gewenst moment een email versturen, zoals bijvoorbeeld een mailtje naar een administrator als er een nieuw account is aangemaakt op een website of zoals op deze website waar iedere gebruiker kan instellen wanneer hij een mailtje wil ontvangen, bijvoorbeeld als er nieuw bericht wordt geplaatst in een topic.

Veelal is het wel indirect een gevolg van een bepaald formuliertje maar dat hoeft niet perse.

In ieder geval zal jouw app een verzoek (request) moeten versturen naar jouw webserver die dan op zijn beurt weer een antwoord terug stuurt. PHP komt om de hoek kijken tussen het ontvangen en het terugsturen en kan dan bijvoorbeeld een email versturen maar ook aangeleverde data opslaan in bijvoorbeeld een database.

Bij een request kan er data meegestuurd worden naar de webserver. Het meest simpele voorbeeld is bijvoorbeeld in de URL:

https://mijn-webserver.nl/[email protected]&name=John+Doe


In PHP kun je nu de variabelen email = [email protected] en name = John Doe uitlezen en daar dan weer iets mee doen.
Het gaat veel te ver om alles hier uit te leggen maar er is heel erg veel te vinden op internet.

Denk ook goed na over de veiligheid. Zou je data uit het bovenstaande voorbeeld klakkeloos accepteren dan kan de hele wereld iedereen plat-spammen met jouw php scriptje. Dit kan zo erg worden dat je webserver over zijn nek gaat of dat je domeinnaam geblokkeerd wordt.
Dus, even verduidelijken, in de app moet een formulier ingevuld worden door de gebruiker van de app. Dit ingevulde formulier moet mij bereiken via e-mail om nadien de gegevens te kunnen omzetten naar grafieken. Bij het aanmaken van een formulier krijg je de keuze, ofwel verzenden via een SMS (wat mij niet interesseert) ofwel verzenden via een script. Ik wil dus een script maken waardoor het mogelijk is dat de gebruiker van de app het formulier kan invullen en wanneer dit ingevuld is het via e-mail kan verzonden worden naar mij.

Enerzijds heb ik hiervoor dus een script nodig en anderzijds heb ik me laten vertellen dat ik dit via PHP moet oplossen. Helaas ken ik hier niets van, dus vandaar mijn vraagstelling.

Ik hoop dat ik hier wat mee heb kunnen verduidelijken.


Alvast bedankt.
Aller eerst is PHP zeer geschikt om een formulier mee af te handelen. Maar ik heb geen flauw idee wat Mobincube allemaal toelaat, en of die ook een door jouw aangemaakt formulier kan doorsturen naar een serverside (PHP-)script. En dan is het de vraag of het script nog iets moet terug sturen naar jouw app omdat je misschien vast wel een melding terug wilt geven (het is gelukt, het is niet gelukt, je bent wat vergeten.. etc).

Daarom is het verstandig om dat eerst even uit zoeken voordat je ergens op staat te turen wat misschien eigenlijk totaal geen oplossing voor je probleem is.
Mobincube vraagt een PHP-script. Een domeinnaam met e-mail is voorhanden. Het script mag iets terugsturen zoals “bedankt voor uw melding, deze werd goed ontvangen.”

Vooraleer ik dit kan, moet ik dus weten hoe ik dat PHP-script aanmaak, welke link ik daarvoor moet geven en hoe ik dat voor mekaar krijg. Hoe alles moet lopen, dat heb ik allemaal reeds op papier staan.

Dank
Oké, nu zeker is dat Mobincube iets naar een PHP-script kan sturen kan je verder.
De volgende stap is om te achterhalen of je ook PHP-scripts kan draaien. Je zegt nu dat je een domeinnaam met mail voorhanden hebt. Zit daar ook ruimte bij voor een website? Waaronder met SFTP en/of FTP-toegang? Want je moet ergens je PHP-script uiteindelijk ergens neer plaatsen.
Net even deze pagina gelezen en het is precies zoals ik zei.

Neem dit simpele script:

<?php
$to = '[email protected]'; // waar je het mailtje op wilt ontvangen.
$subject = 'test mailtje';
$message = "Volgende gegevens ontvangen:\n\n"

foreach($_GET as $key => $value)
{
$message .= $key . ': ' . $value . "\n";
}

if(mail($to, $subject, $message))
{
echo 'Mail is verstuurd.';
} else {
echo 'Er gaat iets mis.';
}
?>

en sla deze op in een bestand die in ieder geval de .php extensie heeft. Dus noem hem bijvoorbeeld test.php
Upload dit bestand naar je public_html directory van je webserver. En probeer het script te benaderen door in je browser in te typen:

http://mijndomein.nl/test.php?naam=Frank&gender=male


Kijk of je dit werkend krijgt en kom dan weer eens bij ons terug. En natuurlijk ook als je tegen problemen aan loopt :-;

[size=xsmall]Toevoeging op 27/03/2020 16:50:20:[/size]

En: Dit script is onveilig en enkel bedoeld om tijdelijk op de server te plaatsen om te testen en te leren.

[size=xsmall]Toevoeging op 27/03/2020 16:52:54:[/size]

Het kan zijn dat je provider de mail niet verstuurd. Dan zul je hem uiteraard ook niet ontvangen. Het kan ook zijn dat je mail in de spam terecht komt. Laat ons weten wat er (niet) gebeurd. Dat is belangrijk om je te kunnen helpen.
Beste mensen,


Eerst en vooral bedankt voor jullie reacties! Het overnemen van het script en opslaan in PHP file is gelukt. Ik probeerde deze in te voegen in mijn public file van mijn webserver, via het programma FileZilla, en krijg volgende als reactie:

Status: Upload van /Users/eef/Desktop/test.php starten
Status: Mappenlijst van "/public" ophalen...
Status: Listing directory /public
Opdracht: put "/Users/eef/Desktop/test.php" "test.php"
Fout: /public/test.php: open for write: permission denied
Fout: Bestandsoverdracht mislukt
Status: Verbinding met server verbroken

Hierbij loop ik dus reeds op een "foutmelding". Graag jullie verder advies, met veel dank!

Reageren