Cannot modify header information

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# .NET Developer IoT SQL Server

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

Bekijk vacature »

Full-stack Developer

As a Full-stack developer at KUBUS, you will develop the (web)applications and services of BIMcollab. You will work on both the front- and back-end. As a software company, KUBUS is in a unique position. We build our own products that are used by tens of thousands of users worldwide. Our company is just the right size: big enough to make a real impact in the market, but small enough that as an individual developer you can have an impact and really make a difference. Our development team consists of over 40 developers, testers, scrum masters and product owners, divided over

Bekijk vacature »

Front end developer React Sportgames

Functie Als Front end developer ga jij aan de slag bij een gave en bekende organisatie op het gebied van sportgames. Jij gaat aan de slag in een scrumteam met 6 developers die gepassioneerd en actief bezig zijn om spelers kwalitatieve en mooie spelervaringen aan te bieden. Als scrumteam werken ze in drie wekelijkse sprints en begin je iedere ochtend met een stand-up. Als Front end developer werk jij bij deze organisatie voornamelijk met Javascript, html, css en React. Er wordt veel gebruikt gemaakt ook van C#, Docker en Kubernetes. Het team hecht veel waarde aan het leveren van hoogwaardige

Bekijk vacature »

Software Developer

Dit ga je doen Ontwerpen, ontwikkelen en onderhouden van (mobiele) internettoepassingen; Ontwikkelen en onderhouden van Microservices; Ontwerpen en optimaliseren van databases; Identificeren van nieuwe trends/ontwikkelingen binnen de branche. Hier ga je werken Deze marktleider op gebied van fietsen en fietservaring is gevestigd in twee provincies, verspreid over meerdere locaties. Jij zult voornamelijk in regio Joure aan de slag gaan. De organisatie doelt zich op het leveren van kwalitatief hoogwaardige producten aan alle hun klanten. De organisatie telt circa 4.000 medewerkers in meer dan 10 verschillende landen. Momenteel is de organisatie op zoek naar een Software Developer wilt meewerken aan het

Bekijk vacature »

Back end developer

Functie Jij als full stack ontwikkelaar komt te werken in een team bestaande uit 4 back end programmeurs, 2 vormgevers/ Front end developers en een online marketeer. Qua persoonlijkheden is het team erg gevarieerd van sportfanaten tot gameliefhebbers en Golfers. Een ding heeft iedereen hier gemeen; Passie voor goede code. In jouw rol zul je voor 90% van je tijd je bezig houden met het ontwikkelen van grote maatwerk applicaties. Daarnaast hebben wij op aanvraag ook wel eens een website of onderhoudsklusje, die opgepakt moet worden en hier ben jij ook niet vies van. De technische uitdaging momenteel is dat

Bekijk vacature »

Full stack .NET developer Microsoft 365

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Medior Front-end Developer

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

Bekijk vacature »

Back end developer PHP, Laravel

Functie Jij komt te werken in ons webdevelopment team, wat bestaat uit 8 ervaren collega’s. Hiernaast hebben wij nog een team van 2 ontwikkelaars die aan native applicaties werken. Bij ons zijn er korte lijntjes en er hangt een gezellige informele werksfeer. Maar het belangrijkste is natuurlijk dat je aan geweldige applicaties zult gaan werken! Wij willen als organisatie niet te groot worden, we willen gewoon toffe dingen maken. Onze techstack bestaat momenteel uit: PHP, Laravel, Javascript, Typescript, Git, MySQL, Java, Kotlin, Xamarin. Samen met ons ga jij zorgen dat we puik werk leveren! Waarbij je bij elke fase in

Bekijk vacature »

Robot Programmeur

In het kort Drie redenen waarom deze vacature uniek is! Programmeren van zelflerende robots Werken op kantoor en testen in de bedrijfshal Je krijgt verantwoordelijkheid, vrijheid en je mag werken naar eigen inzicht De organisatie Hier ga je aan de slag Een bedrijf dat innovatieve robottoepassingen ontwerpt en bouwt voor onder andere de staal industrie, energie- bouw- en agrarische sector. De robots die vaak in combinatie met diverse randapparatuur geleverd worden vormen een totaaloplossing voor de klant. Dit zijn klanten over de hele wereld, van België en Duitsland tot China, India, maar ook in Nederland. Projecten waar momenteel aan wordt

Bekijk vacature »

Developer Front-end

Functie omschrijving Front-end Developer gezocht! Wij zijn op zoek naar een front-end developer voor een organisatie in de regio Veenendaal die de eindverantwoordelijkheid op zich neemt van alles wat met design te maken heeft. Je hebt in deze functie een adviserende rol hiervoor moet je beschikken over een grote dosis vakinhoudelijke kennis. Je creëert unieke concepten door samen met collega’s en klanten te overleggen over aangeleverde designs. Hiermee draag jij je steentje bij aan de groeiambities van de klant. Jij wordt het vaste aanspreekpunt voor klanten wanneer het gaat over planningen, hierin is het jouw taak om alle betrokkenen goed

Bekijk vacature »

.NET developer

Functie Als developer heb jij de keuze om aan te sluiten bij het team (13 developers) die op locatie projectmatig bij klanten werkt. Wanneer jij liever intern bij de werkgever werkt is er ook alle ruimte voor jou in het interne team (8 developers) van dit bedrijf. Je werkt samen aan verschillende projecten bij of voor de klant. Het project wordt aangeleverd door sales aan de project manager. Die maakt samen met de Resourcer een planning en op basis daarvan wordt uit het development team een “projectgroep” opgesteld. Hoeveel en welke projecten jij wilt oppakken gebeurt geheel in samenspraak met

Bekijk vacature »

C#.NET ontwikkelaar

Functie omschrijving Voor een softwarebedrijf in de omgeving van Veghel zijn we op zoek naar een C# developer. Word jij blij van ontwikkelen in C# en .NET? Lees dan snel verder! Jouw werkzaamheden zullen er als volgt uit gaan zien: Op basis van de wensen van de klant ga je samen met je collega's ga je op zoek naar de juiste oplossingen en je gaat dit uitwerken tot een mooi eindproduct. Je bouwt webshops, webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Framework en C#. Je zorgt voor de optimalisering van bestaande software en de automatisering van

Bekijk vacature »

Fullstack Developer

Functieomschrijving Heb je kort geleden jouw HBO diploma ICT development behaald? Of zit je nog aan het begin van je carrière en heb je affiniteit met C#.NET? Voor een erkende werkgever in de omgeving van Oosterhout zijn wij op zoek naar een fullstack developer. Als C#.NET developer werk je samen met een vooruitstrevend team aan het ontwikkelen van maatwerk software voor klanten. Je hebt affiniteit met SQL, maar nog belangrijker is dat je kennis en ervaring hebt met C#.NET. Jouw werkzaamheden zien er als volgt uit: Het ontwikkelen van onze high-availability en high-performance backend; Je begint de dag rond 8:30

Bekijk vacature »

.NET Developer C#

Dit ga je doen Als developer nieuwe gave features implementeren; Werken met technieken als C# .NET en (REST) API's webservices; Ontwikkelen van koppelingen middels API's; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken Als C# .NET Developer wordt je verantwoordelijk voor het ontwikkelen van applicaties voor belangrijkste product van deze organisatie. Dit product is een applicatie voor alles omtrent hypotheken. De programmeertaal die je hierbij beheerst is C#. Er

