simpele array vs multi array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mendix Developer

Voor Troostwijk Groep zoeken wij een: Mendix Developer Wij zoeken Je bent een getalenteerde en ervaren Mendix Developer en het is tijd om je horizon te verbreden. Je wilt minder coderen en meer modelleren, minder bezig zijn met allerlei technische details en randvoorwaarden en meer met functionaliteit. Daarnaast ben je trots op de innovatieve en gebruiksvriendelijke applicaties die je in de loop van de jaren hebt gebouwd. Werk je graag in een enthousiast team, wil je veel vrijheid en kun je tegelijkertijd goed met deadlines omgaan, dan ben jij absoluut degene die wij zoeken! Wat je nodig hebt is ruime

Bekijk vacature »

Medior/senior front end developer React Sportsoftw

Functie Voor deze functie ben ik op zoek naar een enthousiaste front end developer die communicatief vaardig is. Jij wordt onderdeel van een enthousiast jong team dat werkt aan grote websites. Binnen jouw rol ben jij diegene die de vertaling maakt van design naar functionele code en zorg jij voor goede experience op meerdere platformen. Dit doe je natuurlijk door gebruik te maken van onze stack; Javascript, HTML, CSS en React. Daarnaast wordt er gebruik gemaakt van Webcomponents en verschillende authenticatie tools. Doordat er hier gestreefd wordt naar de beste gebruikerservaringen, wordt het product constant doorontwikkeld. Hierdoor blijven ze voor

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 »

Lead Webdeveloper

Als Lead webdeveloper bij KUBUS ben je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de webapplicatie en services van BIMcollab. In je rol als lead developer zoek je als vanzelf op een creatieve manier naar het optimum tussen benodigde implementatie-tijd, de performance van de applicatie en een snelle go-to-market van features, aansluitend bij onze geautomatiseerde test- en release train. Hierbij bewaak je in samenwerking met de andere senior ontwikkelaars in je team de architectuur van de applicatie en adviseer je de product owner over noodzakelijke refactoring om de onderhoudbaarheid van het platform te verbeteren. Ons

Bekijk vacature »

Backend Developer Integraties API HBO REST

Samengevat: Deze werkgever is een IT-consultancy. Wil jij werken als Backend Developer Integraties? Heb jij kennis van gangbare berichtformaten? Vaste baan: Backend Developer Integraties API HBO €3.100 - €4.400 Zij bieden innovatieve oplossingen die bedrijven efficiënter en wendbaarder maken, waardoor onze klanten zich net zo snel kunnen ontwikkelen als de business van hen vraagt. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om de inzet van technologie. Deze werkgever staat open voor elke nieuwe trend. Onze systemen zijn groot en ingewikkeld. Hou jij van diepgang

Bekijk vacature »

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Junior .NET developer

Functie Ons programma is voor afgestudeerde enthousiastelingen die het als een uitdaging zien om met een klein dynamisch team bij de grootste bedrijven van Nederland aan de slag te gaan. Tijdens jouw dienstverband word jij begeleid door een talent manager. Het ontwikkelen van jouw talent staat hierbij centraal. Het programma doorloop je met een team van circa 8 Mede- trainees. De eerste maand start je met een fulltime inhouse opleiding. Deze staat geheel in het teken van de werkzaamheden die jij verder in het programma zult uitvoeren. Na deze opleidingsmaand ga je aan de slag in een dynamische omgeving bij

Bekijk vacature »

VB.NET developer

Functie Het development team waar jij in terecht komt bestaat uit twee ervaren software developers. De directeur/eigenaar is tevens één van deze developers. Jij werkt direct samen met jouw werkgever en kan dan ook veel kennis en ervaring bij dit bedrijf op doen. Als team zijn jullie verantwoordelijk voor de kantoorapplicatie die deze organisatie aanbied in een niche markt. Het team is op dit moment actief bezig met een migratie waarbij het eindstation eindigt in een C# .NET omgeving. Echter is een deel van de software al geschreven in C# .NET. Hierbij is gebruik gemaakt van C# .NET, CSS, HTML,

Bekijk vacature »

Creatieve Front-end developer gezocht!

