simpele array vs multi array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET Software Developer

Dit ga je doen Als .NET Software Developer zul jij je voornamelijk bezig houden met: Het van scratch af aan bouwen van applicaties (.NET, C#, Bootstrap, KnockoutJs en WebAPI2); Het testen van jouw code d.m.v. het uitvoeren van unittesten; Het oplossen van bugs in de code; Het onderhouden van contact met collega's betreffende de door jouw ontwikkelde applicaties; Het verbeteren en doorontwikkelen van maatwerkapplicaties. Hier ga je werken Jij gaat aan de slag als .NET Software Developer en gaat je focussen op het bedenken, ontwikkelen en testen van maatwerkapplicaties in voornamelijk C#. Dit ga je doen bij een grote, internationale

Bekijk vacature »

.NET Developer

Functie De perfecte combinatie tussen techniek en vastgoed. Werk samen met de senior software developer om allerlei software van fluX te verbeteren. Gelukkig voel jij je helemaal thuis in de codewereld van .NET. Dus of je nu bezig bent met het verhogen van de conformiteitscore of het automatiseren van allerlei taxatiemodellen, jij weet precies hoe je de doelstellingen realiseert. En dat terwijl je ook samenwerkt met een extern ontwikkelteam. Waar dit team bepaalde softwaresystemen ontwikkelen, richt jij je vooral op onze Nederlands georiënteerde producten en alle wetgeving die daarbij komt kijken. Voor minimaal 32 uur per week verrijk jij onze

Bekijk vacature »

Low Code Developer voor o.a. overheidsprojecten!

Bedrijfsomschrijving Wil jij ook behoren tot de specialist in Low Code? Dan zou ik zeker aanraden om verder te lezen. Deze organisatie is ooit opgericht door twee studenten en is inmiddels uitgegroeid tot een serieuze werkgever met een groot aanzien op Low Code projecten. De sfeer is echter niet veranderd, er heerst een informele sfeer met een open deuren beleid, en hierin mag de eigen bar natuurlijk niet ontbreken. Momenteel maakt deze organisatie een flinke groei door en hier kan jij natuurlijk niet bij ontbreken. Daarom ben ik op zoek naar Low Code Developers met een degelijke technische achtergrond. Kennis

Bekijk vacature »

Junior PHP Developer

Je maakt een vliegende start van je carrière, door meteen mee te bouwen aan de digitale aspecten van Coolblue. Wat doe je als Junior PHP Developer bij Coolblue? Als Junior PHP Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen om te groeien als Junior Developer. Op dat moment komt je wil om steeds te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te kunnen maken. Je sterk analytisch vermogen komt dan ook goed

Bekijk vacature »

.Net developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als .Net 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. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »

Traineeship ICT regio Amsterdam/Utrecht

Wat ga je doen? Het traineeship begint met een fulltime maand cursussen en praktijkdagen, waarin je de basis van het IT-vak leert op de Shared Servicedesk (SSD). Daarnaast ga je meteen aan de slag voor je eerste certificering! (ITILv4). Je start in een groep met 4 tot 10 deelnemers, waarmee jij gedurende die maand optrekt en je kennis kunt delen. Na het voltooien van de eerste maand ga je direct voor een langere periode aan de slag bij één van onze klanten of blijf je intern bij ons op de Shared Servicedesk. Je bent het eerste aanspreekpunt van de eindgebruikers

Bekijk vacature »

SQL Developer

Functie omschrijving We are looking for a dutch native speaker Jij gaat in deze functie aan de slag met uitdagende projecten en het creëren van maatwerk software, vooral middels SQL. Iedere klant/project is weer anders, maar dat maakt dit bedrijf en de functie erg uniek & uitdagend. Verder heb je de volgende taken: Ontwikkelen en ontwerpen van SQL databases. T-SQL wordt hierbij gebruikt als programmeer laag; Optimalisatie van query's, voor een verbeterde efficiency; Begeleiden van junior developers, mits je dit leuk vindt; Heb je meer interesse in een rol als consultant, dan is dit ook mogelijk. Je heb hier meer

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij recent jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een erkende werkgever in regio Waalwijk zijn wij op zoek naar een back-end developer. Kennis of ervaring met C# & SQL is een must! Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je brengt de aanpassingssuggesties van klanten in kaart, om ze

Bekijk vacature »

Software Developer

Dit ga je doen Ontwikkelen aan de software dat beschikbaar is op de substations; Ontwikkelen in C++, C, Python en JavaScript. Daarnaast op een Embedded Linux omgeving, opgebouwd met containers en DevOps; Meewerken aan cyber security (OWASP); Uitvoeren/bouwen van geautomatiseerde testen in samenwerking met de Quality Specialist; Vertalen van wensen van de klanten/business naar werkbare/duurzame oplossingen. Hier ga je werken Als Software Ontwikkelaar kom je te werken bij een organisatie gericht op de (internationale) energiemarkt, waar wordt gewerkt voor het verwerven en verwerken van realtime, high quality data. Er wordt gewerkt vanuit het hart van de substations en direct voor

Bekijk vacature »

Medior/senior Front-end developer

Functie Onder begeleiding van 3 accountmanagers waarvan er 1 binnen jouw expertise je aanspreekpunt zal zijn ga je aan de slag bij diverse opdrachtgevers. Hij of zij helpt je bij het vinden van een passende en uitdagende opdracht. Hierin houden ze uiteraard rekening met jouw situatie, ervaring en (technische) ambities. De opdrachten duren gemiddeld één tot 2 jaar. Hierdoor kun je je ook echt vastbijten in een project en als consultant impact maken. Naast de opdracht ben je regelmatig met je collega’s van de IT-afdeling om bijvoorbeeld onderlinge kennis te delen, of nieuwe trends te bespreken. Ook worden er regelmatig

Bekijk vacature »

Fullstack Developer TOTO

Do you want to work with the latest technologies on the development of new systems and applications? Get moving and strengthen Nederlandse Loterij as a Fullstack Developer TOTO. Thanks to your efforts, complex business critical applications are always running smoothly. In this way, you directly contribute to a happy, healthy and sporty Netherlands. As a Fullstack Developer you score by: Taking ownership of the development cycle of an application in a large scale, high availability, geo redundant landscape Coaching your peer developers and safeguarding code quality Integrating the application with other components of the system using the available API’s Managing

Bekijk vacature »

.NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

Software Developer (Junior functie)

Functieomschrijving Wij zijn op zoek naar een Software Developer! Sta jij in de startblokken om je carrière te beginnen en kan je niet wachten om toffe software te gaan ontwikkelen? Kortom, ben je onlangs afgestudeerd of sta je op het punt om je papiertje te behalen? Voor een IT dienstverlener dat gespecialiseerd is in Microsoft technologie zijn wij op zoek naar C#.NET Developers. Het bedrijf heeft meerdere klanten in regio Utrecht waar je permanent kan komen te werken. Kom je liever te werken bij een klein softwarebedrijf of bij een groot consultancy bureau? Dat is helemaal aan jou de keuze!

Bekijk vacature »

Developer (One Data)

Do you have experience with managing IT Teams in a service delivery organization? Are you keen to bring the team and our platform to a higher level? Then Nutreco has a very interesting role for you! As a One Data developer you are responsible for the management, running and functional use of our integration landscape and processes within Nutreco. Nutreco is using at this time BizTalk 2016, and Apigee for its API management, to be replaced by Azure Integration Services as of 2023. You will be part of a virtual teams of 11 people (own and outsourced) working in an

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 »
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

27/05/2026 04:21:33
 
- 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.