Bekijk vacature »

Database Developer

Functie omschrijving Voor een logistieke dienstverlener in omgeving Zuid Beijerland zijn wij op zoek naar versterking. Weet jij als geen ander systemen aan elkaar te koppelen en heb jij goede kennis van SQL en UML, lees dan snel verder! Jouw taken zien er als volgt uit: Je bent in deze rol voornamelijk verantwoordelijk voor het bouwen, implementeren en beheren van koppelingen tussen de bestaande systemen (zowel business 2 business als application 2 application). Daarnaast inventariseer je de wensen van in- en externe klanten, die je vervolgens samen met je collega's, vertaalt naar technische specificaties, die jullie zelf ontwikkelen en implementeren.

Bekijk vacature »
Gerben Kwakkel

Gerben Kwakkel

08/01/2014 10:07:39
Quote Anchor link
Hallo,

In mijn script, om bepaalde user wijzigen te kunnen doorvoeren gebruik ik vaak de header(); functie.

Nu loop ik bijna aan het einde van het script tegen het volgende aan:

Warning: Cannot modify header information - headers already sent by (output started at /path/user_view.php:316) in /path/user_view.php on line 345

De code die hierbij hoort is:

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
                echo '<div id="other">';
                
                if(isset($_POST['other']))
                {                                        
                    $ssh->exec('zarafa-admin -u "'.getUserDetails('Username').'" -a "'.$_POST['type'].'" -n "'.$_POST['status'].'"');
                    
                    header('Location: index.php?page=user_view&user='.getUserDetails('Username').'');
                }            
                
                echo '<form method="post">';
                echo '<table id="edit" class="user">';
                echo '<tr>';
                echo '<td>Type</td> <td><select name="type">'.(isset($_POST['type']) ? ($_POST['type'] == '0' ? '<option value="0" selected="selected">Gebruiker</option><option value="1">Administrator</option>' : '') : '<option value="0" '.(getUserDetails('Administrator') == 'no' ? 'selected="selected"' : '').'>Gebruiker</option>').(isset($_POST['type']) ? ($_POST['type'] == '1' ? '<option value="0">Gebruiker</option><option value="1" selected="selected">Administrator</option>' : '') : '<option value="1" '.(getUserDetails('Administrator') == 'yes' ? 'selected="selected"' : '').'>Administrator</option>').'</select></td>';
                echo '</tr>';    
                echo '<tr>';
                echo '<td>Status</td> <td><select name="status">'.(isset($_POST['status']) ? ($_POST['status'] == '0' ? '<option value="0" selected="selected">Actief</option><option value="1">Niet actief</option>' : '') : '<option value="0" '.(getUserDetails('Active') == 'yes' ? 'selected="selected"' : '').'>Actief</option>').(isset($_POST['status']) ? ($_POST['status'] == '1' ? '<option value="0">Actief</option><option value="1" selected="selected">Niet actief</option>' : '') : '<option value="1" '.(getUserDetails('Active') == 'no' ? 'selected="selected"' : '').'>Niet actief</option>').'</select></td>';
                echo '</tr>';    
                echo '<tr>';
                echo '<td></td> <td><input type="submit" name="other" value="Opslaan" /> <input type="submit" name="cancel" value="Annuleren" /></td>';
                echo '</tr>';
                echo '</table>';
                echo '</form>';
                echo '</div>';
                
                echo '<div id="groups">';
                echo '</div>';
                
                echo '<div id="sendas">';
                
                if(isset($_POST['sendas']))
                {            
                    foreach($_POST as $key => $value)
                    {
                        if(strpos($key, 'user-') === 0)
                        {
                            $getValue = explode ('-', $value);
                        
                            if($getValue[0] == 1)
                            {
                                $ssh->exec('zarafa-admin -u "'.getUserDetails('Username').'" --add-sendas "'.$getValue[1].'"');
                                
                                header('Location: index.php?page=user_view&user='.getUserDetails('Username').'');
                            }
                            
                            if($getValue[0] == 0)
                            {
                                $ssh->exec('zarafa-admin -u "'.getUserDetails('Username').'" --del-sendas "'.$getValue[1].'"');
                                
                                header('Location: index.php?page=user_view&user='.getUserDetails('Username').'');
                            }
                        }
                    }
                }
                                
                echo '<form method="post">';            
                echo '<table>';
                echo '<tr>';
                echo '<th></th>';
                echo '<th>Ja</th>';
                echo '<th>Nee</th>';
                echo '</tr>';
                
                $getUsername = getUsers('0x6701001E');
                $getType = getUsers('0x67B10003');
                $getSendAsUsers = getSendAsUsers();

                $i = 0;
                
                foreach($getUsername as $key => $value)
                {
                    $i++;
                
                    echo '<tr>';
                    
                    if($getUsername[$key] != getUserDetails('Username'))
                    {
                        if($getType[$key] < 2)
                        {
                            echo '<td>'.$getUsername[$key].'</td>';
                            echo '<td><input type="radio" name="user-'.$i.'" value="1-'.$getUsername[$key].'" '.(in_array($getUsername[$key], $getSendAsUsers) ? 'checked' : '').' /></td>';
                            echo '<td><input type="radio" name="user-'.$i.'" value="0-'.$getUsername[$key].'" '.(!in_array($getUsername[$key], $getSendAsUsers) ? 'checked' : '').' /></td>';    
                        }
                    }
                    
                    echo '</tr>';
                }

                echo '<tr>';
                echo '<td><input type="submit" name="sendas" value="Opslaan" /> <input type="submit" name="cancel" value="Annuleren" /></td>';
                echo '</tr>';
                echo '</table>';
                echo '</form>';
                echo '</div>';


Waarbij de dik gedrukte regel 13 regel 316 is in het script.

Eerder is het script heb ik ook al 4/5 stukken met de header functie en dat gaat gewoon goed, en heb daar niks geen errors.

Ook heb ik helemaal boven en onderaan de pagina's het volgende al, zonder enig resultaat:

ob_start();
ob_end_flush();

Wat doe ik fout?
Gewijzigd op 08/01/2014 10:09:19 door Gerben Kwakkel
 
PHP hulp

PHP hulp

18/12/2024 10:07:06
 
Kris Peeters

Kris Peeters

08/01/2014 10:21:09
Quote Anchor link
Je mag niet eerst karakters echo'en en daarna header gebruiken.

Als je header wil gebruiken, moet je dat doen vóór de eerste echo.

Er is geen enkele goede reden te verzinnen waarom je eerst <div id="other"> naar de client stuurt; om daarna nog met header de pagina te verlaten
 
Gerben Kwakkel

Gerben Kwakkel

