Ik heb een PHP file, met hierin een validatie van het invoerveld onderwerp (in formuier) en nu heb ik er een pull-down list van gemaakt en wil ik graag dat als men geen keuze maakt dat hij dan een validatie melding geeft.
Nu staat er "Kies uw onderwerp..." in de eerste regel en daaronder de onderwerpen, zou het graag zo willen hebben dat wanneer men niets kiest en de regel "Kies uw onderwerp..." laat staan hij dezelfde foutmelding geeft als bij een invoerveld dat leeg is en wel ingevuld moet worden.
Weet iemand hoe ik in onderstaand gedeelte het $onderwerpPattern laat kijken of er het woord "Kies" in voorkomt en zo ja hij dan de foutmelding laat zien zoals hieronder en als men wel een onderwerp kiest (dus als het woord "Kies" er niet in voorkomt) hij gewoon door loopt zonder melding (nu loopt hij gewoon door omdat er standaard iets in onderwerp staat? Ik wil "Kies uw onderwerp..." er graag in laten staan.
/** Validate onderwerp */
$onderwerpPattern = '~^[a-z .\'-]+$~Di';
if ( !isset( $_POST['onderwerp'] ) or !preg_match( $onderwerpPattern, $_POST['onderwerp'] ) )
{
echo "Het onderwerp is niet geldig!<br> \n";
}
Dus graag hetzelfde script, maar dan iets in $onderwerpPattern wat kijkt of het woord "Kies" niet voorkomt.
@obelix en Idefix, heb getracht om zo'n script te downloaden en volgens de beschrijving te installeren, maar dan doet de mail het niet, werk met een NAS van Synology en Roundcube voor de mail, ales komt wel aan, wilde alleen mijn script iets aanpassen met de opmerking in het begin verder niets, alle opties die heb ik geprobeerd en werken niet, helaas.
Toch apart dat er niet een goed script is waar je alleen je mailadres kunt aanpassen en dat deze ook werkt, iedere keer het wiel opnieuw uitvinden, blijkt...?
Maar ik blijf proberen, had ook een mooie FormMail.pl bij vorige provider Hostnet, werkte daar wel in een map CGI, maar als ik deze op mijn server zet in een map CGI doet hij het niet.
Welke van beide scripts (classes) heb je gedownload? Installeren? Een (of meer) bestanden uploaden naar een server. Je zult wel je script wat moeten aanpassen om er gebruik van te kunnen maken. Voorbeelden worden bij beide classes gegeven.
Openstaande vragen:
Hoe ziet je formulier er uit?
Wat geeft de echo?
Heb je de opmerking van SanThe al verwerkt?
Bedenk dat je met copy/paste een heel eind kunt komen, maar dat je zonder kennis (grote) fouten kunt maken. Veel scripts die op internet te vinden zijn werk(t)en, maar veel zijn oud (en bevatten mogelijk gedateerde code) en/of onveilig.
@Obelix, ja ik heb alles geprobeerd ook die van SanThe, maar hij liet de foutmeldingen wel zien, alleen doet de pull-down het niet van het onderwerp, als ik daar een gewoon textveld van maak doet hij het wel, geeft hij de meldingen en stuurt hij het formulier, alleen zegt hij dat je bij bericht minimaal twee tekens moet gebruiken, maar als ik er een in zet doet hij het ook. De echo zegt niets die doet het niet en het script wat het verder zdoet staat in de topic in het begin.
Het formulier maak ik met een website programma builder Web Page Maker en is een kwestie plaatjes, opdrachten invoegen en met muis verplaatsen en knippen en plakken, gebruik ook microsoft expression web om dingen te bekijken en testen, alleen het verzend stuk is PHP.
Wat je op het net vind is inderdaad of oud, zonder beveiliging etc, dus als iemand nog een goed script met uitleg heeft hoor ik het graag, thanks! Gr. Rich
[size=xsmall]Toevoeging op 31/07/2012 22:34:43:[/size]
Heb nog mijn "oude FormMail" gevonden, maar krijg hem niet werkend op mijn NAS.
Als ik hem in een map plaats CGI en ik geeff als opdracht action= /CGI/FormMail.pl dan vraagt hij om het bestand te openen en voert hij niets uit...
@Obelix, ja ik heb alles geprobeerd ook die van SanThe, maar hij liet de foutmeldingen wel zien,
Welke foutmeldingen dan? En heb je die al opgelost?
[quote="Richard van Veen op 31/07/2012 22:25:59"]
alleen doet de pull-down het niet van het onderwerp, als ik daar een gewoon textveld van maak doet hij het wel, geeft hij de meldingen en stuurt hij het formulier, alleen zegt hij dat je bij bericht minimaal twee tekens moet gebruiken, maar als ik er een in zet doet hij het ook. De echo zegt niets die doet het niet en het script wat het verder zdoet staat in de topic in het begin.
Nogmaals: laat de code van het formulier eens zien.
Mogelijk gaat daar al iets fout, als het bij tekstveld wel werkt.
[quote="Richard van Veen op 31/07/2012 22:25:59"]
Het formulier maak ik met een website programma builder Web Page Maker en is een kwestie plaatjes, opdrachten invoegen en met muis verplaatsen en knippen en plakken, gebruik ook microsoft expression web om dingen te bekijken en testen, alleen het verzend stuk is PHP.
Zulke programma's zijn bijna net zo erg als het copy/pasten van scripts van internet.
Met alle respect: je hebt geen idee wat je aan het doen bent, omdat het programma dat, als het goed zou zijn, voor je doet.
Kans is vrij groot dat je hier vaker tegen aan zult lopen. Kan je daarom alleen maar adviseren om zelf te leren scripten. Al zijn het de basic-dingen; je kunt dan in ieder geval zelf gaan debuggen.
Heb nog mijn "oude FormMail" gevonden, maar krijg hem niet werkend op mijn NAS.
Als ik hem in een map plaats CGI en ik geeff als opdracht action= /CGI/FormMail.pl dan vraagt hij om het bestand te openen en voert hij niets uit...
@SanThe, oke bedankt, ben nog aan het stoeien om een goed werkend formulier te krijgen, heb de tijd, zit helaas in de WW, dus ga mijzelf er wel in verdiepen om een veilig script te krijgen, blijkbaar wil niemand een script posten die goed is en toch redelijk simpel voor een beginner, als hij maar veilig is, maar ik ga zoeken, bedankt voor je input. Gr. Richard