Cannot modify header information

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior Java developer (fullstack)

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

Bekijk vacature »

Junior Software Developer C# Verhuursector Verhuur

Samengevat: Wij ontwikkelen en leveren softwaresystemen voor de logistieke sector en de verhuursector. Ben jij geschikt als Junior Software Developer? Heb je ervaring met Delphi? Vaste baan: C# Software Developer Logistiek HBO €2.500 - €3.900 Deze werkgever is een software ontwikkelaar, gericht op software voor de logistieke sector. Deze werkgever heeft eigen producten ontwikkelen en leveren ook maatwerk. Ons bedrijf kent een boeiende en inspirerende werkomgeving met een open cultuur en mogelijkheden voor je verdere ontwikkeling. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om

Bekijk vacature »

Junior .NET Developer

Dit ga je doen Als junior .NET Developer lever je met jouw oplossingen direct een bijdrage aan de bedrijfsprocessen van de klanten. Werkzaamheden waar jij je zoal mee bezig houdt zijn; Het ontwikkelen, onderhouden en optimaliseren van de draaiende platforms van de klanten; Softwareontwikkeling middels C#, .NET; Klantcontact om de wensen te bespreken en uit te werken; Optimaliseren van de (huidige) bedrijfsprocessen; De IT-afdeling bestaat uit 30 personen verdeeld over 3 teams. Het team waar je in terecht komt bestaat uit ongeveer tien man. Het is een team wat bestaat uit betrokken collega’s, waar iedereen bereidt is om elkaar te

Bekijk vacature »

Medior Java developer

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

Bekijk vacature »