08/01/2014 10:25:11
Quote Anchor link
Omdat die als het ware mijn tabjes scheiden. Waarom werkt dit wel dan?

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
                echo '<div id="other">';
                
                if(isset($_POST['other']))
                {                                        
                    $ssh->exec('zarafa-admin -u "'.getUserDetails('Username').'" -a "'.$_POST['type'].'" -n "'.$_POST['status'].'"');
                    
                    header('Location: index.php?page=user_view&user='.getUserDetails('Username').'');
                }            
                
                echo '<form method="post">';
                echo '<table id="edit" class="user">';
                echo '<tr>';
                echo '<td>Type</td> <td><select name="type">'.(isset($_POST['type']) ? ($_POST['type'] == '0' ? '<option value="0" selected="selected">Gebruiker</option><option value="1">Administrator</option>' : '') : '<option value="0" '.(getUserDetails('Administrator') == 'no' ? 'selected="selected"' : '').'>Gebruiker</option>').(isset($_POST['type']) ? ($_POST['type'] == '1' ? '<option value="0">Gebruiker</option><option value="1" selected="selected">Administrator</option>' : '') : '<option value="1" '.(getUserDetails('Administrator') == 'yes' ? 'selected="selected"' : '').'>Administrator</option>').'</select></td>';
                echo '</tr>';    
                echo '<tr>';
                echo '<td>Status</td> <td><select name="status">'.(isset($_POST['status']) ? ($_POST['status'] == '0' ? '<option value="0" selected="selected">Actief</option><option value="1">Niet actief</option>' : '') : '<option value="0" '.(getUserDetails('Active') == 'yes' ? 'selected="selected"' : '').'>Actief</option>').(isset($_POST['status']) ? ($_POST['status'] == '1' ? '<option value="0">Actief</option><option value="1" selected="selected">Niet actief</option>' : '') : '<option value="1" '.(getUserDetails('Active') == 'no' ? 'selected="selected"' : '').'>Niet actief</option>').'</select></td>';
                echo '</tr>';    
                echo '<tr>';
                echo '<td></td> <td><input type="submit" name="other" value="Opslaan" /> <input type="submit" name="cancel" value="Annuleren" /></td>';
                echo '</tr>';
                echo '</table>';
                echo '</form>';
                echo '</div>';
 
Ivo P

Ivo P

08/01/2014 10:36:15
Quote Anchor link
mogelijk heb je op je server ingesteld staan dat een bepaald aantal bytes gebufferd wordt, zodat dat stukje '<div id="other">' nog even werd vastgehouden.

Nadeel daarvan is, dan je script prima werkt voor iemand met een korte naam die op een kort adres woont:

jo de bie
kerkstr 1

maar dan
jan-willem van hier-tot-ginder en terug
laan van meerdevoort 1542

ineens met een foutmelding geconfronteerd wordt, omdat je dan ineens wel de buffer geleegd hebt.
 
Gerben Kwakkel

Gerben Kwakkel

08/01/2014 10:37:51
Quote Anchor link
Hmm, oke! Wat zou hiervoor eventueel een oplossing kunnen zijn om toch de header te kunnen gebruiken?
 
Michael -

Michael -

08/01/2014 10:39:00
Quote Anchor link
De juiste manier is om eerst de headers te plaatsen en vervolgens pas de output (html, echo, print, etc)
Als je simpel regel 1 verplaatst naar regel 9, dan is het juist, maar in je script zitten nog meer headers die fout kunnen gaan. Of de headers of output verplaatsen of voor een minder mooie oplossing als meta refresh kiezen.
 
Kris Peeters

Kris Peeters

08/01/2014 10:46:51
Quote Anchor link
Gerben Kwakkel op 08/01/2014 10:25:11:
Omdat die als het ware mijn tabjes scheiden.


Je moet dat anders zien.
Het eerste onderscheid dat je moet maken, is:
- PHP logica bovenaan in de code zetten
- HTML genereren / echo'en onderaan de code

Vooraleer je <!doctype html> op het scherm zet, moet je al weten of je header zal gebruiken; of niet.
Die logica kan je perfect helemaal bovenaan het script al uitwerken.
 
Gerben Kwakkel

Gerben Kwakkel

08/01/2014 11:10:54
Quote Anchor link
Alleen, hoe moet ik zoiets als dit nu toepassen boven de HTML?

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
                echo '<div id="delete">';
                
                if(isset($_POST['delete']))
                {
                    $ssh->exec('zarafa-admin -d "'.getUserDetails('Username').'" && lat-users -d -f -c "'.getUserDetails('Username').'"');
            
                    header('Location: index.php?page=user_summary');
                }
                else
                {    
                    echo 'Weet u zeker dat u gebruiker <b>'.getUserDetails('Fullname').'</b> wilt verwijderen?<br /><br />';
                    echo '<form method="post">';
                    echo '<input type="submit" name="delete" value="Verwijderen" /> <input type="submit" name="cancel" value="Annuleren" />';
                    echo '</form>';
                }
                
                echo '</div>';
 
Ivo P

Ivo P

08/01/2014 11:17:57
Quote Anchor link
regel 1 naar regel 11 verplaatsen...
 
Kris Peeters

Kris Peeters

08/01/2014 11:18:23
Quote Anchor link
Waarom kan je die if(isset($_POST['delete'])) niet bovenaan zetten?

if(isset($_POST['delete'])) is toch op geen enkele wijze afhankelijk van echo '<div id="delete">'; ?
 
Erwin H

Erwin H

08/01/2014 11:19:44
Quote Anchor link
Ik denk nog veel meer. Je begint een html pagina normaal gesproken niet met '<div>', daar zit nog een rits boven. Met andere woorden, gewoon alle php code waarin je een header wilt versturen gewoon boven de eerste output zetten (zoals Kris al meldde). Dat is toch niet zo moeilijk?
 
Gerben Kwakkel

Gerben Kwakkel

