[oop] Simpel Contact Formulier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Applicatiebeheerder/ Ontwikkelaar

Dit ga je doen - Verantwoordelijkheid dragen voor het complexe applicatielandschap; - Schakelen met eindgebruikers en leveranciers; - Verdeling in werkzaamheden tussen dagelijks beheer ontwikkelen; - Het analyseren van de behoeften van gebruikers en het vertalen hiervan naar functionele specificaties voor de applicaties; - Actief bijdragen aan het leveren van passende oplossingen voor het applicatielandschap. Hier ga je werken Deze organisatie, gevestigd in de regio van Amsterdam is een van de meest toonaangevende mediaorganisaties in Nederland. Door de organisatiecultuur krijg jij veel ruimte om initiatief te nemen en zelfstandig aan het werk te gaan. Samen met het IT team zorg

Bekijk vacature »

Randstad - Freelance Backend Developer/ Data Engin

Starting date: 10.05.2023 Salary range: €67,00 - €77,00 Duration: 6 months Hours: 40 Working model: Hybrid* MUST be NL based Job description: Our vision is to have a consistent and data driven experience for all sales across all our operating companies. Our mission is to enable our salespeople to be able to reach out to the right company at the right time. We do this by creating data driven micro services and solutions. We mainly focus on implementation in the Google Cloud but also integrate with local systems and other cloud solutions. A typical day: As a back-end developer you

Bekijk vacature »

Senior Fullstack Developer (GOLang, TypeScript)

Bedrijfsomschrijving Our client is one of the large worldwide accounting firms. Functieomschrijving We are looking for a senior (all-round) developer (Project On Demand / Tax Technology) Uses as much as possible technology in support of the development process: Git, Jenkins, Docker, npm, skaffold, helm, etc. We are looking for a real hands-on developer; ie not a team lead or other managerial-style role; Acts with integrity both internally and externally and takes personal responsibility in this respect; Curious about the developments within their field and driven to make a difference with the team; Able to empathize with colleagues and stakeholders and

Bekijk vacature »

Medior PHP developer

Functie Het team bestaat inmiddels uit zo’n 25 collega’s met specialisten op het gebied van development, data(analyse), marketing, infrastructuur en finance. Ze hebben een supermodern pand en bieden hiernaast veel vrijheid en verantwoordelijkheid. Ze doen er alles aan om jou op te gemak te stellen. Zo kun je je eigen werkplek inrichten naar persoonlijke wensen, maar gaan ze bijvoorbeeld ook jaarlijks met elkaar wintersporten en zijn er andere leuke uitjes. Als onderdeel van één van de scrumteams ga je aan de slag, samen ben je medeverantwoordelijk voor het doorontwikkelen van hun business applicatie waar het traffic team dagelijks mee werkt.

Bekijk vacature »

Low Code Developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en ben jij HBO afgestudeerd in de richting van IT? Heb jij verstand van datamodellering, NO CODE Platformen en kun jij het aan om projecten te leiden? Voor een leuke opdrachtgever in omgeving Rotterdam zijn wij op zoek naar een No Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten in heel het land! Wat ga je hier zoal doen? Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform, je kunt denken aan

Bekijk vacature »

C# .NET Developer IoT SQL Server

Samengevat: Wij ontwikkelen innovatieve oplossingen om apparaten en bezittingen op een eenvoudige en flexibele manier te beveiligen. Ben jij een C# .NET developer? Heb jij ervaring met C# en SQL server? Vaste baan: C# .NET Developer IoT HBO €3.200 - €4.500 Deze werkgever is gespecialiseerd in hoogwaardige GSM/GPRS alarm- en telemetrietechnologie. Met een eigen productlijn en klantspecifieke ontwikkelingen biedt deze werkgever oplossingen om op afstand te meten, melden, loggen en aansturen, ook op plaatsen zonder stroomvoorziening. Onze producten worden gekarakteriseerd door flexibiliteit in de configuratie, betrouwbaarheid en een extreem laag stroomverbruik. Zij werken voor MKB klanten. Deze werkgever heeft veel

Bekijk vacature »

Senior Java developer

Dit ga je doen Jouw taken als Senior Java Developer zijn: Het maken van strategische keuzes omtrent de nieuwbouw van applicaties; Het maken van technische ontwerpen; Hands-on mee ontwikkelen met het team (met o.a. Java FX, JDBC, SQL, REST, Jax-RS, JSON, Maven, JUnit en Spring (boot)); Reviewen van code en feedback geven op collega developers; Analyseren en oplossen van bugs/incidenten door het onderlinge verband te kunnen leggen van verschillende losstaande systemen. Hier ga je werken Het bedrijf waar je als Senior Java Developer komt te werken staat internationaal bekend om het testen van bodemstructuren door middel van echotechnieken en beeldherkenning.