Hands-on Solution Architect / Software Architect (

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Solution Architect / Software Architect op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je werkt samen met gedreven DevOps teams, bestaande uit frontend, backend en middleware developers, testers, UX-designers. Samen met de teams ben je continu op zoek naar de beste oplossingen voor onze klanten. Als Solution Architect onderzoek

Bekijk vacature »

Front-end React developer

Functie Het frontend team bestaat momenteel uit 4 dedicated front-enders en is hard aan het groeien! Ook werken er diverse designers waar je veel mee schakelt. Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren, jij bent hierin de schakel tussen de eindgebruiker en de slimme backend. Je werkt in het frontend team samen met de backend teams en product owners om te zorgen dat onze applicaties een fijne gebruikerservaring opleveren. Ze werken o.a. met: React, Atomic design, Styled components, JavaScript / TypeScript, NPM, Webpack Blade templates, HTML, SCSS, Git flow. Eisen • HBO

Bekijk vacature »

Developer Full Stack

Functie omschrijving Developer gezocht! Ben jij een enthousiaste developer die graag wil bijdragen aan ontwikkelingen binnen een mooie organisatie? Solliciteer dan snel. Wij zijn op zoek naar een Full Stack Developer uit de regio Nijkerk die gaat bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van een SaaS applicatie. Je moet beschikken over beheersing van zowel de Nederlandse als Engelse taal aangezien je samen met de klant gaat werken. Bedrijfsprofiel Je komt te werken binnen een echt familiebedrijf dat al sinds 1925 actief is binnen de FMCG branche. Het bedrijf heeft 40 medewerkers en er heerst een platte communicatiestructuur waarbij

Bekijk vacature »

Lead C++ Developer

De rol van Lead C++ Developer Als Lead C++ developer bij KUBUS word je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de desktop applicaties van BIMcollab, ons platform voor 3D model-validatie en issue-management bedoeld om de kwaliteit van 3D design-modellen voor gebouwen te verbeteren. Betere 3D modellen leiden tot betere gebouwen, dus zo draag je bij aan verduurzaming van de gebouwde omgeving met slimmer gebruik van materialen, minder verspilling en energie-efficiënte gebouwen. Een goede gebruikerservaring staat bij ons hoog in het vaandel; we gaan in onze ontwikkeling voor innovatie en kwaliteit. In je rol als

Bekijk vacature »

Anaplan Developer

Dit ga je doen What are you going to do: Picking up Stories: Design planning had, how are we going to build it in Anaplan; Talking to the end user to build a forecasting model; Having contact with the data team about which data is needed; Being able to convert an Excel sheet into a 3, 4 or 5 dimensional modeling environment; Giving knowledge sessions about Anaplan; Solving incidents; Making instructional videos on how teams should read forecasts; Writing blogs about forecasting. Hier ga je werken We are looking for an Anaplan Builder to deliver end-to-end solutions within a big

Bekijk vacature »

SAP Integratie Ontwikkelaar

Ben jij ambitieus in de verdere ontwikkeling van SAP binnen HANOS, en heb je kennis van SAP PI, CPI (SAP integration suite) en of andere middleware tooling? Dan ben jij mogelijk onze nieuwe SAP Integratie (middleware) Ontwikkelaar! Lees snel verder en solliciteer! Wat ga je doen? Als SAP Financieel Consultant ben je, als deel van een gedreven team van interne SAP consultants, de schakel tussen de gebruikersorganisatie en ICT. Je draagt proactief bij aan een optimale aansluiting van de SAP-functionaliteit (een applicatielandschap met o.a. Suite on HANA, Fiori, Hybris, C4C en BO), op de bedrijfsprocessen. Verder ondersteun je de HANOS

Bekijk vacature »

Front end developer React

Functie Wij zijn van origine een wordpress bureau, maar sinds 2006 zijn wij dit wel redelijk ontgroeid. Naar mate de jaren verstreken zijn we gegroeid in omvang, maar ook in de complexiteit van opdrachten waarin wij onze klanten kunnen bedienen. Momenteel bestaat onze organisatie uit 4 front end developers, 12 back end developer 3 projectmanagers en een 2 koppig management. Wij zijn een hele informele, bijna familiaire organisatie. Geen strak pak of overhemd, nee gewoon dragen waar jij je prettig bij voelt. De gemiddelde leeftijd ligt tussen de 25 en 30 en wij doen er veel aan om onze hechte

Bekijk vacature »

(Lead) PHP Software Developer

Functie omschrijving Voor een klein softwarebedrijf in Breda, zijn wij op zoek naar een PHP software developer met een aantal jaar werkervaring. Je krijgt een plek in een klein team met 2 andere software developers. Wil jij graag werken met de nieuwste technieken bij een bedrijf waar jij de lead gaat nemen in de verder ontwikkeling en modernisering van een eigen software pakket? Dan ben je hier aan het juiste adres! Jouw werkzaamheden gaan er als volgt uit zien: Je gaat aan de slag met de ontwikkeling en vernieuwing van het "in-house" ontwikkelde multimedia platform. Je neemt de lead in

Bekijk vacature »

Full stack developer

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 »

Integratie Developer / Architect

Dit ga je doen Als Integratie Developer / Architect binnen deze organisatie krijg je echt de kans om impact te maken. De organisatie is groeiende maar houdt een corporate cultuur buiten de deur. Heb je een goede business case: zorg voor goede argumentatie en ga ervoor! Geen stroperig beslissingsproces dat jouw ideeën in de weg staat! Enkele van jouw taken: Je ontwerpt en ontwikkelt nieuwe integraties met behulp van interne tools (Boomi) of externe partners; Je vertaalt functionele specificaties naar technische oplossingen; Je denkt mee over strategische ontwikkelingen op het gebied van applicatie integratie; Je voert regie op leveranciers en

Bekijk vacature »

Lasrobotprogrammeur/operator

Heb je interesse in trekkers en beschik je overvlijmscherpse precisie? Solliciteer dan op deze vacature! Als Lasoperator ben je vooral bezig met het maken van nieuwe lasrobotprogramma’s en het optimaliseren van bestaande programma’s, zowel online als offline (incl. het bedienen van de Lasrobots). Daarnaast draag je bij aan een optimaal rendement van de las robots. Verder heb je de volgende werkzaamheden: Het meewerken als operator c.q. Robotlassen niveau 2 (van complexe samenstellingen/halffabricaten), het om- en instellen van de diverse stations van lasmallen (productdragers), het afwerken van laswerk (verwijderen lasspetters en oxiden), het bewaken van de machineplanning (op bewerkingen) incl. de

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

02/05/2024 21:58:29
 
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.