17/01/2014 09:10:21
Quote Anchor link
Oké, even weggeweest maar hier ben ik weer. Hoe ga ik onderstaande code dan goed krijgen zonder dat de HTML al wordt ge-echo'ed voor de PHP?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
                echo '<div id="quota">';
                
                if(isset($_POST['quota']))
                {
                    $error = false;
                    $errorMessage = array();
                
                    if(!is_numeric($_POST['warninglevel']))
                    {
                        $error = true;
                        $errorMessage[] = 'Warning level is ongeldig';            
                    }
                    elseif($_POST['warninglevel'] > $_POST['softlevel'])
                    {
                        $error = true;
                        $errorMessage[] = 'Warning level mag niet hoger zijn als het soft level';            
                    }
                    elseif($_POST['warninglevel'] > $_POST['hardlevel'])
                    {
                        $error = true;
                        $errorMessage[] = 'Warning level mag niet hoger zijn als het hard level';
                    }
                    
                    if(!is_numeric($_POST['softlevel']))
                    {
                        $error = true;
                        $errorMessage[] = 'Soft level is ongeldig';            
                    }
                    elseif($_POST['softlevel'] > $_POST['hardlevel'])
                    {
                        $error = true;
                        $errorMessage[] = 'Soft level mag niet hoger zijn als het hard level';    
                    }
                    elseif($_POST['softlevel'] < $_POST['warninglevel'])
                    {
                        $error = true;
                        $errorMessage[] = 'Soft level mag niet lager zijn als het warning level';    
                    }
                    
                    if(!is_numeric($_POST['hardlevel']))
                    {
                        $error = true;
                        $errorMessage[] = 'Hard level is ongeldig';            
                    }
                    elseif($_POST['hardlevel'] < $_POST['softlevel'])
                    {
                        $error = true;
                        $errorMessage[] = 'Hard level mag niet lager zijn als het soft level';    
                    }
                    elseif($_POST['hardlevel'] < $_POST['warninglevel'])
                    {
                        $error = true;
                        $errorMessage[] = 'Hard level mag niet lager zijn als het warning level';    
                    }
                    
                    if($error)
                    {
                        echo '<p class="error"><b>Er is een probleem opgetreden:</b><br />';
                        
                        foreach($errorMessage as $message)
                        {
                            echo '- '.$message.'<br />';
                        }
                        
                        echo '</p>';
                    }
                    else
                    {                        
                        $ssh->exec('zarafa-admin -u "'.getUserDetails('Username').'" --qo "'.$_POST['quotasetting'].'" --qw "'.$_POST['warninglevel'].'" --qs "'.$_POST['softlevel'].'" --qh "'.$_POST['hardlevel'].'"');
                        
                        header('Location: index.php?page=user_view&user='.getUserDetails('Username').'');
                    }
                }            
                
                echo '<form method="post">';
                echo '<table id="edit" class="user">';    
                echo '<tr>';
                echo '<td>Eigen quota</td> <td><select name="quotasetting">'.(isset($_POST['quotasetting']) ? ($_POST['quotasetting'] == '1' ? '<option value="1" selected="selected">Ja</option><option value="0">Nee</option>' : '') : '<option value="1" '.(getUserDetails('Quota overrides') == 'yes' ? 'selected="selected"' : '').'>Ja</option>').(isset($_POST['quotasetting']) ? ($_POST['quotasetting'] == '0' ? '<option value="1">Ja</option><option value="0" selected="selected">Nee</option>' : '') : '<option value="0" '.(getUserDetails('Quota overrides') == 'no' ? 'selected="selected"' : '').'>Nee</option>').'</select></td>';
                echo '</tr>';    
                echo '<tr>';
                echo '<td>Warning level</td> <td><input type="text" name="warninglevel" value="'.(isset($_POST['warninglevel']) ? formValue('warninglevel') : (getUserDetails('Warning level') == 'unlimited' ? '0' : '').(substr(getUserDetails('Warning level'), -2) == 'KB' ? ''.round(getUserDetails('Warning level') / 1024, 0).'' : '').(substr(getUserDetails('Warning level'), -2) == 'MB' ? ''.round(getUserDetails('Warning level'), 0).'' : '')).'" size="3" autocomplete="off" />MB</td>';
                echo '</tr>';    
                echo '<tr>';
                echo '<td>Soft level</td> <td><input type="text" name="softlevel" value="'.(isset($_POST['softlevel']) ? formValue('softlevel') : (getUserDetails('Soft level') == 'unlimited' ? '0' : '').(substr(getUserDetails('Soft level'), -2) == 'KB' ? ''.round(getUserDetails('Soft level') / 1024, 0).'' : '').(substr(getUserDetails('Soft level'), -2) == 'MB' ? ''.round(getUserDetails('Soft level'), 0).'' : '')).'" size="3" autocomplete="off" />MB</td>';
                echo '</tr>';    
                echo '<tr>';
                echo '<td>Hard level</td> <td><input type="text" name="hardlevel" value="'.(isset($_POST['hardlevel']) ? formValue('hardlevel') : (getUserDetails('Hard level') == 'unlimited' ? '0' : '').(substr(getUserDetails('Hard level'), -2) == 'KB' ? ''.round(getUserDetails('Hard level') / 1024, 0).'' : '').(substr(getUserDetails('Hard level'), -2) == 'MB' ? ''.round(getUserDetails('Hard level'), 0).'' : '')).'" size="3" autocomplete="off" />MB</td>';
                echo '</tr>';
                echo '<tr>';
                echo '<td></td> <td><input type="submit" name="quota" value="Opslaan" /> <input type="submit" name="cancel" value="Annuleren" /></td>';
                echo '</tr>';
                echo '</table>';
                echo '</form>';
                echo '</div>';
 
Michael -

Michael -

17/01/2014 09:19:57
Quote Anchor link
Gerben Kwakkel op 17/01/2014 09:10:21:
Oké, even weggeweest maar hier ben ik weer. Hoe ga ik onderstaande code dan goed krijgen zonder dat de HTML al wordt ge-echo'ed voor de PHP?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
...


if en else omdraaien, ipv else nog een if, div naar beneden

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
<?php                
                if(isset($_POST['quota']))
                {

                    $error = false;
                    $errorMessage = array();
                
                    if(!is_numeric($_POST['warninglevel']))
                    {

                        $error = true;
                        $errorMessage[] = 'Warning level is ongeldig';            
                    }

                    elseif($_POST['warninglevel'] > $_POST['softlevel'])
                    {

                        $error = true;
                        $errorMessage[] = 'Warning level mag niet hoger zijn als het soft level';            
                    }

                    elseif($_POST['warninglevel'] > $_POST['hardlevel'])
                    {

                        $error = true;
                        $errorMessage[] = 'Warning level mag niet hoger zijn als het hard level';
                    }

                    
                    if(!is_numeric($_POST['softlevel']))
                    {

                        $error = true;
                        $errorMessage[] = 'Soft level is ongeldig';            
                    }

                    elseif($_POST['softlevel'] > $_POST['hardlevel'])
                    {

                        $error = true;
                        $errorMessage[] = 'Soft level mag niet hoger zijn als het hard level';    
                    }

                    elseif($_POST['softlevel'] < $_POST['warninglevel'])
                    {

                        $error = true;
                        $errorMessage[] = 'Soft level mag niet lager zijn als het warning level';    
                    }

                    
                    if(!is_numeric($_POST['hardlevel']))
                    {

                        $error = true;
                        $errorMessage[] = 'Hard level is ongeldig';            
                    }

                    elseif($_POST['hardlevel'] < $_POST['softlevel'])
                    {

                        $error = true;
                        $errorMessage[] = 'Hard level mag niet lager zijn als het soft level';    
                    }

                    elseif($_POST['hardlevel'] < $_POST['warninglevel'])
                    {

                        $error = true;
                        $errorMessage[] = 'Hard level mag niet lager zijn als het warning level';    
                    }

                    
                    if($error == false){
                        $ssh->exec('zarafa-admin -u "'.getUserDetails('Username').'" --qo "'.$_POST['quotasetting'].'" --qw "'.$_POST['warninglevel'].'" --qs "'.$_POST['softlevel'].'" --qh "'.$_POST['hardlevel'].'"');
                        
                        header('Location: index.php?page=user_view&user='.getUserDetails('Username').'');
                    }

                    
                    echo '<div id="quota">';
                    
                    if($error == true){
                    
                        echo '<p class="error"><b>Er is een probleem opgetreden:</b><br />';
                        
                        foreach($errorMessage as $message)
                        {

                            echo '- '.$message.'<br />';
                        }

                        
                        echo '</p>';
                    }
                }

                
                echo '<form method="post">';
                echo '<table id="edit" class="user">';    
                echo '<tr>';
                echo '<td>Eigen quota</td> <td><select name="quotasetting">'.(isset($_POST['quotasetting']) ? ($_POST['quotasetting'] == '1' ? '<option value="1" selected="selected">Ja</option><option value="0">Nee</option>' : '') : '<option value="1" '.(getUserDetails('Quota overrides') == 'yes' ? 'selected="selected"' : '').'>Ja</option>').(isset($_POST['quotasetting']) ? ($_POST['quotasetting'] == '0' ? '<option value="1">Ja</option><option value="0" selected="selected">Nee</option>' : '') : '<option value="0" '.(getUserDetails('Quota overrides') == 'no' ? 'selected="selected"' : '').'>Nee</option>').'</select></td>';
                echo '</tr>';    
                echo '<tr>';
                echo '<td>Warning level</td> <td><input type="text" name="warninglevel" value="'.(isset($_POST['warninglevel']) ? formValue('warninglevel') : (getUserDetails('Warning level') == 'unlimited' ? '0' : '').(substr(getUserDetails('Warning level'), -2) == 'KB' ? ''.round(getUserDetails('Warning level') / 1024, 0).'' : '').(substr(getUserDetails('Warning level'), -2) == 'MB' ? ''.round(getUserDetails('Warning level'), 0).'' : '')).'" size="3" autocomplete="off" />MB</td>';
                echo '</tr>';    
                echo '<tr>';
                echo '<td>Soft level</td> <td><input type="text" name="softlevel" value="'.(isset($_POST['softlevel']) ? formValue('softlevel') : (getUserDetails('Soft level') == 'unlimited' ? '0' : '').(substr(getUserDetails('Soft level'), -2) == 'KB' ? ''.round(getUserDetails('Soft level') / 1024, 0).'' : '').(substr(getUserDetails('Soft level'), -2) == 'MB' ? ''.round(getUserDetails('Soft level'), 0).'' : '')).'" size="3" autocomplete="off" />MB</td>';
                echo '</tr>';    
                echo '<tr>';
                echo '<td>Hard level</td> <td><input type="text" name="hardlevel" value="'.(isset($_POST['hardlevel']) ? formValue('hardlevel') : (getUserDetails('Hard level') == 'unlimited' ? '0' : '').(substr(getUserDetails('Hard level'), -2) == 'KB' ? ''.round(getUserDetails('Hard level') / 1024, 0).'' : '').(substr(getUserDetails('Hard level'), -2) == 'MB' ? ''.round(getUserDetails('Hard level'), 0).'' : '')).'" size="3" autocomplete="off" />MB</td>';
                echo '</tr>';
                echo '<tr>';
                echo '<td></td> <td><input type="submit" name="quota" value="Opslaan" /> <input type="submit" name="cancel" value="Annuleren" /></td>';
                echo '</tr>';
                echo '</table>';
                echo '</form>';
                echo '</div>';
