Omdat ik het ingevulde formulier graag naar een e-mail adres wil laten sturen ben ik weer opzoek gegaan. Via phphulp.nl en PHPwiki heb ik stukjes code gevonden en vervolgens geprobeerd die stukjes script aan de code van w3schools.com toe te voegen. Klopt de code nu nog wel? Wellicht de volgorde?
Ik zie door de bomen het bos niet meer. Kan iemand mij alstublieft helpen?
Bedankt Ariën voor de code om een bezoeker door te sturen naar een bedankt pagina, dat was inderdaad nog een vraag die ik nog wilde stellen.
Nick Vledder, Anti spam en captcha is zeker belangrijk is deze tijd, als deze code werkt ga ik daar zeker naar opzoek. De values voor het geslacht zijn man of vrouw.
Het idee erachter is dat bij een voornaam het soms niet helemaal duidelijk is of het een man of vrouw betreft. Als men een bericht terug schrijft is het wel fijn om die persoon aan te kunnen schrijven met heer, of mevrouw,
Ivo P ik begrijp je reactie. Ik had zelf al gezien dat je bij het invul veld ‘comment’ geen punt mag gebruiken. Wat denk ik heel frustrerend is voor iemand die een bericht probeert te typen. Maar ik weet helaas niet hoe ik dit kan aanpassen.
De website waar deze pagina uiteindelijk opkomt is voorzien van SSL https://. Dat is denk ik altijd wel belangrijk als men formulieren moet kunnen invullen.
Ik mis een false, dit moet wel werken:
<?php
$headers .= ($html) ? 'MIME-Version: 1.0' . "\r\n" : '';
$headers .= ($html) ? 'Content-type: text/html; charset=UTF-8' . "\r\n" : '';
?>
[/code]
In deze code laat je die twee waardes leeg als HTML uit staat. Je hebt dan geen MIME en Content-Type nodig.
maar je code is nog steeds verre van netjes. Om even een eerdere bericht aan te halen uit een ander gelijkwaardig topic:
- Ariën - op 17/01/2018 14:58:24
Persoonlijk zou ik er één script van maken in een enkel bestand. Je wilt immers ook invoer-validatie toevoegen, en het netste is dat je hierbij een melding bij de velden toont die niet of incompleet ingevuld zijn.
Het belangrijkste hierbij is dat je in je script als eerste de PHP-scripting uitvoert, en controleert of er een formulier verstuurd is:
<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
// je formulier is verstuurd!
// valideer eerst je invoer
// Als dit allemaal gepasseerd is, dan verstuur je het formulier via mail
} else {
?>
Hier komt je formulier....
<?php
}
?>
Als ik dit zou veranderen, geen idee hoe en waarom, maar dan zou de laatste foutmelding zijn:
<?php
echo $email;
echo "<br />";
?>
Want mijn HTML editor geeft namelijk precies dezelfde foutmeldingen aan. De regel nummer staat in het rood aangegeven, als je de cursor er boven houdt krijg je die foutmeldingen.
dit veroorzaakt weer een extra foutmelding = syntac error unexpected '?'
Ik zal de desbetreffende pagina gaan doorlezen, dankjewel.
Het blijft lastig omdat ik php niet beheerst. Ik probeer door het script de bekijken de logica ervan in de zien en indien mogelijk een beetje aan te passen, maar zonder het besef te hebben of het een veilig script is of, of de opbouw ervan goed is. Het is heel fijn omdat hier te kunnen vragen aan forum leden die wel weten hoe de vork in de steel zit.
@Anja: heb je mijn bericht wel gelezen? Daar zijn de fouten uit waar je nu last van hebt.
Jazeker, ik heb het PHP script zelfs geprint. En het script aangepast.
Ik zag o.a. dat de echo's onderaan verwijderd waren. Ik wist niet zeker of dat de bedoeling was of dat het per ongeluk niet mee gekopieerd was.
Ik zou misschien eens kijken naar een goede opbouw van het formulier, zoals in het aangehaalde andere topic.
Het kan tevens een mooie beginners-les zijn als je PHP onder de knie wilt krijgen.
[quote="Jan Koehoorn op 17/01/2018 16:23:02"]
@Anja: heb je mijn bericht wel gelezen? Daar zijn de fouten uit waar je nu last van hebt.
Jazeker, ik heb het PHP script zelfs geprint. En het script aangepast.
Ik zag o.a. dat de echo's onderaan verwijderd waren. Ik wist niet zeker of dat de bedoeling was of dat het per ongeluk niet mee gekopieerd was.
[/quote]
In mijn code staat bijvoorbeeld dit:
<?php
// define variables and set to empty values
$naamErr = $plaatsErr = $emailErr = $geslachtErr = $commentErr = "";
$naam = $plaats = $email = $geslacht = $comment = "";
?>
Dit ziet er anders uit dan in jouw laatste post ;-)
edit:
Daar staat namelijk:
<?php
$naamErr = $plaatsErr = $emailErr = $geslachtErr = $commentErr "";
$naam = $plaats = $email = $geslacht = $comment "";
?>
(let op het laatste = teken bij mij)
En er zijn nog meer verschillen, waar ik uit opmaak dat je het niet integraal overgenomen hebt.
Ja, ik zie het.
Ik heb de code naar MS Word gekopieerd en uitgeprint om het vervolgens aan te passen. Door het kopiëren naar Word zijn sommige code tekst verplaatst van positie.
Ik heb het nu gekopieerd naar een php bestand. En zal de code nu opnieuw gaan vergelijken. Dankjewel.