Hulp nodig bij een bestaand PHP (send mail) op mijn website
Sinds spetember vorig jaar ben ik voor mij zelf begonnen en heb ik om kosten te drukken mijn eigen website gemaakt met een simpel programma. Iemand anders heeft voor mij het PHP gemaakt voor de bestellijst en dat werkt ook.
Helaas kan ik mijn probleem(pje) niet meer aan hem vragen.
Ik wil graag 1 ding veranderen zodat deze voor mij nog beter funtioneerd.
En wel het volgende, het gebeurd nog wel eens dat mijn klanten vergeten hun gegevens in te vullen en krijg ik een leeg mailtje. Ik wil dit graag zo veranderen dat als men vergeet om het emailadres en achternaam in te vullen er een berichtje komt met " u bent vergeten om uw email en achternaam in te vullen".
Hoe moet ik dat doen en waar zet ik dat in het PHP. Jullie snappen het al ik ben totaal niet op de hoogte met de PHP taal en zelfs na veel zoeken en lezen kan ik alleen maar iets veranderen in de huidige situatie.
Is er iemand die mij wil helpen met deze vraag.
Ron
Hieronder staat mijn huidige send PHP file.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php
$email_to = "[email protected]";
$email_from = "[email protected]";
$email_subject = "Bestelling dagmaaltijd(en)";
function failed($error) {
// foutmelding kan hier komen
echo "Het sturen van de mail is helaas mislukt:<br />";
die();
}
$emailadres = $_POST['email'];
$voorletters = $_POST['voorletters'];
$tussenvoegsel = $_POST['tussenvoegsel'];
$achternaam = $_POST['achternaam'];
$adres = $_POST['adres'];
$postcode = $_POST['postcode'];
$telefoonnummer = $_POST['telefoonnummer'];
$maandagMaaltijd = $_POST['MaandagMaaltijd'];
$tijdMaandag = $_POST['TijdMaandag'];
$dinsdagMaaltijd = $_POST['DinsdagMaaltijd'];
$tijdDinsdag = $_POST['TijdDinsdag'];
$woensdagMaaltijd = $_POST['WoensdagMaaltijd'];
$tijdWoensdag = $_POST['TijdWoensdag'];
$donderdagMaaltijd = $_POST['DonderdagMaaltijd'];
$tijdDonderdag = $_POST['TijdDonderdag'];
$vrijdagMaaltijd = $_POST['VrijdagMaaltijd'];
$tijdVrijdag = $_POST['TijdVrijdag'];
$email_message = "Bestellijst week 2 :\n\n";
$email_message .= "email: ".clean_string($emailadres)."\n";
$email_message .= "Voorletters: ".clean_string($voorletters)."\n";
$email_message .= "Tussenvoegsel: ".clean_string($tussenvoegsel)."\n";
$email_message .= "Achternaam: ".clean_string($achternaam)."\n";
$email_message .= "Adres: ".clean_string($adres)."\n";
$email_message .= "Postcode: ".clean_string($postcode)."\n";
$email_message .= "Telefoonnummer: ".clean_string($telefoonnummer)."\n\n";
$email_message .= "Maandag:\n";
$email_message .= "Aantal: ".clean_string($maandagMaaltijd)."\n";
$email_message .= "Tijd: ".clean_string($tijdMaandag)."\n\n";
$email_message .= "Dinsdag:\n";
$email_message .= "Aantal: ".clean_string($dinsdagMaaltijd)."\n";
$email_message .= "Tijd: ".clean_string($tijdDinsdag)."\n\n";
$email_message .= "Woensdag:\n";
$email_message .= "Aantal: ".clean_string($woensdagMaaltijd)."\n";
$email_message .= "Tijd: ".clean_string($tijdWoensdag)."\n\n";
$email_message .= "Donderdag:\n";
$email_message .= "Aantal: ".clean_string($donderdagMaaltijd)."\n";
$email_message .= "Tijd: ".clean_string($tijdDonderdag)."\n\n";
$email_message .= "Vrijdag:\n";
$email_message .= "Aantal: ".clean_string($vrijdagMaaltijd)."\n";
$email_message .= "Tijd: ".clean_string($tijdVrijdag)."\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
// e-mail headers:
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
$email_to = "[email protected]";
$email_from = "[email protected]";
$email_subject = "Bestelling dagmaaltijd(en)";
function failed($error) {
// foutmelding kan hier komen
echo "Het sturen van de mail is helaas mislukt:<br />";
die();
}
$emailadres = $_POST['email'];
$voorletters = $_POST['voorletters'];
$tussenvoegsel = $_POST['tussenvoegsel'];
$achternaam = $_POST['achternaam'];
$adres = $_POST['adres'];
$postcode = $_POST['postcode'];
$telefoonnummer = $_POST['telefoonnummer'];
$maandagMaaltijd = $_POST['MaandagMaaltijd'];
$tijdMaandag = $_POST['TijdMaandag'];
$dinsdagMaaltijd = $_POST['DinsdagMaaltijd'];
$tijdDinsdag = $_POST['TijdDinsdag'];
$woensdagMaaltijd = $_POST['WoensdagMaaltijd'];
$tijdWoensdag = $_POST['TijdWoensdag'];
$donderdagMaaltijd = $_POST['DonderdagMaaltijd'];
$tijdDonderdag = $_POST['TijdDonderdag'];
$vrijdagMaaltijd = $_POST['VrijdagMaaltijd'];
$tijdVrijdag = $_POST['TijdVrijdag'];
$email_message = "Bestellijst week 2 :\n\n";
$email_message .= "email: ".clean_string($emailadres)."\n";
$email_message .= "Voorletters: ".clean_string($voorletters)."\n";
$email_message .= "Tussenvoegsel: ".clean_string($tussenvoegsel)."\n";
$email_message .= "Achternaam: ".clean_string($achternaam)."\n";
$email_message .= "Adres: ".clean_string($adres)."\n";
$email_message .= "Postcode: ".clean_string($postcode)."\n";
$email_message .= "Telefoonnummer: ".clean_string($telefoonnummer)."\n\n";
$email_message .= "Maandag:\n";
$email_message .= "Aantal: ".clean_string($maandagMaaltijd)."\n";
$email_message .= "Tijd: ".clean_string($tijdMaandag)."\n\n";
$email_message .= "Dinsdag:\n";
$email_message .= "Aantal: ".clean_string($dinsdagMaaltijd)."\n";
$email_message .= "Tijd: ".clean_string($tijdDinsdag)."\n\n";
$email_message .= "Woensdag:\n";
$email_message .= "Aantal: ".clean_string($woensdagMaaltijd)."\n";
$email_message .= "Tijd: ".clean_string($tijdWoensdag)."\n\n";
$email_message .= "Donderdag:\n";
$email_message .= "Aantal: ".clean_string($donderdagMaaltijd)."\n";
$email_message .= "Tijd: ".clean_string($tijdDonderdag)."\n\n";
$email_message .= "Vrijdag:\n";
$email_message .= "Aantal: ".clean_string($vrijdagMaaltijd)."\n";
$email_message .= "Tijd: ".clean_string($tijdVrijdag)."\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
// e-mail headers:
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
<p>Hartelijk dank voor uw bestelling! <br><br> U krijgt van ons altijd een bevestiging van uw bestelde dagmaaltijd(en).</p>
E-mailadres uit voorzorg verwijderd.[/modedit]
Gewijzigd op 04/01/2015 21:21:52 door Bas IJzelendoorn
Pas wanneer alles goed is ga je de email versturen.
https://www.youtube.com/watch?v=g_r4a-DXA7c
http://www.phphulp.nl/php/forum/topic/php-script-voor-contactformulier/96617/1/
Gewijzigd op 04/01/2015 16:22:59 door Frank Nietbelangrijk
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
// trim() gebruiken we om spaties te strippen
if( trim($_POST['voorletters'])=="" || trim($_POST['achternaam'])=="" || trim($_POST['email'])=="") {
echo "De voorletters, achternaam of e-mailadres is niet ingevuld. Controleer je invoer opnieuw.";
} else {
// alles is goed ingevuld, de boel kan gemaild worden
}
}
?>
if($_SERVER['REQUEST_METHOD']=="POST") {
// trim() gebruiken we om spaties te strippen
if( trim($_POST['voorletters'])=="" || trim($_POST['achternaam'])=="" || trim($_POST['email'])=="") {
echo "De voorletters, achternaam of e-mailadres is niet ingevuld. Controleer je invoer opnieuw.";
} else {
// alles is goed ingevuld, de boel kan gemaild worden
}
}
?>
Gewijzigd op 04/01/2015 16:22:17 door - Ariën -
zie hier:
<FORM METHOD="post" ACTION="send_mail.php">
<!-- mailto:[email protected]?SUBJECT=Bestelling dagmaaltijd(en) wk 36 -->
Misschien een domme vraag maar moet ik nu alles wat je hebt geschreven copieren en plakken op regel 2 t/m 10
En voor de rest kan je de rest van de code op lijn 7 van mijn code-blokje plaatsen (zie gele commentaarlijn)
Gewijzigd op 04/01/2015 17:03:06 door - Ariën -
Lukraak kopiëren en plakken dat gaat niet werken. PHP is iets dat je moet leren. Ik denk (ik haal dat uit je vraagstelling) dat je op dit moment een keus moet maken: Zelf wat over PHP gaan leren of uitbesteden.
Voor een kleine beloning vind je zeker iemand op dit board die het voor je wil aanpassen..
Backup gemaakt van huidige map want je weet maar nooit.
Laat het je weten of het werkt.
Ron
Toevoeging op 04/01/2015 18:49:13:
Hallo Aar
Heb het in het PHP bestand gezet en kom er achter dat de if functie wel werkt maar blijft het versturen.
De else functie doet het niet nadat ik alles hebt ingevuld. Zelfs niet nadat ik de // hebt weggehaald.
if($_SERVER['REQUEST_METHOD']=="POST") {
// trim() gebruiken we om spaties te strippen
if( trim($_POST['voorletters'])=="" || trim($_POST['achternaam'])=="" || trim($_POST['email'])=="") {
echo "De voorletters, achternaam of e-mailadres is niet ingevuld. Controleer je invoer opnieuw.";
} else {
// "Hartelijk dank voor uw bestelling!" "\n"
// "U krijgt van ons altijd een bevestiging van uw bestelde dagmaaltijd(en)."
}
}function failed($error) {
// foutmelding kan hier komen
echo "Het sturen van de mail is helaas mislukt:<br />";
die();
Wat zie je nu precies?
Dit is wat ik krijg te zien als ik niets invul.
vervolg naar een blad en geeft de volgende tekst weer.
De voorletters, achternaam of e-mailadres is niet ingevuld. Controleer je invoer opnieuw.
Hartelijk dank voor uw bestelling!
U krijgt van ons .................
Hij ziet dus wel de if functie maar niet de else maar geeft wel weer de tekst aan na ?>
Dit is wat ik zie als ik alles invul.
vervolgd naar een nieuw blad maar is totaalblanco.
Leuke van dit alles is dat het wel bij mij in mail aan komt maar maar niet ingevuld
Hoop dat je het snapt wat ik heb geschreven.
Heb je een voorbeeld die ik kan uittesten?
Er is niks te doen in de else.
- SanThe - op 04/01/2015 21:29:10:
Er is niks te doen in de else.
Ron Deelen op 04/01/2015 17:24:01:
De else functie doet het niet nadat ik alles hebt ingevuld. Zelfs niet nadat ik de // hebt weggehaald.
Heb je die // al weggehaald dan?
Weet allen nog niet hoe ik dit op het forum moet krijgen.
Denk ook dat het waarschijnlijk te groot is.
Toevoeging op 04/01/2015 21:56:14:
Aar als je nu naar dit adres gaat kan je zie wat het doet.
http://www.degard.nl/dagmaaltijden/Bestellijst_w36.html
volgende blad is
http://www.degard.nl/dagmaaltijden//Bestellijst_w36_files/send_mail.php
De code klopt niet, de if-statements moeten ergens niet goed gaan.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
$email_to = "[email protected]";
$email_from = "[email protected]";
$email_subject = "Bestelling dagmaaltijd(en) week 2";
if($_SERVER['REQUEST_METHOD']=="POST") {
// trim() gebruiken we om spaties te strippen
if( trim($_POST['voorletters'])=="" || trim($_POST['achternaam'])=="" || trim($_POST['email'])=="") {
echo "De voorletters, achternaam of e-mailadres is niet ingevuld. Controleer je invoer opnieuw.";
} else {
// alles is goed ingevuld, de boel kan gemaild worden
}
}
$emailadres = $_POST['email'];
$voorletters = $_POST['voorletters'];
$tussenvoegsel = $_POST['tussenvoegsel'];
$achternaam = $_POST['achternaam'];
$adres = $_POST['adres'];
$postcode = $_POST['postcode'];
$telefoonnummer = $_POST['telefoonnummer'];
$maandagMaaltijd = $_POST['MaandagMaaltijd'];
$tijdMaandag = $_POST['TijdMaandag'];
$dinsdagMaaltijd = $_POST['DinsdagMaaltijd'];
$tijdDinsdag = $_POST['TijdDinsdag'];
$woensdagMaaltijd = $_POST['WoensdagMaaltijd'];
$tijdWoensdag = $_POST['TijdWoensdag'];
$donderdagMaaltijd = $_POST['DonderdagMaaltijd'];
$tijdDonderdag = $_POST['TijdDonderdag'];
$vrijdagMaaltijd = $_POST['VrijdagMaaltijd'];
$tijdVrijdag = $_POST['TijdVrijdag'];
$email_message = "Bestellijst week 2 :\n\n";
$email_message .= "email: ".clean_string($emailadres)."\n";
$email_message .= "Voorletters: ".clean_string($voorletters)."\n";
$email_message .= "Tussenvoegsel: ".clean_string($tussenvoegsel)."\n";
$email_message .= "Achternaam: ".clean_string($achternaam)."\n";
$email_message .= "Adres: ".clean_string($adres)."\n";
$email_message .= "Postcode: ".clean_string($postcode)."\n";
$email_message .= "Telefoonnummer: ".clean_string($telefoonnummer)."\n\n";
$email_message .= "Maandag:\n";
$email_message .= "Aantal: ".clean_string($maandagMaaltijd)."\n";
$email_message .= "Tijd: ".clean_string($tijdMaandag)."\n\n";
$email_message .= "Dinsdag:\n";
$email_message .= "Aantal: ".clean_string($dinsdagMaaltijd)."\n";
$email_message .= "Tijd: ".clean_string($tijdDinsdag)."\n\n";
$email_message .= "Woensdag:\n";
$email_message .= "Aantal: ".clean_string($woensdagMaaltijd)."\n";
$email_message .= "Tijd: ".clean_string($tijdWoensdag)."\n\n";
$email_message .= "Donderdag:\n";
$email_message .= "Aantal: ".clean_string($donderdagMaaltijd)."\n";
$email_message .= "Tijd: ".clean_string($tijdDonderdag)."\n\n";
$email_message .= "Vrijdag:\n";
$email_message .= "Aantal: ".clean_string($vrijdagMaaltijd)."\n";
$email_message .= "Tijd: ".clean_string($tijdVrijdag)."\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
// e-mail headers:
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
$email_to = "[email protected]";
$email_from = "[email protected]";
$email_subject = "Bestelling dagmaaltijd(en) week 2";
if($_SERVER['REQUEST_METHOD']=="POST") {
// trim() gebruiken we om spaties te strippen
if( trim($_POST['voorletters'])=="" || trim($_POST['achternaam'])=="" || trim($_POST['email'])=="") {
echo "De voorletters, achternaam of e-mailadres is niet ingevuld. Controleer je invoer opnieuw.";
} else {
// alles is goed ingevuld, de boel kan gemaild worden
}
}
$emailadres = $_POST['email'];
$voorletters = $_POST['voorletters'];
$tussenvoegsel = $_POST['tussenvoegsel'];
$achternaam = $_POST['achternaam'];
$adres = $_POST['adres'];
$postcode = $_POST['postcode'];
$telefoonnummer = $_POST['telefoonnummer'];
$maandagMaaltijd = $_POST['MaandagMaaltijd'];
$tijdMaandag = $_POST['TijdMaandag'];
$dinsdagMaaltijd = $_POST['DinsdagMaaltijd'];
$tijdDinsdag = $_POST['TijdDinsdag'];
$woensdagMaaltijd = $_POST['WoensdagMaaltijd'];
$tijdWoensdag = $_POST['TijdWoensdag'];
$donderdagMaaltijd = $_POST['DonderdagMaaltijd'];
$tijdDonderdag = $_POST['TijdDonderdag'];
$vrijdagMaaltijd = $_POST['VrijdagMaaltijd'];
$tijdVrijdag = $_POST['TijdVrijdag'];
$email_message = "Bestellijst week 2 :\n\n";
$email_message .= "email: ".clean_string($emailadres)."\n";
$email_message .= "Voorletters: ".clean_string($voorletters)."\n";
$email_message .= "Tussenvoegsel: ".clean_string($tussenvoegsel)."\n";
$email_message .= "Achternaam: ".clean_string($achternaam)."\n";
$email_message .= "Adres: ".clean_string($adres)."\n";
$email_message .= "Postcode: ".clean_string($postcode)."\n";
$email_message .= "Telefoonnummer: ".clean_string($telefoonnummer)."\n\n";
$email_message .= "Maandag:\n";
$email_message .= "Aantal: ".clean_string($maandagMaaltijd)."\n";
$email_message .= "Tijd: ".clean_string($tijdMaandag)."\n\n";
$email_message .= "Dinsdag:\n";
$email_message .= "Aantal: ".clean_string($dinsdagMaaltijd)."\n";
$email_message .= "Tijd: ".clean_string($tijdDinsdag)."\n\n";
$email_message .= "Woensdag:\n";
$email_message .= "Aantal: ".clean_string($woensdagMaaltijd)."\n";
$email_message .= "Tijd: ".clean_string($tijdWoensdag)."\n\n";
$email_message .= "Donderdag:\n";
$email_message .= "Aantal: ".clean_string($donderdagMaaltijd)."\n";
$email_message .= "Tijd: ".clean_string($tijdDonderdag)."\n\n";
$email_message .= "Vrijdag:\n";
$email_message .= "Aantal: ".clean_string($vrijdagMaaltijd)."\n";
$email_message .= "Tijd: ".clean_string($tijdVrijdag)."\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
// e-mail headers:
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
<p>Hartelijk dank voor uw bestelling! <br><br> U krijgt van ons altijd een bevestiging van uw bestelde dagmaaltijd(en).</p>
En was jij dit:
email: eertert
Voorletters: ert
Tussenvoegsel: ert
Achternaam: ertert
Adres:
Postcode:
Telefoonnummer:
- SanThe - op 04/01/2015 21:29:10:
Er is niks te doen in de else.
Ook als je kijkt naar de statement op lijn 7 - 15 dan zie je dat daar alle uitgevoerd wordt als je formulier verstuurd is (via POST), echter daarna wordt de mail samengesteld en verzonden, dus dat klopt ook niet.
Je zult alle afhandeling op die plek van dat gele commentaar-regeltje moeten plaatsen.
Gewijzigd op 04/01/2015 22:19:01 door - Ariën -
Je verstuurd eerst de mail en daarna gaat tie pas bedenken wat tie had moeten doen.
Wat betreft dat gele regeltje, ik bedgrijp dat er wat moet komen te staan maar wat, is voor mij nu een ????
Ga het ook niet proberen gezien de hele file werkt en ik niet kundig genoeg ben omdat te doen.
Dus bij deze wil ik je bedanken voor de genomen tijd en antwoorden.
Ik ga eerst geld sparen om mijn site te provesionaliseren maar tot die tijd doe ik maar met wat ik heb met zijn makkementjes.
met culinaire groeten,
Ron
Niet rottig bedoeld, maar is het niet handig om eerst basis-ervaring in PHP op te doen, of om het voortaan te laten uitbesteden?
Je kan wel gokken en proberen, maar je zult toch echt moeten weten wat je allemaal doet. Je hebt bovendien mazzel dat er een simpele veiligheidscheck in zit, maar als je een fout script had gevonden had je de kans gekregen dat het misbruikt zou worden door spammers, met gevolgen dat je provider je site op zwart had kunnen zetten bijvoorbeeld.
Gewijzigd op 04/01/2015 23:19:53 door - Ariën -
Ik ben redelijk goed in het programeren van een data base en vind het leuk om dingen te doen op het web.
Zie dus ook bepaalde functie die overeen komen. Helaas begrijp ik niet waarom er meerder programma's zijn en maar 1 web.
Dan moet je weer dit doen in html en dan dat in php of nog erger meerdere andere programma's. Je moet het allemaal maar snappen en begrijpen.
Laat staan als je iets gemaakt hebt in simpel html begrijp I.E. het weer niet moet je weer iets anders maken voor dat (domme) :)) programma.
Nee, mijn bedrijfje is op dit moment vele malen belangrijker dan het hele web.
Dus geen tijd voor een cursus waar ze veel geld voor vragen het is niet mijn priorritijd, verdien er ook mijn geld niet mee.
Soms moet je keuzes maken waar je je geld aan uit geeft en dat is op dit moment niet het web of cursus.
Ik zeg altijd "niet geschoten is altijd mis" vandaar dat ik op forum was.
Webdesign en programmeren is dan ook een vak, en niet iets wat je er zomaar even bij kunt doen. Voor je het weet liggen de gegevens die jij in je database hebt geplaatst op straat. Als er iets mis is met mijn auto, ga ik ook bewust naar een erkend garagebedrijf en niet zelf aan de slag. Veel mensen vergissen zich in de "zwaarte" van het maken van een website. Genoeg leden hier op het forum hebben reeds jarenlange ervaring en leren nog steeds dingen bij.