simpele array vs multi array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Ontwikkelaar C# .NET

Functie omschrijving Startende Software Ontwikkelaar gezocht met kennis van C# .NET! Ben jij net klaar met je opleiding en ben je op zoek naar je eerste echte werkervaring? Of heb jij al enige werkervaring maar ben toe aan iets nieuws? Dan is dit de perfecte kans voor jou! Wij zoeken namelijk een Junior Software Ontwikkelaar die klaar is voor een nieuwe uitdaging bij een leuke werkgeven in de regio Zeist. In deze functie werk jij vaak aan verschillende projecten en ga je bij klanten op bezoek. Ben jij op zoek naar een functie met uitdaging, diversiteit en verantwoordelijkheid? Dan is

Bekijk vacature »

Developer

Functie omschrijving Gaat jouw hart sneller kloppen van software developen in C#.NET? Voor een softwarebedrijf in regio Den Bosch zijn wij op zoek naar een C# programmeur. Lees snel verder! Wat ga je doen? Je gaat werken met C# en ASP.NET MVC Framework om onder meer webapplicaties, webshops en websites te ontwikkelen. Je optimaliseert de bestaande software en helpt mee aan het automatiseren van bedrijfsprocessen. Je gaat samen met je collega's de juiste oplossing op basis van de wensen van de klanten uitwerken tot een mooi product. Bedrijfsprofiel Het ontwikkelen van softwareoplossingen en kantoorautomatiseringen is waar dit bedrijf voor staat.

Bekijk vacature »

Senior Organisatieontwikkelaar

Als Organisatieontwikkelaar zorg je ervoor dat we in het magazijn van Coolblue altijd vooruit voetballen op het gebied Medewerker en Organisatie Ontwikkeling. Zo draag je bij aan een toekomstbestendig magazijn waar we klanten én medewerkers elke dag blijven verwonderen. Wat doe je als Senior Organisatieontwikkelaar bij Coolblue? Als Organisatieontwikkelaar werk je voor het magazijn van Coolblue. Je krijgt er energie van om continue te bouwen aan een toekomstbestendige organisatie. Dat doe je samen met 17 collega's in het HR-team, ieder met een eigen specialisme. Je werkt graag zelfstandig en je weet snel je weg te vinden als verandermanager. Ook ben

Bekijk vacature »

.NET Developer te Naarden

Bedrijfsomschrijving Voor mijn klant ben ik op zoek naar een .NET Developer om het huidige team te komen versterken. Deze organisatie bevindt zich in de logistieke sector, en zij hebben een eigen ERP systeem ontwikkeld dat zij inzetten ter optimalisatie van de logistieke processen van haar eindklanten. Deze organisatie bestaat inmiddels al ruim 20 jaar, waarbij zij een duidelijke missie hebben, namelijk: het werk van de eindklant makkelijker maken door de systemen die zij leveren. Ze werken over heel de wereld, wat deze organisatie een echte internationale speler maakt. Binnen de organisatie kenmerken ze zich door een dynamische en professionele

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 »

PHP Developer gezocht!

Functie omschrijving Wij zijn op zoek naar een PHP Developer! Ben jij op zoek naar een nieuwe uitdaging? Lees dan snel verder! Voor een organisatie in de regio Utrecht die zich bezighoud met het verbeteren van de medicatieveiligheid zoeken wij een Software Developer. In deze functie zijn wij op zoek naar een slimme en enthousiaste Developer die interesse heeft in farmacie, logistiek en ICT. Daarnaast beschik je over een goed analytisch vermogen en ben je van nature gestructureerd en resultaatgericht. Je moet in deze functie daadkrachtig, flexibel en communicatief goed zijn. Je verantwoordelijkheden bestaan uit: Object georiënteerd programmeren; Werken in

Bekijk vacature »

Full stack developer

Functie Binnen een ontzettend stimulerende werkomgeving kom jij te werken in een software team van 14 developers. Met ontzettend stimulerend bedoel ik een modern pand, wat voorzien is van alle nodige soft- en hardware, zodat jij jouw werk goed kan uitvoeren. Daarnaast zitten ze in een bos, waardoor je in een groene omgeving rustig kunt werken. Het team bestaat uit front end, back end en full stack developers. Jij krijgt dus de keuze hier waar jij jezelf het liefst op zou richten, maar de voorkeur gaat uit naar back end. Er wordt hier Scrum (agile) gewerkt in multidisciplinaire teams met