Functie Het front-end team bestaat momenteel uit 4 collega’s en is hard aan het groeien! Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren. Je werkt in het front-end team samen met de back-end teams en product owners om te zorgen dat de applicaties een fijne gebruikerservaring opleveren. Jouw expertise zorgt ervoor dat de juiste keuzes gemaakt worden qua techniek en ontwerp, van back-end tot aan gebruiker. In samenspraak met je team bepalen jullie de beste keuze voor techniek. Ook is er altijd ruimte om nieuwe technieken te ontdekken. Eisen • Je hebt gedegen

Bekijk vacature »

Front-end Developer - React - Data Driven

Bedrijfsomschrijving Onze klant is een snelgroeiende organisatie die een data-driven inspectieapp op de markt hebben gebracht die nu al een aantal jaar door verschillende organisaties wereldwijd gebruikt wordt. Er zijn zo'n 6 mensen werkzaam bij dit bedrijf en ze zijn nu vooral op zoek naar een sterke front-end developer die wil gaan werken aan nieuwbouw applicaties en de uitbouw van de huidige applicaties. De reden dat ze zoeken is omdat er veel werk op komst is en ze hier de juiste capaciteit voor willen hebben. Er heerst hier een hele prettige sfeer waarin respect en eerlijke communicatie belangrijk is. Ook

Bekijk vacature »

Informeel bureau zoekt Senior PHP developer

Functie Als senior PHP developer neem je het voortouw in ontwikkeltrajecten en ben je in staat werk uit te leggen aan collega’s om zo je kennis met hen te delen. Je deinst niet terug voor ingewikkelde projecten. Deze zie jij alleen maar als uit uitdaging. Je werkt doorlopend aan klantcases (en hierdoor je klant echt leert kennen), maar toch ben je afwisselend bezig. Dit alles in een vrije en ontspannen werksfeer, met een team van gelijkgestemde. Binnen de development teams werken ze met o.a. PHP, Laravel, React, Node, Elastic, Amazon AWS, JIRA, Solid, Domain-driven-design, Doctrine, Redis, docker, Kubernetes, CI, PHP

Bekijk vacature »

Infrastructure Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 12945 Introductie Our client is one of the most innovative companies within the Netherlands. Currently we are looking for an Infrastructure Platform Engineer. Within this role you will be developing the infrastructure. Functieomschrijving Within this role you are responsible in the development of our distributed data and compute platform infrastructure. You will design, develop and implement new features and fixes. Next to this you will integrate and configurate other packages that supports the development of tuning applications within the organisation. You will support customer sites remotely. Design and implement the

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Software programmeur

Functieomschrijving Voor een erkende werkgever in de regio van Goes zijn wij op zoek naar een enthousiaste software programmeur met PHP/Symfony ervaring. Een gedreven persoon die het development team komt versterken met het aanpakken van complexe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor zowel professionele als persoonlijke groei? Lees dan snel verder! Dit ga je doen: Beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Testen en door ontwikkelen van software; Ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »
Michel Bak

Michel Bak

