Cannot modify header information

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Programmeur / Developer

Voor een familiebedrijf in Doetinchem, actief in de machinebouw voor de food-sector, zijn wij op zoek naar een programmeur / developer. In deze functie ben je werkzaam in een team van 5 medewerkers. Je werkzaamheden bestaan onder andere uit het verhelderen van requirements vanuit de opdrachtgever, de klant en de afdeling ontwikkeling. Je verricht haalbaarheidsstudies en werkt specificaties uit die je afstemt met de opdrachtgever. Je ontwerpt design in software en stemt af met je collega's. De huidige vision-systemen zijn geschreven in C software, welke draait op een CUDA platform. Je schrijft en codeert software en zal gaan testdraaien. Tot

Bekijk vacature »

PHP Developer

Dit ga je doen Je werkt nauw samen met het websitebureau aan de ontwikkeling en optimalisering van het internationale platform; Je ziet nieuwe webshops op en voert optimalisaties door; Je bouwt aan technische, functioneel en commercial resultaat; Je vindt het leuk om zelfstandig binnen een internationale organisatie te werken, maar krijgt ook energie om samen met collega's te werken. Hier ga je werken Voor een bedrijf in de regio Rotterdam zijn wij opzoek naar een PHP Developer. Je wordt onderdeel van het communicatieteam en gaat je bezighouden met het optimaliseren van de website van dit internationale bedrijf. Je schakelt veel

Bekijk vacature »

Front-end Developer Magento 2/Wordpress

Voor het aantrekkelijk houden en steeds vernieuwen van de huidige websites en webshops en het meedenken in de marketing zijn wij per direct op zoek naar een ervaren Front-end developer met gedegen kennis van Magento 2 (webshops) en Wordpress (websites). Wat bieden wij jou Mooi salaris! Meteen op contract bij de opdrachtgever! Gezellig, Kempisch bedrijf! 35 uur per week! Auto van de zaak! Wie ben jij Van een front-end developer verwachten wij: Een afgeronde Bachelor ICT opleiding met profiel ICT & Media Design. Dat je in het bezit bent van een Magento 2 professional front-end developer certificaat; Je hebt ruime

Bekijk vacature »

Traineeship Full Stack .NET Developer

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

Bekijk vacature »

Developer Full Stack

Functie omschrijving Full Stack Developer gezocht! Wij zijn op zoek naar een Full Stack Developer voor een bedrijf in de regio Nijkerk. Je maakt in deze functie onderdeel uit van een groeiend team met een goede ambitie waarbij eenheid, betrokken en overtreffen de belangrijkste kernwaardes zijn. Het bedrijf werkt volgens de AGILE/SCRUM methode, wat je o.a. terug vindt in de tweewekelijkse sprints, retrospectives en een daily standup. Je takenpakket bestaat uit: Bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van een Saas applicatie; Bijdragen aan de innovatie van het bedrijf en hun klanten; Het ontwikkelen op de laatste technologie van

Bekijk vacature »

Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 12946 Introductie We are looking for a Java Developer! Our client is one of the most innovation companies located within the Netherlands. We provide high quality software in a high-tech and challenging market. Functieomschrijving The department is specialized in creating and developing high quality software for manufacturing automation in a high tech environment. We strive to provide our clients with high quality software and deliver state of the art solutions in a variety of ways. Creating software infrastructure using Java SE / EE Create applications to fine tune manufacturing processes

Bekijk vacature »

C# Unity Developer

Functieomschrijving Ontwikkel jij mee door applicaties te bouwen die bijdragen aan het optimaliseren van processen? Voor een erkende werkgever in regio Tilburg zijn wij op zoek naar een Unity C# Developer die graag de uitdaging aangaat! Jouw werkzaamheden zullen er als volgt uitzien: Je bent een luisterend oor naar klanten en vertaalt hun wensen door naar bruikbare software; Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van processen; Je bent verantwoordelijk voor het uitvoeren van updates/aanpassingen aan de reeds draaiende applicaties. Bedrijfsprofiel Je komt te werken voor een internationale werkgever in regio Tilburg. Samen met een vooruitstrevend team

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

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 »

Medior PHP Developer

Functie omschrijving Ben jij een getalenteerde PHP Developer en aan de slag in een gemotiveerd team? Lees dan snel verder! Voor onze opdrachtgever in de omgeving van Valkenswaard zijn we op zoek naar een ervaren PHP developer. Jij gaat hier zorg dragen voor het optimaliseren en up-to-date houden van de bestaande applicaties. Je werkt verder aan de applicaties die jij verder ontwikkelt. Dit doe je voornamelijk met PHP en MySQL. Verder ga je je bezig houden met: Het uitbouwen van het E-commerce software platform. Deelnemen aan overleggen met het team. Het ondersteunen van jouw team developers (3 man) en helpen

Bekijk vacature »

Web Application Developer

Dit ga je doen Samen met het team werk je aan de visualisatie functionaliteiten en hoe dit gebruikt kan worden in een operationele setting; Het ontwerpen, ontwikkelen, onderhouden en leveren van support betreft het Warehouse Management Systeem en de bijbehorende web visualisaties; Je gebruikt hierbijde tools WebGL en ASP.net; Het meewerken in implementatieprojecten; Het leveren van Go-Live Support; Sparren met jouw Amerikaanse collega's. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Web Application Developer. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van

Bekijk vacature »

Creatieve Front-end developer gezocht!

Functie Het front-end team bestaat momenteel uit 4 collega’s en is hard aan het groeien! Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren. Je werkt in het front-end team samen met de back-end teams en product owners om te zorgen dat de applicaties een fijne gebruikerservaring opleveren. Jouw expertise zorgt ervoor dat de juiste keuzes gemaakt worden qua techniek en ontwerp, van back-end tot aan gebruiker. In samenspraak met je team bepalen jullie de beste keuze voor techniek. Ook is er altijd ruimte om nieuwe technieken te ontdekken. Eisen • Je hebt gedegen

Bekijk vacature »

Java developer

Als Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze klanten. Geen werkdag is hetzelfde, je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfskritische systemen. Een voorbeeld hiervan is een cliënt-volgsysteem bij Reclassering Nederland. Andere klanten waar wij onder andere voor werken: KPN, Philips, Nationale-Nederlanden, Kamer van Koophandel, ABN AMRO, Bovemij, Arval en de Politie. Werken bij Sogeti Nieuwe ontwikkelingen volgen we op de voet en delen we binnen de

Bekijk vacature »

Back end developer PHP, Laravel

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

Bekijk vacature »

Java Developer

Dit ga je doen Ontwerpen en bouwen van nieuwe functionaliteiten binnen de complexe omgeving; Proactief de processen kwalitatief en efficient inrichten; Opzetten van Unit Tests; Code Reviews; Regie nemen voor innovatieve projecten; Landschap beheren en de bijbehorende ketens hierbij in het oog houden. Hier ga je werken De organisatie is actief binnen de financiele branche en heeft een IT afdeling van circa 450 man. De organisatie voorziet de maatschappij binnen de financiele dienstverlening en is gedurende de jaren een onmisbare schakel geworden. Het is een high profile organisatie waar ze veel te maken hebben met veranderingen voortkomend uit maatschappelijke ontwikkelingen,

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

16/05/2024 13:26:11
 
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.