?>


op regel 58 kun je die .'' aan het einde weg laten.
Je kunt ipv $error true,false ook evengoed controleren op $errorMessage.
Je controleert of een formulier gepost is met if($_SERVER['REQUEST_METHOD'] == 'POST')
Gewijzigd op 17/01/2014 09:29:33 door Michael -
 
Gerben Kwakkel

Gerben Kwakkel

17/01/2014 09:54:38
Quote Anchor link
Ja alleen daaronder komt weer een blok met andere gegevens die gewijzigd moeten worden, dus daar na die </div> ga ik weer verder met een script. Kijk hier even het volledige script:

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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
<?php
                echo '<div id="general">';
                
                list($getFirstname, $getLastname) = explode(' ', getUserDetails('Fullname'), 2);
                
                if(isset($_POST['general']))
                {
                
                    $error = false;
                    $errorMessage = array();

                    if(empty($_POST['firstname']) || !preg_match("/^[a-zA-Z -]+$/", $_POST['firstname']))
                    {

                        $error = true;
                        $errorMessage[] = 'Voornaam is ongeldig';
                    }
            
                    
                    if(empty($_POST['lastname']) || !preg_match("/^[a-zA-Z -]+$/", $_POST['lastname']))
                    {

                        $error = true;
                        $errorMessage[] = 'Achternaam is ongeldig';
                    }

                    
                    if(empty($_POST['emailaddress']) || !filter_var($_POST['emailaddress'], FILTER_VALIDATE_EMAIL))
                    {

                        $error = true;
                        $errorMessage[] = 'E-mailadres is ongeldig';
                    }

                    
                    if($error)
                    {

                        echo '<p class="error"><b>Er is een probleem opgetreden:</b><br />';
                        
                        foreach($errorMessage as $message)
                        {

                            echo '- '.$message.'<br />';
                        }

                        
                        echo '</p>';
                    }

                    else
                    {
                        if(empty($_POST['password']) && (empty($_POST['confirm_password'])))
                        {
                            
                            $ssh->exec('zarafa-admin -u "'.getUserDetails('Username').'" -f "'.$_POST['firstname'].' '.$_POST['lastname'].'" -e "'.$_POST['emailaddress'].'" && lat-pseudonyms -d -f -c "'.getUserDetails('Username').' | '.str_replace(array(' ', '-'), array('.', '.'), strtolower($getFirstname)).'.'.str_replace(array(' ', '-'), array('.', '.'), strtolower($getLastname)).' | '.str_replace(array(' ', '-'), array('_', '_'), strtolower($getFirstname)).'_'.str_replace(array(' ', '-'), array('_', '_'), strtolower($getLastname)).'" && lat-users -a -c "'.getUserDetails('Username').' | '.$_POST['firstname'].' | '.$_POST['lastname'].'" && lat-pseudonyms -a -c "'.getUserDetails('Username').' | '.str_replace(array(' ', '-'), array('.', '.'), strtolower($_POST['firstname'])).'.'.str_replace(array(' ', '-'), array('.', '.'), strtolower($_POST['lastname'])).' | '.str_replace(array(' ', '-'), array('_', '_'), strtolower($_POST['firstname'])).'_'.str_replace(array(' ', '-'), array('_', '_'), strtolower($_POST['lastname'])).'"');
                            
                            header('Location: index.php?page=user_view&user='.getUserDetails('Username').'');
                        }


                        if(!empty($_POST['password']))
                        {

                            $error = false;
                            $errorMessage = array();
                        
                            if($_POST['password'] != $_POST['confirm_password'] || !preg_match('~^(?=[^a-z]*[a-z])(?=[^A-Z]*[A-Z])(?=\D*\d)(?=[A-Za-z0-9]*[^A-Za-z0-9])\S{7,}$~', $_POST['password']))
                            {

                                $error = true;
                                $errorMessage[] = 'Wachtwoorden is ongeldig';
                            }

                            
                            if($error)
                            {

                                echo '<p class="error"><b>Er is een probleem opgetreden:</b><br />';
                                
                                foreach($errorMessage as $message)
                                {

                                    echo '- '.$message.'<br />';
                                }

                                
                                echo '</p>';
                            }

                            else
                            {
                                $ssh->exec('zarafa-admin -u "'.getUserDetails('Username').'" -f "'.$_POST['firstname'].' '.$_POST['lastname'].'" -e "'.$_POST['emailaddress'].'" -p "'.$_POST['password'].'" && lat-pseudonyms -d -f -c "'.getUserDetails('Username').' | '.str_replace(array(' ', '-'), array('.', '.'), strtolower($getFirstname)).'.'.str_replace(array(' ', '-'), array('.', '.'), strtolower($getLastname)).' | '.str_replace(array(' ', '-'), array('_', '_'), strtolower($getFirstname)).'_'.str_replace(array(' ', '-'), array('_', '_'), strtolower($getLastname)).'" && lat-users -a -c "'.getUserDetails('Username').' | '.$_POST['firstname'].' | '.$_POST['lastname'].' | '.$_POST['password'].'" && lat-pseudonyms -a -c "'.getUserDetails('Username').' | '.str_replace(array(' ', '-'), array('.', '.'), strtolower($_POST['firstname'])).'.'.str_replace(array(' ', '-'), array('.', '.'), strtolower($_POST['lastname'])).' | '.str_replace(array(' ', '-'), array('_', '_'), strtolower($_POST['firstname'])).'_'.str_replace(array(' ', '-'), array('_', '_'), strtolower($_POST['lastname'])).'"');
                                
                                header('Location: index.php?page=user_view&user='.getUserDetails('Username').'');
                            }
                        }
                    }
                }

                    
                echo '<form method="post">';
                echo '<table id="edit" class="user">';
                echo '<tr>';
                echo '<td>Voornaam</td> <td><input type="text" name="firstname" value="'.(isset($_POST['firstname']) ? formValue('firstname') : $getFirstname).'" size="25" autocomplete="off" /></td>';
                echo '</tr>';        
                echo '<tr>';
                echo '<td>Achternaam</td> <td><input type="text" name="lastname" value="'.(isset($_POST['lastname']) ? formValue('lastname') : $getLastname).'" size="25" autocomplete="off" /></td>';
                echo '</tr>';
                echo '<tr>';
                echo '<td>E-mailadres</td> <td><input type="text" name="emailaddress" value="'.(isset($_POST['emailaddress']) ? formValue('emailaddress') : getUserDetails('Emailaddress')).'" size="25" autocomplete="off" /></td>';
                echo '</tr>';
                echo '<tr>';
                echo '<td>Wachtwoord</td> <td><input type="password" name="password" value="" size="25" autocomplete="off" /></td>';
                echo '</tr>';    
                echo '<tr>';
                echo '<td>Bevestig wachtwoord</td> <td><input type="password" name="confirm_password" value="" size="25" autocomplete="off" /></td>';
                echo '</tr>';
                echo '<tr>';
                echo '<td></td> <td><input type="submit" name="general" value="Opslaan" /> <input type="submit" name="cancel" value="Annuleren" /></td>';
                echo '</tr>';
                echo '</table>';
                echo '</form>';
                echo '</div>';

                echo '<div id="quota">';
                
                if(isset($_POST['quota']))
                {

                    $error = false;
                    $errorMessage = array();
                
                    if(!is_numeric($_POST['warninglevel']))
                    {

                        $error = true;
                        $errorMessage[] = 'Warning level is ongeldig';            
                    }

                    elseif($_POST['warninglevel'] > $_POST['softlevel'])
                    {

                        $error = true;
                        $errorMessage[] = 'Warning level mag niet hoger zijn als het soft level';            
                    }

                    elseif($_POST['warninglevel'] > $_POST['hardlevel'])
                    {

                        $error = true;
                        $errorMessage[] = 'Warning level mag niet hoger zijn als het hard level';
                    }

                    
                    if(!is_numeric($_POST['softlevel']))
                    {

                        $error = true;
                        $errorMessage[] = 'Soft level is ongeldig';            
                    }

                    elseif($_POST['softlevel'] > $_POST['hardlevel'])
                    {

                        $error = true;
                        $errorMessage[] = 'Soft level mag niet hoger zijn als het hard level';    
                    }

                    elseif($_POST['softlevel'] < $_POST['warninglevel'])
                    {

                        $error = true;
                        $errorMessage[] = 'Soft level mag niet lager zijn als het warning level';    
                    }

                    
                    if(!is_numeric($_POST['hardlevel']))
                    {

                        $error = true;
                        $errorMessage[] = 'Hard level is ongeldig';            
                    }

                    elseif($_POST['hardlevel'] < $_POST['softlevel'])
                    {

                        $error = true;
                        $errorMessage[] = 'Hard level mag niet lager zijn als het soft level';    
                    }

                    elseif($_POST['hardlevel'] < $_POST['warninglevel'])
                    {

                        $error = true;
                        $errorMessage[] = 'Hard level mag niet lager zijn als het warning level';    
                    }

                    
                    if($error)
                    {

                        echo '<p class="error"><b>Er is een probleem opgetreden:</b><br />';
                        
                        foreach($errorMessage as $message)
                        {

                            echo '- '.$message.'<br />';
                        }

                        
                        echo '</p>';
                    }

                    else
                    {                        
                        $ssh->exec('zarafa-admin -u "'.getUserDetails('Username').'" --qo "'.$_POST['quotasetting'].'" --qw "'.$_POST['warninglevel'].'" --qs "'.$_POST['softlevel'].'" --qh "'.$_POST['hardlevel'].'"');
                        
                        header('Location: index.php?page=user_view&user='.getUserDetails('Username').'');
                    }
                }
            
                
                echo '<form method="post">';
                echo '<table id="edit" class="user">';    
                echo '<tr>';
                echo '<td>Eigen quota</td> <td><select name="quotasetting">'.(isset($_POST['quotasetting']) ? ($_POST['quotasetting'] == '1' ? '<option value="1" selected="selected">Ja</option><option value="0">Nee</option>' : '') : '<option value="1" '.(getUserDetails('Quota overrides') == 'yes' ? 'selected="selected"' : '').'>Ja</option>').(isset($_POST['quotasetting']) ? ($_POST['quotasetting'] == '0' ? '<option value="1">Ja</option><option value="0" selected="selected">Nee</option>' : '') : '<option value="0" '.(getUserDetails('Quota overrides') == 'no' ? 'selected="selected"' : '').'>Nee</option>').'</select></td>';
                echo '</tr>';    
                echo '<tr>';
                echo '<td>Warning level</td> <td><input type="text" name="warninglevel" value="'.(isset($_POST['warninglevel']) ? formValue('warninglevel') : (getUserDetails('Warning level') == 'unlimited' ? '0' : '').(substr(getUserDetails('Warning level'), -2) == 'KB' ? ''.round(getUserDetails('Warning level') / 1024, 0).'' : '').(substr(getUserDetails('Warning level'), -2) == 'MB' ? ''.round(getUserDetails('Warning level'), 0).'' : '')).'" size="3" autocomplete="off" />MB</td>';
                echo '</tr>';    
                echo '<tr>';
                echo '<td>Soft level</td> <td><input type="text" name="softlevel" value="'.(isset($_POST['softlevel']) ? formValue('softlevel') : (getUserDetails('Soft level') == 'unlimited' ? '0' : '').(substr(getUserDetails('Soft level'), -2) == 'KB' ? ''.round(getUserDetails('Soft level') / 1024, 0).'' : '').(substr(getUserDetails('Soft level'), -2) == 'MB' ? ''.round(getUserDetails('Soft level'), 0).'' : '')).'" size="3" autocomplete="off" />MB</td>';
                echo '</tr>';    
                echo '<tr>';
                echo '<td>Hard level</td> <td><input type="text" name="hardlevel" value="'.(isset($_POST['hardlevel']) ? formValue('hardlevel') : (getUserDetails('Hard level') == 'unlimited' ? '0' : '').(substr(getUserDetails('Hard level'), -2) == 'KB' ? ''.round(getUserDetails('Hard level') / 1024, 0).'' : '').(substr(getUserDetails('Hard level'), -2) == 'MB' ? ''.round(getUserDetails('Hard level'), 0).'' : '')).'" size="3" autocomplete="off" />MB</td>';
                echo '</tr>';
                echo '<tr>';
                echo '<td></td> <td><input type="submit" name="quota" value="Opslaan" /> <input type="submit" name="cancel" value="Annuleren" /></td>';
                echo '</tr>';
                echo '</table>';
                echo '</form>';
                echo '</div>';