Bekijk vacature »

Trainee pega developer

Wil jij een mooie stap maken in jouw carrière? Mooi! Bij De Mandemakers Groep haal je binnen 6 maanden je CSA- en CSSA-certificaten, waarna jij aan de slag kan als Pega-developer in ons IT-team. Achter de schermen zorg jij ervoor dat collega’s efficiënt werken en klanten iedere dag beter geholpen worden. Wil jij daaraan bijdragen? En jouw ICT-skills ontwikkelen? Lees dan snel verder en solliciteer vandaag nog als trainee Pega-developer. Wat ga je doen? Als trainee Pega developer leiden wij je op tot gecertificeerd software developer voor het low-code platform PegaSystems. In de training ben je verantwoordelijk voor een te

Bekijk vacature »

C# .NET Developer

Dit ga je doen Je richt je op het doorontwikkelen en herstructureren van het platform; Je werkt in teamverband en zelfstandig aan uitdagende projecten voor verschillende klanten; Softwareontwikkeling middels C# .NET; Je staat in contact met verschillende opdrachtgevers om de klantwensen te bespreken en deze vervolgens te ontwikkelen; Verbeteren van bedrijfsprocessen; Implementaties. Hier ga je werken Als .NET Developer kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar start jij een team met 12 programmeurs. Jullie zijn verantwoordelijk voor het huidige platform van deze organisatie. Als team werken jullie in tweewekelijkse sprints en starten jullie iedere dag met een stand-up. Jij werkt samen met jouw team aan het uitbreiden van het huidige platform door middel van nieuwe features. Daarnaast zorg jij er samen met jouw team voor dat het platform veilig is en gebruiken jullie de nieuwste technieken om deze veiligheid te waarborgen. Zo maken jullie gebruik van C# .NET, .NET Core, React, Azure, Kubernetes, ASP.NET, MVC. Jij gaat aan het werk in

Bekijk vacature »

Lead developer

Functie Als Lead developer wordt jij onderdeel van een multidisciplinair team van circa 23 software engineers. Als team werken jullie agile en zijn termen als Continuous Integration en Continuous Delivery dagelijkse koek. Jullie werken aan uitdagende en afwisselende projecten met als doel klanten een totaal oplossing aan te kunnen bieden. Jij wordt verantwoordelijk voor complete projecten waarbij jij als verantwoordelijke zorgt dat het project op de juiste manier blijft draaien. Zo haal jij ook de requirements op bij de klant en kijk jij samen met het team en met de salesafdeling hoeveel uren hiervoor nodig zijn. Daarnaast stuur jij jouw

Bekijk vacature »

Scrum Master

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Scrum master op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je begeleidt twee teams binnen de afdeling Platform Services (PLS). Je helpt mee de devops manier van werken van de teams verder door te ontwikkelen. Je helpt de PO bij het managen van de product backlog; het voorbereiden van

Bekijk vacature »

Productontwikkelaar Food

Wat ga je doen Als Productontwikkelaar Food ga je nieuwe producten ontwikkelen en bestaande producten verbeteren. Je bent hierbij betrokken bij het gehele proces: van productconcept naar proefreceptuur, het realiseren va het product (op kleine schaal) en het testen van producten in een productieomgeving. Verder: Bewaak je de status van verschillende fases van productontwikkeling en lever je tijdig de benodigde data aan Ben je bezig met de optimalisatie van oude en nieuwe recepturen Begeleid of organiseer je proefsessies (sensorisch onderzoek) in het team en/of bij klanten Onderhoud je contacten met de klanten, leveranciers van grondstoffen e.a. externe partijen Houd je

Bekijk vacature »

IT Infrastructuur Developer

IT Infrastructuur Developer Ben jij (bijna) klaar met je HBO studie in de richting van IT? Opzoek naar een spannende eerste baan, waar je ontzettend veel kan leren? Dan hebben wij de ultieme job voor jou! Voor een goede klant van ons in de financiële dienstverlening zijn wij opzoek naar een Junior Infrastructure Developer. Deze baan is een mooie kans om een sterke start te geven aan jouw carrière binnen de IT! De job Je werkt nauw samen met het Devops team, en zal je voornamelijk bezighouden met het automatiseren van infrastructure componenten. De componenten worden opgevraagd door het DevOps

