[oop] Simpel Contact Formulier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Mobile Developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als Senior Mobile Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel

Bekijk vacature »

Als PHP developer bijdragen aan beter onderwijs?

Functie Momenteel zijn ze op zoek naar een PHP developer die mee gaat werken aan de (door)ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP), Vue.js en

Bekijk vacature »

Ontwikkelaar MS Dynamics 365 Projecten

Samengevat: Deze werkgever is de kwaliteitsdienst in de tuinbouwsector. Ben jij een ervaren ontwikkelaar? Heb jij ervaring met Ms Dynamics 365 BC? Vaste baan: Ontwikkelaar Ms Dynamics 365 BC ICT MBO 3.500 - 5.000 Ontwikkelaar Ms Dynamics 365 BC Ons bedrijf bewaakt en bevordert de kwaliteit van producten, processen en ketens in de tuinbouw. Wij kenmerken zich door openheid, ruimte voor initiatief, collegialiteit en zelfontplooiing. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Functie: Voor de vacature als Ontwikkelaar Ms Dynamics 365 BC Roelofarendsveen MBO

Bekijk vacature »

Junior .NET developer

Functie Wij zijn bezig met het ontwikkelen van een nieuw product en wij hebben jouw hulp hierbij nodig! Als junior .NET ontwikkelaar krijg jij de kans om samen met ons deze nieuwe uitdaging aan te gaan! Momenteel bestaat ons team uit drie interim Software Engineers. Twee hiervan zijn zeer ervaren .NET specialisten die inmiddels hun strepen in dit vakgebied al hebben behaald. Ook hebben wij een junior als onderdeel van ons team die zich op dit moment nog bezig houdt met de Front-end (Angular/TypeScript), maar zich nu ook meer gaat verdiepen in de backend. Wij willen ons team graag verder

Bekijk vacature »

Grafisch vormgever

Standplaats: Maasland Aantal uren: 32 – 40 uur per week Opleidingsniveau: HBO werk- en denkniveau Ben jij een ambitieuze grafisch vormgever met een passie voor creativiteit en oog voor detail? Vind jij het daarnaast leuk om ook marketingactiviteiten op te pakken? Dan zijn wij op zoek naar jou! Bedrijfsinformatie Westacc Group BV is het zusterbedrijf van HABA en specialiseert zich in (maatwerk) oplossingen voor (elektro) techniek en verlichting in de kampeerbranche. Zij produceren en assembleren onderdelen voor caravans, campers en boten. Voor een groot aantal caravan- en campermerken leveren wij producten als zekeringkasten, invoerdozen, acculaders, schakelmateriaal en verlichting. De producten

Bekijk vacature »

SQL Database ontwikkelaar

Functie omschrijving Wil jij meewerken aan het creëren van slimme software om magazijnen als een geoliede machine te laten lopen? Wij zoeken een zorgvuldig persoon, iemand die niet snel de hand omdraait voor complexe algoritmes. Denk jij dat jij de SQL ontwikkelaar bent die wij zoeken? Lees snel verder en wie weet zitten we binnenkort samen aan tafel! Jouw werkzaamheden zullen er als volgt uitzien: Je houdt je bezig met het ontwerpen en ontwikkelen van MS SQL server databases, dit doe je met T-SQL als programmeer laag. Je gaat aan high-end software oplossingen werken, dit doe je voor de optimalisatie

Bekijk vacature »

C++ Ontwikkelaar

Functieomschrijving Ben jij toe aan een nieuwe uitdaging en werk je graag en goed in C++ en C#? Dan zijn we op zoek naar jou! Dit bedrijf is dé specialist op het gebied van automatiseringssoftware voor een specifieke branche en ze zijn per direct op zoek naar versterking in hun development team. Wat jij gaat doen binnen jouw rol als C++ ontwikkelaar; Je vertaalt de wensen van gebruikers naar een functioneel ontwerp. Je houdt je bezig met het ontwerpen, programmeren en testen van product aanpassingen. Je gaat nieuwe product releases implementeren in de projectteams. Je gaat de effecten van nieuwe