?>
 
Michael -

Michael -

17/01/2014 10:20:06
Quote Anchor link
Je moet de volgorde van het programmeren aanpassen. Gestructureerd ipv alles door elkaar.

Helemaal boven aan begin je met if($_SERVER['REQUEST_METHOD'] == 'POST')
Daarna kijk je welk formulier is gepost, quota of general.
Op basis van welk formulier doe je de controles voor de velden, sla je errors op in variabelen en bij OK stuur je header.

Daarna komt je html gedeelte <html>... <div>

Vervolgens ga je controleren of er errors zijn en zo ja deze weergeven.

Daarna de formulieren etc.

Toevoeging op 17/01/2014 11:20:28:

Hopelijk helpt dit je verder op weg. Ik heb het error gedeelte eruit gehaald, ik controleer in plaats daarvan op errorMessage.
Je wachtwoord controle is een beetje vreemd en je inputs blijven niet onthouden naar de post, maar dat zijn dan nog dingen die je zelf kunt verbeteren.

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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
<?php
list($getFirstname, $getLastname) = explode(' ', getUserDetails('Fullname'), 2);

if($_SERVER['REQUEST_METHOD'] == 'POST'){

    $errorMessage = array();
    
    if(isset($_POST['general']))
    {

        if(empty($_POST['firstname']) || !preg_match("/^[a-zA-Z -]+$/", $_POST['firstname']))
        {

            $errorMessage['general'][] = 'Voornaam is ongeldig';
        }

        
        if(empty($_POST['lastname']) || !preg_match("/^[a-zA-Z -]+$/", $_POST['lastname']))
        {

            $errorMessage['general'][] = 'Achternaam is ongeldig';
        }

        
        if(empty($_POST['emailaddress']) || !filter_var($_POST['emailaddress'], FILTER_VALIDATE_EMAIL))
        {

            $errorMessage['general'][] = 'E-mailadres is ongeldig';
        }

        
        if(!isset($errorMessage['general']) || count($errorMessage['general']) == 0)
        {

            if(empty($_POST['password']) && (empty($_POST['confirm_password'])))
            {

                $ssh->exec('zarafa-admin -u "'.getUserDetails('Username').'" -f "'.$_POST['firstname'].' '.$_POST['lastname'].'" -e "'.$_POST['emailaddress'].'" && lat-pseudonyms -d -f -c "'.getUserDetails('Username').' | '.str_replace(array(' ', '-'), array('.', '.'), strtolower($getFirstname)).'.'.str_replace(array(' ', '-'), array('.', '.'), strtolower($getLastname)).' | '.str_replace(array(' ', '-'), array('_', '_'), strtolower($getFirstname)).'_'.str_replace(array(' ', '-'), array('_', '_'), strtolower($getLastname)).'" && lat-users -a -c "'.getUserDetails('Username').' | '.$_POST['firstname'].' | '.$_POST['lastname'].'" && lat-pseudonyms -a -c "'.getUserDetails('Username').' | '.str_replace(array(' ', '-'), array('.', '.'), strtolower($_POST['firstname'])).'.'.str_replace(array(' ', '-'), array('.', '.'), strtolower($_POST['lastname'])).' | '.str_replace(array(' ', '-'), array('_', '_'), strtolower($_POST['firstname'])).'_'.str_replace(array(' ', '-'), array('_', '_'), strtolower($_POST['lastname'])).'"');
                
                header('Location: index.php?page=user_view&user='.getUserDetails('Username'));
            }


            if(!empty($_POST['password']))
            {

                if($_POST['password'] != $_POST['confirm_password'] || !preg_match('~^(?=[^a-z]*[a-z])(?=[^A-Z]*[A-Z])(?=\D*\d)(?=[A-Za-z0-9]*[^A-Za-z0-9])\S{7,}$~', $_POST['password']))
                {

                    $errorMessage['general'][] = 'Wachtwoorden is ongeldig';
                }

                
                if(!isset($errorMessage['general']) || count($errorMessage['general']) == 0)
                {

                    $ssh->exec('zarafa-admin -u "'.getUserDetails('Username').'" -f "'.$_POST['firstname'].' '.$_POST['lastname'].'" -e "'.$_POST['emailaddress'].'" -p "'.$_POST['password'].'" && lat-pseudonyms -d -f -c "'.getUserDetails('Username').' | '.str_replace(array(' ', '-'), array('.', '.'), strtolower($getFirstname)).'.'.str_replace(array(' ', '-'), array('.', '.'), strtolower($getLastname)).' | '.str_replace(array(' ', '-'), array('_', '_'), strtolower($getFirstname)).'_'.str_replace(array(' ', '-'), array('_', '_'), strtolower($getLastname)).'" && lat-users -a -c "'.getUserDetails('Username').' | '.$_POST['firstname'].' | '.$_POST['lastname'].' | '.$_POST['password'].'" && lat-pseudonyms -a -c "'.getUserDetails('Username').' | '.str_replace(array(' ', '-'), array('.', '.'), strtolower($_POST['firstname'])).'.'.str_replace(array(' ', '-'), array('.', '.'), strtolower($_POST['lastname'])).' | '.str_replace(array(' ', '-'), array('_', '_'), strtolower($_POST['firstname'])).'_'.str_replace(array(' ', '-'), array('_', '_'), strtolower($_POST['lastname'])).'"');
                    
                    header('Location: index.php?page=user_view&user='.getUserDetails('Username'));
                }
            }
        }
    }

    else if(isset($_POST['quota']))
    {

        if(!is_numeric($_POST['warninglevel']))
        {

            $errorMessage['quota'][] = 'Warning level is ongeldig';            
        }

        elseif($_POST['warninglevel'] > $_POST['softlevel'])
        {

            $errorMessage['quota'][] = 'Warning level mag niet hoger zijn als het soft level';            
        }

        elseif($_POST['warninglevel'] > $_POST['hardlevel'])
        {

            $errorMessage['quota'][] = 'Warning level mag niet hoger zijn als het hard level';
        }

        
        if(!is_numeric($_POST['softlevel']))
        {

            $errorMessage['quota'][] = 'Soft level is ongeldig';            
        }

        elseif($_POST['softlevel'] > $_POST['hardlevel'])
        {

            $errorMessage['quota'][] = 'Soft level mag niet hoger zijn als het hard level';    
        }

        elseif($_POST['softlevel'] < $_POST['warninglevel'])
        {

            $errorMessage['quota'][] = 'Soft level mag niet lager zijn als het warning level';    
        }

        
        if(!is_numeric($_POST['hardlevel']))
        {

            $errorMessage['quota'][] = 'Hard level is ongeldig';            
        }

        elseif($_POST['hardlevel'] < $_POST['softlevel'])
        {

            $errorMessage['quota'][] = 'Hard level mag niet lager zijn als het soft level';    
        }

        elseif($_POST['hardlevel'] < $_POST['warninglevel'])
        {

            $errorMessage['quota'][] = 'Hard level mag niet lager zijn als het warning level';    
        }

        
        if(!isset($errorMessage['quota']) || count($errorMessage['quota']) == 0)
        {

            $ssh->exec('zarafa-admin -u "'.getUserDetails('Username').'" --qo "'.$_POST['quotasetting'].'" --qw "'.$_POST['warninglevel'].'" --qs "'.$_POST['softlevel'].'" --qh "'.$_POST['hardlevel'].'"');
            
            header('Location: index.php?page=user_view&user='.getUserDetails('Username'));
        }
    }
}


 echo '<div id="general">';