Bekijk vacature »

Medior .NET developer

Functie Jij gaat als Medior .NET ontwikkelaar aan de slag in ons scrumteam met 6 developers die gepassioneerd en actief bezig zijn om onze spelers kwalitatieve en mooie spelervaringen aan te bieden. Als medior .NET developer ga jij werken aan een technisch hoogwaardig platform welke bezoekerspieken verwerkt van tienduizenden tot honderdduizenden gebruikers per minuut! Ons scrumteam werkt in drie wekelijkse sprints en wij beginnen iedere ochtend met een stand-up. Jij werkt bij ons met C# .NET, .NET Core, React.JS, Xamarin, Azure, Docker en Kubernetes. Wij hechten enorm veel waarde aan het leveren van hoogwaardige en kwalitatieve code. Zodra jij de

Bekijk vacature »
Ron Brouwers

Ron Brouwers

17/03/2014 08:14:59
Quote Anchor link
Goedemorgen,

Ik ben al jaren actief als "amateur programmeur" met voornamelijk PHP, gewoon omdat ik het leuk vind. Nu ben ik begonnen met het aanleren van OOP, en heb al iets gemaakt, puur om te leren. Nu zou ik graag jullie mening willen weten over onderstaande. Ik denk namelijk dat het niet geheel juist is wat ik gedaan heb. Zie eerst onderstaande code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
require 'contact.class.php';
?>


<form action="" method="post">

<?php
if (isset($_POST["submit"])) {

$sendMail         = new gw2Mail();

$sendMail->senderName     = $_POST['senderName'];
$sendMail->senderEmail     = $_POST['senderEmail'];
$sendMail->recipient     = $_POST['recipient'];
$sendMail->copy     = $_POST['copy'];
$sendMail->subject     = $_POST['subject'];
$sendMail->message     = $_POST['message'];

$sendMail->sendMail();

}

?>


<table class='ipb_table ipsMemberList'>

    <tr class='header' colspan='4'>
        <th scope='col' colspan='5'>Send E-mail</th>
    </tr>

    <tr class='row1'>
        <td style='width: 50%'><strong>From:</strong><br />Enter the sender's name in this field.</td>
        <td><input type="text" class="input_text" name="senderName" id="senderName" value="<?php if (isset($_POST['senderName'])) { echo $_POST['senderName']; } ?>" size="50" maxlength="125" /></td>
    </tr>

    <tr class='row2'>
        <td style='width: 50%'><strong>From E-mail:</strong><br />Enter the sender's e-mail address in this field.</td>
        <td><input type="text" class="input_text" name="senderEmail" id="senderEmail" value="<?php if (isset($_POST['senderEmail'])) { echo $_POST['senderEmail']; } ?>" size="50" maxlength="125" /></td>
    </tr>

    <tr class='row1'>
        <td style='width: 50%'><strong>Recipient:</strong><br />Enter the recipient's e-mail address in this field.</td>
        <td><input type="text" class="input_text" name="recipient" id="recipient" value="<?php if (isset($_POST['recipient'])) { echo $_POST['recipient']; } ?>" size="50" maxlength="125" /></td>
    </tr>

    <tr class='row2'>
        <td style='width: 50%'><strong>Carbon Copy:</strong><br />Send a copy to someone else? Enter another e-mail address here. Leave blank for no copy.</td>
        <td><input type="text" class="input_text" name="copy" id="copy" value="<?php if (isset($_POST['copy'])) { echo $_POST['copy']; } ?>" size="50" maxlength="125" /></td>
    </tr>

    <tr class='row1'>
        <td style='width: 50%'><strong>Subject:</strong><br />Enter a subject in this field.</td>
        <td><input type="text" class="input_text" name="subject" id="subject" value="<?php if (isset($_POST['subject'])) { echo $_POST['subject']; } ?>" size="50" maxlength="50" /></td>
    </tr>

    <tr class='row2'>
        <td colspan='2' style='width: 100%'><textarea style="height: 250px; width: 99%;" name="message" id="message" cols="30" rows="14" virtual wrap="on"><?php if (isset($_POST['message'])) { echo $_POST['message']; } ?></textarea></td>
    </tr>

</table>

<input type="submit" name="submit" value="Submit" tabindex="50" class="input_submit" accesskey="s" />

</form>


contact.class.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
69
70
71
72
73
74
75
76
77
<?php

class gw2Mail {

    var
$senderName;
    var
$senderEmail;
    var
$recipient;
    var
$copy;
    var
$subject;
    var
$message;
    var
$bcc;

