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?
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>';
Link gekopieerd
Mich
17-01-2014 09:19
gewijzigd op 17-01-2014 09:29
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?
...
if en else omdraaien, ipv else nog een if, div naar beneden
<?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')
Link gekopieerd
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:
<?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>';
?>
Link gekopieerd
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.
[size=xsmall]Toevoeging op 17/01/2014 11:20:28: [/size]
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.
<?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>';
?>
Link gekopieerd
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.
Link gekopieerd
Ivo P
17-01-2014 11:36
gewijzigd op 17-01-2014 12:05
natuurlijk kan dat wel.
Misschien wordt het overzichtelijker als je eerst je script opgebouwd denkt als
<?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:
<?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
Link gekopieerd
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?
Link gekopieerd