Cannot modify header information

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP Developer

As a PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible. How do I become a PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the job suits you. You enjoy doing this Writing vanilla PHP code. Working with

Bekijk vacature »

Software Ontwikkelaar C# .NET

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

Bekijk vacature »

Front-end Developer

Dit ga je doen Doorontwikkelen van software; Ontwikkelen en testen van nieuwe functionaliteiten; Implementaties van nieuwe functionaliteiten en updates; Verzorgen van technische migraties naar nieuwe frameworks; Verwerken van incidenten. Hier ga je werken Onze klant, gevestigd in de regio Amsterdam, draagt bij aan het verbeteren van de veiligheid en efficiëntie van de Nederlandse infrastructuur door het ontwikkelen van afgemeten software oplossingen. Zo passen zij location intelligence toe om onderhoud en reparaties efficiënt te laten verlopen. Verder zorgen deze systemen dat incidenten zo snel mogelijk worden opgelost. Als Front-end Developer ben jij samen met je team betrokken met het (door)ontwikkelen van

Bekijk vacature »

Back-end developer

Functieomschrijving Voor een gewaardeerde werkgever in regio Tilburg zijn wij op zoek naar een gemotiveerde SQL Developer/ functioneel consultant. Jij wordt verantwoordelijk voor zowel het ontwerpen en implementeren van SQL-databases als voor het in kaart brengen van de bedrijfsprocessen van een organisatie en het vertalen van deze processen naar IT-oplossingen. Jouw takenpakket komt als volgt uit te zien: Ontwerp en implementatie van SQL-databases: Je ontwerpt, ontwikkelt en implementeert SQL-databases om de data behoeften van de organisatie te ondersteunen; Analyse van bedrijfsprocessen: Je analyseert de bedrijfsprocessen van de organisatie om de behoeften van de klant te begrijpen en te vertalen naar

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 »

Traineeship Full Stack Java developer

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

Bekijk vacature »

Lead developer

Functie Als lead developer wordt jij verantwoordelijk voor een van onze development teams. Samen met de Software Architect bewaak jij de kwaliteit en uitvoering van onze complexe vraagstukken. Daarnaast ben jij verantwoordelijk voor het inschatten, designen en ontwikkelen van middelgrote tot grote veranderingen in de software. Ook coördineer jij het proces rondom complexe technische vraagstukken. Verder bestaat jouw takenpakket uit het volgende: – Het aansturen van jouw development team; – Het begeleiden van Junior Software Engineers; – Het maken van technische analyses m.b.t. nieuwe aanvragen en het tijdsbestek inschatten voor de uitvoering hiervan; – Het uitvoeren van de ontwikkeling van

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 »

Software Developer C# - Deventer

Software Developer C# – Deventer Bijdragen aan de toekomst van het onderwijs! Ben jij op zoek naar een dynamische omgeving waar vol enthousiasme wordt gewerkt aan software voor interactieve dashboard- en analysetoepassingen ter verbetering van het onderwijs? Dan zijn wij het bedrijf voor jou! TIG is een bedrijf met een informele en ondernemende werksfeer, waarbij goede ideeën snel leiden tot concrete acties. Wij zijn een software ontwikkelorganisatie en focussen ons op het ontwikkelen en implementeren van oplossingen voor het leveren van managementinformatie, datavisualisatie en analyses voor het onderwijs. Met onze dashboard- en analyseoplossingen zetten scholen gegevens om naar betekenisvolle informatie.

Bekijk vacature »

Back End Developer

Als Back End developer bij KUBUS houd je je bezig met het ontwikkelen van de (web)applicatie en services van BIMcollab. Je hebt een focus op de back end van onze software, daarvoor werken wij hoofdzakelijk met C# en .NET. Wij hanteren een full-stack benadering, wat betekent dat je naast de back-end ook meehelpt bij andere onderdelen van de code. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein

Bekijk vacature »

.NET developer

Functie As a .NET developer you work together in a multidisciplinary development team with 1-2 Senior .NET developers, two front-end developers, Data Scientists and one UX designer. As a team you work on developing a Cloud based application and making this application more stable. Unit testing will also become very important in your new position. Together with the Senior .NET developer you will be responsible for developing the API. You work with a lot of data and occasionally there will also be data issues and some queries will have to be run. This means that you will work a lot

Bekijk vacature »

Backend developer

Functie omschrijving Ben jij graag bezig met de back-end van applicaties? Zou je dit graag willen doen voor een kleine werkgever waar ook tijd is voor een drankje op zijn tijd? Je taken hierbij zullen bestaan uit: Gebruik maken van de volgende technieken: .NET (core), C#, SQL, XML, MVC, JSON, REST & SOAP API. Gebruik maken van de volgende tools: Visual Studio, GIT, Jira, Jenkins. Bovengenoemde technieken en tools ga je gebruiken om: Nieuwe functionaliteiten te ontwikkelen. Wijzigingsverzoeken van klanten uitvoeren. Verzorgen van koppelingen tussen data. Bedrijfsprofiel Jouw nieuwe werkgever bevindt zich in regio Raamdonksveer en bieden oplossingen op gebied

Bekijk vacature »

Front-end Developer

Functie omschrijving Gezocht front-end developer! Voor een toffe organisatie in de regio Rhenen zij wij op zoek naar een front-end developer die de eindverantwoordelijkheid op zich neemt van alles wat met design te maken heeft. In deze functie heb je een adviserende rol en beschik je over een grote dosis vakinhoudelijke kennis. Samen met collega’s en klanten overleg je om aangeleverde designs om te zetten naar unieke concepten. Zo draag jij je steentje bij aan de groeiambities van de klant. Voor klanten wordt jij het vaste aanspreekpunt als het gaat over planningen hierin houdt je alle betrokkenen goed op de

Bekijk vacature »

Full Stack Developer/ Applicatie Ontwikkelaar

Wat jij doet Als Applicatie Ontwikkelaar ben je onderdeel van het team die de Rimote omgeving ontwikkeld en onderhoud. Hierbij kan je denk aan de cloud, on premise en webapplicaties welke worden gebruikt in bijvoorbeeld industriële bakkerijen, biogasinstallaties en kwekerijen. Deze applicaties verzorgen (remote) de aansturing en monitoring van processen, machines en robots. Van a tot z ben je betrokken bij projecten. Dit betekent vanaf ontwerp tot oplevering. Je moet samen met jouw team een goed product neer zetten. Dit begint met het opzetten van het ontwerp. De basis van de software moet staan als een huis. Daarvoor moet jij

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

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

19/04/2024 23:34:33
 
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.