if(isset($errorMessage['general']) && count($errorMessage['general'] > 0))
{

    echo '<p class="error"><b>Er is een probleem opgetreden:</b><br />';
    
    foreach($errorMessage['general'] as $message)
    {

        echo '- '.$message.'<br />';
    }

    
    echo '</p>';
}

    
echo '<form method="post">';
echo '<table id="edit" class="user">';
echo '<tr>';
echo '<td>Voornaam</td> <td><input type="text" name="firstname" value="'.(isset($_POST['firstname']) ? formValue('firstname') : $getFirstname).'" size="25" autocomplete="off" /></td>';
echo '</tr>';        
echo '<tr>';
echo '<td>Achternaam</td> <td><input type="text" name="lastname" value="'.(isset($_POST['lastname']) ? formValue('lastname') : $getLastname).'" size="25" autocomplete="off" /></td>';
echo '</tr>';
echo '<tr>';
echo '<td>E-mailadres</td> <td><input type="text" name="emailaddress" value="'.(isset($_POST['emailaddress']) ? formValue('emailaddress') : getUserDetails('Emailaddress')).'" size="25" autocomplete="off" /></td>';
echo '</tr>';
echo '<tr>';
echo '<td>Wachtwoord</td> <td><input type="password" name="password" value="" size="25" autocomplete="off" /></td>';
echo '</tr>';    
echo '<tr>';
echo '<td>Bevestig wachtwoord</td> <td><input type="password" name="confirm_password" value="" size="25" autocomplete="off" /></td>';
echo '</tr>';
echo '<tr>';
echo '<td></td> <td><input type="submit" name="general" value="Opslaan" /> <input type="submit" name="cancel" value="Annuleren" /></td>';
echo '</tr>';
echo '</table>';
echo '</form>';
echo '</div>';