Bekijk vacature »

Back-end PHP Developer

Dit ga je doen Her- en uitbouwen van het inhouse softwareplatform dmv PHP; Onderhouden van bovengenoemd platform in PHP; Sparren met het team; Meedenken over nieuwe functionaliteiten, security etc; Jouw input leveren aan het proces door op de hoogte te blijven van nieuwe ontwikkelingen etc. Hier ga je werken Onze klant, gevestigd in de omgeving van Alkmaar, levert wereldwijd oplossingen op het gebied van IT. Dag in dag uit werken zij met veel passie aan hun product waarmee ze streven naar verbeteringen binnen zorg. Voor onze klant zijn we op zoek naar een medior PHP Developer. Je komt te werken

Bekijk vacature »

Software Developer C# .NET

Functie omschrijving Software Developer C# .NET gezocht voor een dynamische organisatie! Ben jij net afgestudeerd of toe aan een volgende stap in je maatschappelijke carrière? Lees dan snel verder! Wij zijn op zoek naar een Software Developer die klaar is voor een nieuwe uitdaging en die een organisatie in de regio Houten wil versterken. Je werkt in deze functie aan verschillende projecten en gaat vaak op bezoek bij klanten. In deze functie kun je een grote mate van uitdaging, diversiteit en verantwoordelijkheid verwachten. Bedrijfsprofiel Waar kom je te werken? Je komt te werken bij een organisatie dat gespecialiseerd is in

Bekijk vacature »

Software Developer C++ en Perl

Ben je een slimme en enthousiaste universitair opgeleide bèta die graag bij een relatief klein softwarebedrijf wil werken waar de sfeer goed is en eigen inbreng gewaardeerd wordt? Wij, IntelliMagic in Leiden, ontwikkelen technisch hoogwaardige software op het gebied van IT infrastructuur performance analytics. Het type software zorgt voor intellectueel interessante uitdagingen. We ontwerpen de producten zelf en verkopen deze als off-the-shelf software aan grote bedrijven in Europa en de VS. Wij zoeken een ervaren C++ software engineer met kennis van Perl voor een van onze ontwikkelteams. Werkzaamheden Samen met de andere ontwikkelaars specificeren, ontwerpen en implementeren van nieuwe functionaliteit

Bekijk vacature »

Java Full Stack Developer

Java Full Stack developer What makes Cognizant a unique place to work? The combination of rapid growth and an international and innovative environment! This is creating a lot of opportunities for people like YOU — people with an entrepreneurial spirit who want to make a difference in this world. At Cognizant, together with your colleagues from all around the world, you will collaborate on creating solutions for the world's leading companies and help them become more flexible, more innovative and successful. And this is your chance to be part of the success story: we are looking for a (Senior) Java

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je hier

Bekijk vacature »

Embedded Software Developer

Functie omschrijving Voor een mooi softwarebedrijf in omgeving Moordrecht zijn wij op zoek naar een Embedded Software developer. Ben jij enthousiast en een echte team player? Lees dan snel of dit iets voor jou is! Binnen deze rol houdt jij je bezig met alle werkzaamheden die nodig zijn om een functionaliteit te bouwen. Denk aan ontwerpen, architectuur, programmeren en algoritmes. Je voert test en validatie werkzaamheden uit bij de implementatie bij de klant. Ben jij een Embedded Software Developer die affiniteit heeft met de allernieuwste technieken? Laat dan snel wat van je horen! Bedrijfsprofiel Onze opdrachtgever bestaat uit een groot

Bekijk vacature »

Full stack developer Node.js

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

PHP Developer

Functie omschrijving Als PHP / Laravel developer zal je in een klein team terecht komen. Wij zijn op zoek naar een echte specialist, iemand die de balans weet te vinden tussen techniek en perfectie. In de aankomende jaren wilt dit bedrijf flink groeien en daarom zijn ze op zoek naar jou! Wat ga je doen? Je draagt bij aan het ontwikkelen en onderhouden van bestaande webapplicaties die boordevol functionaliteit zitten. Deze applicaties worden gebruikt door de organisatie zelf en ook door de klanten. Inmiddels wordt er gewerkt met Laravel 8 en zijn er diverse koppelingen naar externe leveranciers. Verder zal

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

12/01/2025 13:53:11
 
- 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.