25/08/2017 22:53:20
Quote Anchor link
Ik heb op het moment de volgende 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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
if(isset($_POST['submit']) && $_POST['submit'] == 'Verstuur'){
            
    $naam = stripslashes(trim($_POST['naam']));
    $tussenvoegsel = stripslashes(trim(isset($_POST['tussenvoegsel'])?$_POST['tussenvoegsel']:NULL));
    $achternaam = stripslashes(trim($_POST['achternaam']));
    $gebDatum = stripslashes(trim(isset($_POST['gebdatum'])?$_POST['gebdatum']:NULL));
    $straat = stripslashes(trim(isset($_POST['straat'])?$_POST['straat']:NULL));
    $postcode = stripslashes(trim(isset($_POST['postcode'])?$_POST['postcode']:NULL));
    $huisnummer = stripslashes(trim(isset($_POST['huisnummer'])?$_POST['huisnummer']:NULL));
    $toevoeging = stripslashes(trim(isset($_POST['toevoeging'])?$_POST['toevoeging']:NULL));
    $woonplaats = stripslashes(trim(isset($_POST['woonplaats'])?$_POST['woonplaats']:NULL));
    $email = stripslashes(trim(isset($_POST['email'])?$_POST['email']:NULL));
    $ingDatum = stripslashes(trim($_POST['ingdatum']));
    $geslacht = stripslashes(trim((isset($_POST['geslacht'])?$_POST['geslacht']:NULL)));
    
    //Valideer naam
    if(empty($naam)){
        $naamError = $errors['form']['gNaam'];
        $error = true;
    }
    
    //Valideer achternaam
    if(empty($achternaam)){
        $anaamError = $errors['form']['gAnaam'];
        $error = true;
    }
    
    //Valideer geboorte datum
    if(empty($gebDatum)){
        $gebdateError = $errors['form']['gDatum'];
        $error = true;
    }else{
        $valgebDatum = date_validation($gebDatum);
        
        if($valgebDatum == false){
            $gebdateError = $errors['form']['ongDatum'];
            $error = true;
        }
        
        if($valgebDatum == "Toekomst"){
            $gebdateError = $errors['form']['toekDatum'];
            $error = true;
        }
    }    
    //Valideer straat
    if(!empty($straat)){
        if(!preg_match('/^[a-zA-Z]*$/', $straat)){
            $huisnrError = $errors['form']['ongStraat'];
            $error = true;
        }
    }

    //Valideer huisnummer
    if(!empty($huisnummer)){
        if(!preg_match('/^[0-9]*$/', $huisnummer)){
            $huisnrError = $errors['form']['ongHuisnr'];
            $error = true;
        }
    }
    
    //Valideer toevoeging
    if(!empty($toevoeging)) {
        if(!preg_match('/^[a-zA-Z]*$/', $toevoeging)) {
            $toevgingError = $errors['form']['ongToevging'];
            $error = true;
        }
    }
    
    //Valideer postcode
    if(!empty($postcode)){
        if(!preg_match('/^(\d\d\d\d)[a-zA-Z][a-zA-Z]$/', $postcode)){
            $postcodeError = $errors['form']['ongPostcode'];
            $error = true;
        }
    }
    
    //Valideer woonplaats
    if(!empty($woonplaats)){
        if(!preg_match('/^[a-zA-Z]+$/', $woonplaats)){
        $woonpltsError = $errors['form']['ongWoonplts'];
        $error = true;
        }
    }
    
    //Valideer email
    if(empty($email)){
        $emailError = $errors['form']['gEmail'];
        $error = true;
    }else{
        $checkEmail = test_email($email);
        if($checkEmail=="ongeldig"){
            $emailError = $errors['form']['ongEmail'];
            $error = true;
        }
    }
    
    //Valideer ingangsdatum
    if(empty($ingDatum)){
        $ingdateError = $errors['form']['gDatum'];
        $error = true;
    }else{
        $valIngDatum = date_validation($ingDatum);
        
        if($valIngDatum == false){
            $ingdateError = $errors['form']['ongDatum'];
            $error = true;
        }
        
        if($valIngDatum == "Toekomst"){
            $ingdateError = $errors['form']['toekDatum'];
            $error = true;
        }
    }
    
    //Valideer geslacht
    if(empty($geslacht)){
        $geslachtError = $errors['form']['gGeslacht'];
        $error = true;
    }


Nu wil ik eigenlijk de code versimpelen naar een enkele array zodat het sneller en makkelijker werkt. Hoe zouden jullie dit aanpakken?
Gewijzigd op 25/08/2017 22:55:31 door Michel Bak
 
PHP hulp

PHP hulp

21/11/2024 20:26:14
 
- Ariën  -
Beheerder

- Ariën -

25/08/2017 22:59:20
Quote Anchor link
Ik zit even in je script te kijken, maar wat wil je precies bereiken?
Je hebt toch als een array: $errors['form']?

Wat opmerkingen:
- gebruik if($_SERVER['REQUEST_METHOD']=="POST") { om te controleren of iets verstuurd is.
- Waarom stripslashes? Zelf raad ik aan om bij de uitvoer de data te beveiligen. En stripslashes lijkt mij overbodig.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

26/08/2017 09:52:16
Quote Anchor link
Je bedoelt waarschijnlijk dat je de losse variabelen zoals naam, achternaam en huisnummer wilt bundelen in een array.

Als ik de vraag moet beantwoorden dan krijg je een OOP voorbeeld waarin geen array gebruikt wordt maar een object! Ik weet niet of je dat wilt.

Als je met functies wilt gaan werken zie ik wel een reden om die losse variabelen in een array te stoppen omdat je dan de hele array in een keer door kunt geven aan een andere functie.

Gezien je vraagstelling denk ik dat je nog niet erg bekend bent met array's. Ik zou je dan willen vragen om een tut door te lopen waardoor je er bekender mee wordt. Let dan ook even goed op het verschil tussen een numerieke array en een associatieve array..
 
Michel Bak

Michel Bak

03/09/2017 21:25:12
Quote Anchor link
Allereerst excuses voor de late reactie, aan de andere kant bedankt voor deze informatie.
Ik ben bezig met een opdracht en als feedback kreeg ik: 1.
Gebruik één simpele array voor de foutafhandeling. Geen multidimensionale array.
Het gaat hier om een simpel formulier, u gaat dat onnodig complex maken door een multidimensionale array te gebruiken die absoluut niet nodig is. U moet laten zien dat u het ook anders (en beter) kan doen.

Ik ben inderdaad nog maar een beginner en snap nog niet helemaal wat hiermee bedoelt wordt
 
Frank Nietbelangrijk

Frank Nietbelangrijk

03/09/2017 23:17:28
Quote Anchor link
Ik heb je code die je gepost hebt even in mijn editor bekeken omdat het dan wat beter leesbaar is.

En ik begrijp je vraag en de opmerking.

Je doet dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$naamError
= $errors['form']['gNaam']; // multidimensionale array
?>


Dat heb je niet nodig. Dit is genoeg wordt er gezegd.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$naamError
= $errors['gNaam']; // normale array
?>



Ik zou overigens zelf veel liever zien dat je dit doet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$errors
['gNaam'] = 'Je hebt geen naam ingevuld.';
?>


Dus net andersom. Zet alle foutmeldingen (stel dat er meer dan 1 ding niet klopt bij het valideren) in een array.
Gewijzigd op 03/09/2017 23:23:58 door Frank Nietbelangrijk
 
Michel Bak

Michel Bak

05/09/2017 21:11:32
Quote Anchor link
EDIT: ik ben er al uit, heb het gedeelte array bij $errors er tussenuit gehaald

Dank voor de duidelijke uitleg! Voor nu wil ik de eerste oplossing gebruiken aangezien ik daar al veel mee gedaan heb. Ik heb nl bij het html gedeelte de link gelegd voor bijvoorbeeld
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<span class = error><?php echo $naamError;?></span>
<label for="form-voornaam">*Naam:</label>
<input type="text" id="form-voornaam" name="naam" value="<?php if($error){echo htmlentities($_POST['naam']);}else{ echo "";}?>">


Hoe pas ik dan het volgende gedeelte hiervoor aan?
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
$errors = array('form'=>array('gNaam'=>"U heeft geen voornaam ingevuld",
                            'gAnaam'=>"U heeft geen achternaam ingevuld",
                            'gHuisnr'=>"U heeft geen huisnummer ingevuld",
                            'gEmail'=>"U heeft geen e-mail ingevuld",
                            'gDatum'=>"U heeft geen datum opgegeven",
                            'gGeslacht'=>"Kies een geslacht",
                            'ongStraat'=>"Straatnaam mag alleen bestaan uit letters",
                            'ongEmail'=>"E-mail moet 2 op de volgende manier '2 letters'@'2 letters' en eindigen op '.nl'(vb. [email protected])",
                            'ongPostcode'=>"Postcode moet bestaan uit 4 cijfers en 2 letters (vb. 1234ab)",
                            'ongHuisnr'=>"Huisnummer moet bestaan uit alleen nummers",
                            'ongToevging'=>"Toevoeging mag alleen bestaan uit letters",
                            'ongWoonplts'=>"Woonplaats mag alleen bestaan uit letters",
                            'ongDatum'=>"Datum format moet dd-mm-jjjj zijn (vb. 15-05-2017)",
                            'toekDatum'=>"Datum ligt in de toekomst")
                );


Na deze opdracht wil ik mij zeker wat meer gaan verdiepen in de laatste oplossing. Deze ziet er veel minder omslachtig uit?!
Gewijzigd op 05/09/2017 21:18:15 door Michel Bak
 
Frank Nietbelangrijk

Frank Nietbelangrijk

05/09/2017 21:23:20
Quote Anchor link
Is makkelijker dan je denkt:

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
<?php
$errors
= array(
    'gNaam'=>"U heeft geen voornaam ingevuld",
    'gAnaam'=>"U heeft geen achternaam ingevuld",
    'gHuisnr'=>"U heeft geen huisnummer ingevuld",
    'gEmail'=>"U heeft geen e-mail ingevuld",
    'gDatum'=>"U heeft geen datum opgegeven",
    'gGeslacht'=>"Kies een geslacht",
    'ongStraat'=>"Straatnaam mag alleen bestaan uit letters",
    'ongEmail'=>"E-mail moet 2 op de volgende manier '2 letters'@'2 letters' en eindigen op '.nl'(vb. [email protected])",
    'ongPostcode'=>"Postcode moet bestaan uit 4 cijfers en 2 letters (vb. 1234ab)",
    'ongHuisnr'=>"Huisnummer moet bestaan uit alleen nummers",
    'ongToevging'=>"Toevoeging mag alleen bestaan uit letters",
    'ongWoonplts'=>"Woonplaats mag alleen bestaan uit letters",
    'ongDatum'=>"Datum format moet dd-mm-jjjj zijn (vb. 15-05-2017)",
    'toekDatum'=>"Datum ligt in de toekomst"
);
 
Ivo P

Ivo P

06/09/2017 02:02:50
Quote Anchor link
"Straatnaam mag alleen bestaan uit letters"
hoezo?
Ik woon aan een straat waar een spatie in zit (of sommigen gebruiken een "-" op die plek.
En ik ken ook zat voorbeelden met cijfers (19 septemberplein in Eindhoven bijvoorbeeld).

En voor woonplaatsen idem: 's-Hertogenbosch bijvoorbeeld, of gewoon Den Bosch.

En er zijn ook wel straten met accent letters: De uitvinder Röntgen heeft vast wel ergens een straat.
En gezien de melding over het mailadres, ben ik ook wel benieuwd naar die check.

Maar kijk ook eens naar de filter functies van PHP: http://php.net/filter-input
 
Ward van der Put
Moderator

Ward van der Put

06/09/2017 07:54:45
Quote Anchor link
Ivo P op 06/09/2017 02:02:50:
19 septemberplein in Eindhoven

18 Septemberplein naar onze bevrijdingsdag 18 september 1944.
 
Ivo P

Ivo P

06/09/2017 09:20:56
Quote Anchor link
:-)

Ik ben al zo'n 20 jaar geleden verhuisd en bijna nooit meer terug geweest. Maar qua syntax blijft het gelukkig gelijk.

Bottom line was eigenlijk, dat je niet te strikt moet zijn in dit soort dingen. Niets zo irritant als een formulier min of meer fout in te moeten vullen, omdat de maker van de form bepaalde dingen over het hoofd zag:
- de genoemde karakters als enige toestaan in een veld
- een minimum lengte voor straatnamen (er zijn straatnamen van 1 letter te vinden in Nederland)
- idem voor een naar van 3 letters, waar Jo niet zo'n heel gekke naam is.
- verouderde filtering op een emailadres: bijv. hooguit 4 karakters voor de TLD waar al 10 jaar meer mogelijk zijn.

Topper vond ik wel de Kamer van Koophandel die geen "-" in een emailadres wilde hebben. Waar al mijn toenmalige adressen dat wel hadden.
 
Michel Bak

Michel Bak

09/09/2017 14:56:53
Quote Anchor link
Ik snap wat jullie bedoelen en ga dit meteen aanpassen!

@Frank, ik wil nog even terug komen op
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$errors
['geenvoornaam'] = 'Je hebt geen naam ingevuld.';
?>


ik maak $errors = ""; aan
zorg voor controle verstuurknop
maak $naam aan
Valideer deze naam op bovenstaande manier
en zet het html formulier klaar als volgt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<span class = error><?php echo $errors['geenvoornaam'];?></span>
<label for="voornaam">*Voornaam:</label>
<input type="text" id="voornaam" name="voornaam" value>


Ik krijg geen meldingen, waar ga ik de fout in, ik zie het even niet meer
 
Frank Nietbelangrijk

Frank Nietbelangrijk

09/09/2017 15:23:51
Quote Anchor link
Zonder verdere code zou ik het niet kunnen zeggen Michel.
 
Michel Bak

Michel Bak

11/09/2017 10:20:40
Quote Anchor link
Ik ben geheel opnieuw begonnen en dit is mijn code tot nu toe:

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
$errorMsg = "";
$message = "";
$errors = "";
$voornaamerror = "";
$straatfout = "";


if(isset($_POST['submit']) && $_POST['submit'] == 'Verstuur'){
            
    $voornaam = stripslashes(trim($_POST['voornaam']));
    $tussenvoegsel = stripslashes(trim(isset($_POST['tussenvoegsel'])?$_POST['tussenvoegsel']:NULL));
    $achternaam = stripslashes(trim($_POST['achternaam']));
    $gebDatum = stripslashes(trim(isset($_POST['geboortedatum'])?$_POST['geboortedatum']:NULL));
    $straat = stripslashes(trim(isset($_POST['straat'])?$_POST['straat']:NULL));
    $postcode = stripslashes(trim(isset($_POST['postcode'])?$_POST['postcode']:NULL));
    $huisnummer = stripslashes(trim(isset($_POST['huisnummer'])?$_POST['huisnummer']:NULL));
    $toevoeging = stripslashes(trim(isset($_POST['toevoeging'])?$_POST['toevoeging']:NULL));
    $woonplaats = stripslashes(trim(isset($_POST['woonplaats'])?$_POST['woonplaats']:NULL));
    $email = stripslashes(trim(isset($_POST['email'])?$_POST['email']:NULL));
    $ingDatum = stripslashes(trim($_POST['ingangsdatum']));
    $eindDatum = stripslashes(trim($_POST['einddatum']));
    $geslacht = stripslashes(trim((isset($_POST['geslacht'])?$_POST['geslacht']:NULL)));
    
    //controle op voornaam
    if(empty($voornaam)){
        $voornaamerror = $errors['geenvoornaam'] = 'U heeft geen voornaam ingevuld.';
        $errors = true;
    }

    if(empty($straat)){
        $straatfout = $errors['geenstraat'] = 'U heeft geen straat ingevuld.';
        $errors = true;
    }

}
?>

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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<header>
<h1>Sport en Spel</h1><div class="imgtext">
</header>
<div id="container">
        <span><?php echo $message;?></span>
        <span class=error><?php echo $errorMsg;?></span>
        <div class="imgtext">
            <center><img alt="sport" src="img/sports1.jpg"></center>
            <p><?php    $pTableExist = mysqli_query($connect, "show tables like 'lidmaatschap'");
    if ($rTableExist = mysqli_fetch_array($pTableExist)) {
        echo $welkomstekst;?>

            <h2>Aanmeld formulier</h2>
            <form method="POST" action="nieuwopdracht6.php">

                    <span class = error><?php echo $voornaamerror;?></span>
                    <label for="voornaam">*Voornaam:</label>
                    <input type="text" id="voornaam" name="voornaam" value>
        
                    <label for="tussenvoegsel">Tussenvoegsel:</label>
                    <input type="text" id="tussenvoegsel" name="tussenvoegsel">
        

                    <label for="achternaam">*Achternaam:</label>
                    <input type="text" id="achternaam" name="achternaam">
                    
                    <span class = error></span>
                    <label for="geboortedatum">*Geboortedatum: (dd-mm-jjjj)</label>
                    <input type="text" id="geboortedatum" name="geboortedatum">
                    
                    <div id = "straat-huisnr">

                                <span class = error><?php echo $straatfout;?></span>
                                <label for="straat">Straat:</label>
                                <input type="text" id="straat" name="straat">

                                <label for="huisnummer">nr.</label>
                                <input type="text" id="huisnummer" maxlength="5" name="huisnummer">

                                <label for="toevoeging">Toev.</label>
                                <input type="text" id="toevoeging" maxlength="3" name="toevoeging">

                    
                    <span class = error></span>
                    <label for="postcode">Postcode:</label>
                    <input type="text" id="postcode" name="postcode">
                

                    <span class = error></span>
                    <label for="woonplaats">Woonplaats:</label>
                    <input type="text" id="woonplaats" name="woonplaats">
        
                    <span class = error></span>
                    <label for="email">*E-mail:</label>
                    <input type="email" id="email" name="email">
        
                    <span class = error></span>
                    <label for="ingangsdatum">*Ingangsdatum: (dd-mm-jjjj)</label>
                    <input type="text" id="ingangsdatum" name="ingangsdatum">
        
                    <span class = error></span>
                    <label for="einddatum">*Einddatum: (dd-mm-jjjj)</label>
                    <input type="text" id="einddatum" name="einddatum">

                    <div class="geslacht">
                            <label class="geslacht">*Geslacht:</label><span class = error></span>
                            <input type="radio" id="man" name="geslacht" value="m"><label for="man">Man</label>
                            <input type="radio" id="vrouw" name="geslacht" value="v"><label for="vrouw">Vrouw</label>
                    </div>
        
                    <label for="form-sport">*Sportonderdeel:</label>
                    <SELECT NAME="sport">
                    <OPTION VALUE="Tennis">Tennis</OPTION>
                    <OPTION VALUE="Voetbal">Voetbal</OPTION>
                    <OPTION VALUE="Tafeltennis">Tafeltennis</OPTION>
                    <OPTION VALUE="Biljart">Biljart</OPTION>
                    </SELECT>
                    <BR>
        
                    <label for=lesdag">Lesdag:</label>
                    <SELECT NAME="lesdag">
                    <OPTION VALUE="Maandag">Maandag</OPTION>
                    <OPTION VALUE="Dinsdag">Dinsdag</OPTION>
                    <OPTION VALUE="Woensdag">Woensdag</OPTION>
                    <OPTION VALUE="Donderdag">Donderdag</OPTION>
                    <OPTION VALUE="Vrijdag">Vrijdag</OPTION>
                    </SELECT>
                    <BR>
                        
                </div>
                
                <p>(*)Verplichte velden.</p>
                <div class="submit_reset">
                        <input class="btn" type="submit" name="submit" value="Verstuur">
                        <input class="btn" type="submit" name="reset" value="Reset">
                </div>
            </form>
    </div>
    <?php
    }else{
        echo $databaseleeg;
    }
?>
</p>


Echter krijg ik nu de melding
Quote:
Cannot use a scalar value as an array

Bij het gebruik van voornaam werkt de foutanalyse wel maar wanneer ik doorga naar een tweede analyse krijg ik foutmeldingen.
Volgens mij is de oplossing vrij simpel maar ik krijg het er niet uit :(

Toevoeging op 11/09/2017 10:40:17:

- Ariën - op 25/08/2017 22:59:20:
Ik zit even in je script te kijken, maar wat wil je precies bereiken?
Je hebt toch als een array: $errors['form']?

Wat opmerkingen:
- gebruik if($_SERVER['REQUEST_METHOD']=="POST") { om te controleren of iets verstuurd is.
- Waarom stripslashes? Zelf raad ik aan om bij de uitvoer de data te beveiligen. En stripslashes lijkt mij overbodig.


Ik heb ook nog een vraag over bovenstaande:

ipv
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if(isset($_POST['submit']) && $_POST['submit'] == 'Verstuur'){


de volgende code
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if($_SERVER['REQUEST_METHOD']=="POST") {


Klopt dit? Zo ja, waarom deze code?
Gewijzigd op 11/09/2017 10:21:51 door Michel Bak
 
- Ariën  -
Beheerder

- Ariën -

11/09/2017 10:42:23
Quote Anchor link
Je wilt natuurlijk kijken of je formulier verstuurd is op de juiste methode (POST), en niet of een bepaald formulier-onderdeel bestaat.
 



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.