PHP form (mailscript) invoegen in webruimte om te functioneren binnen app
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
Je hebt het over een app voor de smartphone/tablet? Of bedoel je een website?
Ik maak een app in Mobincube, geschikt voor smartphones en tablets.
Dank voor de snelle reactie.
Ik zie niet echt in waarom je juist PHP wilt inzetten?
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:
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.
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.
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.
Gewijzigd op 27/03/2020 16:13:06 door - Ariën -
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
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.
Gewijzigd op 27/03/2020 16:33:14 door - Ariën -
deze pagina gelezen en het is precies zoals ik zei.
Neem dit simpele script:
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:
Kijk of je dit werkend krijgt en kom dan weer eens bij ons terug. En natuurlijk ook als je tegen problemen aan loopt :-;
Toevoeging op 27/03/2020 16:50:20:
En: Dit script is onveilig en enkel bedoeld om tijdelijk op de server te plaatsen om te testen en te leren.
Toevoeging op 27/03/2020 16:52:54:
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.
Net even Neem dit simpele script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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.';
}
?>
$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:
Kijk of je dit werkend krijgt en kom dan weer eens bij ons terug. En natuurlijk ook als je tegen problemen aan loopt :-;
Toevoeging op 27/03/2020 16:50:20:
En: Dit script is onveilig en enkel bedoeld om tijdelijk op de server te plaatsen om te testen en te leren.
Toevoeging op 27/03/2020 16:52:54:
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.
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!
Welke hosting heb je nu dan? En welk pakket?
Ik vermoed sterk dat je bij jezelf tot hun klantenservice moet wenden om je pakket aan te laten passen.
Gewijzigd op 28/03/2020 16:06:45 door - Ariën -
Mijndomein.nl en ik heb webhosting, domeinnaam en e-mail...
Kan je wel een .html bestand uploaden of een afbeelding?
Gewijzigd op 28/03/2020 16:47:52 door - Ariën -
mijndomein laat PHP toe:
PHP is onderdeel van het pakket 'Webhosting', de PHP-versie is aangepast naar 7.3. De ondersteuning van de verouderde PHP-versies 7.1 en 7.2 zijn komen te vervallen. Het is niet langer mogelijk hiervan gebruik te maken.
Mocht je website na het aanpassen van de PHP-versie;
Een witte pagina tonen zonder inhoud
De melding "De site ondervindt technische problemen. Controleer de admin e-mail inbox van je website voor instructies." tonen (Wordpress)
De melding "Error 500" tonen
Niet alle onderdelen van de website functioneren
Kan u dit nogmaals nakijken voor mij wat dan uiteindelijk toch een probleem zou kunnen vormen?
Dank
Werkt het uploaden van een simpel test.html bestand wel?
En was dat de reactie van de klantenservices?
Gewijzigd op 29/03/2020 17:17:54 door - Ariën -
De klantenservice werkt niet doorheen het weekend en er werd doorverwezen naar de FAQ. Dit was daarop terug te vinden. Ofwel heb ik iets fout gedaan bij het opslaan van het script. Ik kopieer het script naar een word document en sla dit op als een docx. bestand. Daarna verander ik het in .PHP - kan het zijn dat ik hierbij een fout maakte?
Mja je kunt het beter nog eens proberen door het in Kladblok te plakken en op te slaan. Gebruik je windows? zet dan in je mapopties even de optie aan dat je van bekende bestanden ook de extensie wilt zien want dat is nog wel eens een dingetje. Anders krijg je straks een bestand die test.php.txt heet maar windows laat dan die.txt extensie weg wat verwarrend kan werken.
Ik werk met iOS - MacBook.