Bekijk vacature »

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

Lead Java Developer

Dit ga je doen Je taken bestaan onder andere uit: Het aansturen van een development team bestaande uit 8 collega's op technisch maar ook HR gebied; Het maken van strategische keuzes omtrent de (nieuw)bouw van deze applicatie; Het maken van technische ontwerpen; Hands-on mee ontwikkelen met het team (met o.a. Java, Spring, Angular, REST); Reviewen van code en feedback geven op collega developers. Hier ga je werken Als Lead Software Developer ben je verantwoordelijk voor één van de vier Agile Java ontwikkelteams die bouwen aan technologie die duizenden instanties wereldwijd verbindt. Dit Agile team, data Jira en Confluence gebruikt en

Bekijk vacature »

C# .NET Software Ontwikkelaar

Functie omschrijving Gezocht: Software Developer C# .NET voor een dynamische organisatie! Ben je onlangs afgestudeerd of ben je toe aan de volgende stap in je professionele carrière? Lees dan verder! We zijn momenteel op zoek naar een Software Developer die klaar is voor een nieuwe uitdaging en die onze eindklant in de regio Arnhem kan versterken. In deze functie werk je aan verschillende projecten en bezoek je vaak klanten. Je kunt een rol verwachten met veel uitdaging, diversiteit en verantwoordelijkheid. Bedrijfsprofiel Binnen welke organisatie ga je aan de slag? Je gaat werken bij een organisatie die zich specialiseert in het

Bekijk vacature »

Back-end Programmeur

Functieomschrijving Heb jij kort geleden je HBO ICT in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een ambitieuze werkgever in de regio van Breda zijn wij op zoek naar een Back-end programmeur met affiniteit met C#.NET, SQL en MS Access. Samen met team bestaand uit ware ICT professionals ben je verantwoordelijk voor het bouwen van maatwerk software voor hun klanten. Belangrijk is dat je kennis of ervaring hebt van C#.NET en SQL. Je toont een flexibele en sociale houding naar klanten toe. Je denkt in nieuwe mogelijkheden & gaat graag de uitdaging aan. Bedrijfsprofiel De

Bekijk vacature »

PHP Developer

Functie Middels Scrum en sprints bouw jij in deze functie mee aan complexe webapplicaties en ons SaaS platform. Hierbij hoort ook architectuur tot een van je taken. Daarnaast ben je één van de leden van het Scrum team. Dat betekent dat je naast je kerntaken ook in contact staat met de product owner. Oftewel, je bent bij het gehele ontwikkelproces betrokken. Tools die hierbij gebruikt worden zijn o.a. PHP, Symfony en Git. Eisen • Minimaal HBO werk- en denkniveau • Minimaal 3 jaar aantoonbare ervaring met PHP • Kennis en ervaring Symfony (Laravel is pré) & Lando • Kennis van

Bekijk vacature »

Hands-on Solution Architect / Software Architect (

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 Solution Architect / Software Architect op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je werkt samen met gedreven DevOps teams, bestaande uit frontend, backend en middleware developers, testers, UX-designers. Samen met de teams ben je continu op zoek naar de beste oplossingen voor onze klanten. Als Solution Architect onderzoek

Bekijk vacature »

Belastingdienst - Freelance Senior Applicatie ontw

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Functieomschrijving: We verwachten van je, dat je: Brede ervaring hebt als JAVA-ontwikkelaar; Ervaring hebt met Agile/Scrum-werken en je thuis voelt in een Agile omgeving; Een aandeel levert aan het scrumproces en in de SAFe-releasetrain; Zelfstandig werkt in een scrumteam en intensief de samenwerking op zoekt met je directe collega’s en je omgeving; Ervaring meebrengt met het schattten en inplannen van taken tot en met het testen en demonstreren van de opgeleverde functionaliteit; Collega’s in je

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

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

22/12/2024 13:20:21
 
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.