    public function sendMail()
    {

            if ($this->senderName != "") {
                $this->senderName = filter_var($this->senderName, FILTER_SANITIZE_STRING);
                if ($this->senderName == "") {
                    $errors .= '- Please enter a valid name!';
                }
            }
else {
                $errors .= '- You forgot to enter a name!<br />';
            }


            if ($this->senderEmail != "") {
                $this->senderEmail = filter_var($this->senderEmail, FILTER_SANITIZE_STRING);
                if ($this->senderEmail == "") {
                    $errors .= '- Please enter a valid Email!';
                }
            }
else {
                $errors .= '- You forgot to enter an email!<br />';
            }


            if ($this->recipient != "") {
                $this->recipient = filter_var($this->recipient, FILTER_SANITIZE_STRING);
                if ($this->recipient == "") {
                    $errors .= '- Please enter a valid recipient email!';
                }
            }
else {
                $errors .= '- You forgot to enter a recipient email!<br />';
            }


            if ($this->subject != "") {
                $this->subject = filter_var($this->subject, FILTER_SANITIZE_STRING);
                if ($this->subject == "") {
                    $errors .= '- Please enter a valid subject!';
                }
            }
else {
                $errors .= '- You forgot to enter a subject!<br />';
            }


            if ($this->message != "") {
                $this->message = filter_var($this->message, FILTER_SANITIZE_STRING);
                if ($this->message == "") {
                    $errors .= '- Please enter a valid message!';
                }
            }
else {
                $errors .= '- You forgot to enter a message!<br />';
            }


            if (!$errors) {

            $this->bcc="";

            $headers = "From: $this->senderName <$this->senderEmail>";
            $headers .= "\r\nCc: $this->copy";
            $headers .= "\r\nBcc: $this->bcc\r\n\r\n";

            $send_contact=mail("$this->recipient","$this->subject","$this->message","$headers");

            }
else {
            echo '<p class=\'message error\'>';
            echo '<font color="#FFFFFF">' . $errors . '</font>';
            echo '</p><br />';
            }
    }
    }

?>


Het gaat me even over twee dingen. De form validation, kun je dat het beste in de class zelf zetten of juist daarbuiten, en waarom? Of is dat gewoon "smaak"?

En ten tweede, zaken zoals onderstaande:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
            } else {
            echo '<p class=\'message error\'>';
            echo '<font color="#FFFFFF">' . $errors . '</font>';
            echo '</p><br />';
            }


Zet je dat ook in je class? Dat is namelijk een stukje styling voor de website. Ik denk niet dat ik dit zo goed doe.

Tips over bovenstaande zijn welkom! Alvast bedankt!
 
PHP hulp

PHP hulp

16/02/2025 14:57:20
 
D Vivendi

D Vivendi

17/03/2014 08:55:14
Quote Anchor link
Er klopt heel veel niet aan je code.

Ten eerste mix je PHP code in je HTML code, wat daar totaal niet thuis hoort.

Ten tweede mix je HTML code in je PHP code, wat daar ook absoluut niet thuis hoort.

Je mail class gebruikt het var keyword. Iets wat al jaren niet meer wordt gebruikt. Dat is iets uit PHP4. Raar dat je daar geen warning over hebt gekregen. Waarschijnljk staan je display_errors uit. Ook niet echt handig.

Verder zie ik niet welke form validation je waar wilt hebben. In welke class moet dan volgens jou komen?

Sowieso moet je een class niet meerdere dingen laten doen. Als je een class hebt die een form kan opbouwen, dan stop je je validatie in een andere class. Dat heeft niets met smaak te maken, moor dat is nu eenmaal hoe OO werkt (SOLID principle).

Waarom gebruik je niet een MVC framework zoals Symfony, Laravel oid? Dan word je al meer in een OO richting geduwd dan wanneer je het zelf probeer te doen. Dat gaat je nooit lukken als je er net mee bezig bent.

En waarom gebruik je ook geen mail class zoals DwiftMailer? Die kunnen precies doen wat jij wilt en nog veel meer.
 
Ron Brouwers

Ron Brouwers

17/03/2014 10:01:48
Quote Anchor link
Ik ben niet iets aan het maken wat ik wil gebruiken voor mijn website ofzo, dit is gewoon een voorbeeld iets voor mezelf om te leren, dus bestaande dingen gaan gebruiken heeft geen zin, ik wil zelf programmeren om te leren :)

Bedankt voor je reacties, ik kan er in ieder geval wat mee! :)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.