echo '<div id="quota">';

if(isset($errorMessage['quota']) && count($errorMessage['quota'] > 0))
{

    echo '<p class="error"><b>Er is een probleem opgetreden:</b><br />';
    
    foreach($errorMessage['quota'] as $message)
    {

        echo '- '.$message.'<br />';
    }

    
    echo '</p>';
}


echo '<form method="post">';
echo '<table id="edit" class="user">';    
echo '<tr>';
echo '<td>Eigen quota</td> <td><select name="quotasetting">'.(isset($_POST['quotasetting']) ? ($_POST['quotasetting'] == '1' ? '<option value="1" selected="selected">Ja</option><option value="0">Nee</option>' : '') : '<option value="1" '.(getUserDetails('Quota overrides') == 'yes' ? 'selected="selected"' : '').'>Ja</option>').(isset($_POST['quotasetting']) ? ($_POST['quotasetting'] == '0' ? '<option value="1">Ja</option><option value="0" selected="selected">Nee</option>' : '') : '<option value="0" '.(getUserDetails('Quota overrides') == 'no' ? 'selected="selected"' : '').'>Nee</option>').'</select></td>';
echo '</tr>';    
echo '<tr>';
echo '<td>Warning level</td> <td><input type="text" name="warninglevel" value="'.(isset($_POST['warninglevel']) ? formValue('warninglevel') : (getUserDetails('Warning level') == 'unlimited' ? '0' : '').(substr(getUserDetails('Warning level'), -2) == 'KB' ? ''.round(getUserDetails('Warning level') / 1024, 0).'' : '').(substr(getUserDetails('Warning level'), -2) == 'MB' ? ''.round(getUserDetails('Warning level'), 0).'' : '')).'" size="3" autocomplete="off" />MB</td>';
echo '</tr>';    
echo '<tr>';
echo '<td>Soft level</td> <td><input type="text" name="softlevel" value="'.(isset($_POST['softlevel']) ? formValue('softlevel') : (getUserDetails('Soft level') == 'unlimited' ? '0' : '').(substr(getUserDetails('Soft level'), -2) == 'KB' ? ''.round(getUserDetails('Soft level') / 1024, 0).'' : '').(substr(getUserDetails('Soft level'), -2) == 'MB' ? ''.round(getUserDetails('Soft level'), 0).'' : '')).'" size="3" autocomplete="off" />MB</td>';
echo '</tr>';    
echo '<tr>';
echo '<td>Hard level</td> <td><input type="text" name="hardlevel" value="'.(isset($_POST['hardlevel']) ? formValue('hardlevel') : (getUserDetails('Hard level') == 'unlimited' ? '0' : '').(substr(getUserDetails('Hard level'), -2) == 'KB' ? ''.round(getUserDetails('Hard level') / 1024, 0).'' : '').(substr(getUserDetails('Hard level'), -2) == 'MB' ? ''.round(getUserDetails('Hard level'), 0).'' : '')).'" size="3" autocomplete="off" />MB</td>';
echo '</tr>';
echo '<tr>';
echo '<td></td> <td><input type="submit" name="quota" value="Opslaan" /> <input type="submit" name="cancel" value="Annuleren" /></td>';
echo '</tr>';
echo '</table>';
echo '</form>';
echo '</div>';
?>
 
Gerben Kwakkel

Gerben Kwakkel

17/01/2014 11:31:11
Quote Anchor link
Maar mijn pagina bestaat uit verschillende tabjes door middel van <div id="quota">, <div id="general">. Deze divjes moeten dus de pagina's/tabjes scheiden. Dat kan dan niet zoals Michael - het vermeld volgens mij.
 
Ivo P

Ivo P

17/01/2014 11:36:40
Quote Anchor link
natuurlijk kan dat wel.
Misschien wordt het overzichtelijker als je eerst je script opgebouwd denkt als

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
// doe een hoop validaties en evt een header()
include 'tab1.php';

// doe weer validaties en evt een header()
include 'tab2.php';

// en nod een keer
include 'tab3.php';
?>


Dat vereist dus dat je evenzoveel "view"files voor je tabs aanmaakt.

Je hebt nu nog steeds hetzelfde probleem, maar nu doen we een aanpassing:


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
// doe een hoop validaties en evt een header()

// doe weer validaties en evt een header()

// en nod een keer


include 'tab1.php';
include 'tab2.php';
include 'tab3.php';
?>


dus wat eerder al gezegd wordt:
doe eerst je complete php afhandeling (die in feite gewoon vars vult met de benodigde waarden)
en toon dan eventueel pas wat
Gewijzigd op 17/01/2014 12:05:35 door Ivo P
 
Michael -

Michael -

17/01/2014 11:43:47
Quote Anchor link
Gerben Kwakkel op 17/01/2014 11:31:11:
Maar mijn pagina bestaat uit verschillende tabjes door middel van <div id="quota">, <div id="general">. Deze divjes moeten dus de pagina's/tabjes scheiden. Dat kan dan niet zoals Michael - het vermeld volgens mij.


Heb je de toegevoegde code al bekeken?
 



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.