Modul 4 videre arbeid

master
Eirik Th S 2021-09-21 22:36:25 +02:00
parent 56bd1f4ed1
commit a8354fd02b
4 changed files with 243 additions and 44 deletions

View File

@ -56,3 +56,10 @@ pre {
background-color: #d1e7dd;
border-color: #badbcc;
}
.table {
border-collapse: collapse;
}
.table tr:nth-child(2n) {
background-color: #0002;
}

View File

@ -1,4 +1,4 @@
<?php include 'common.php'; ?><!DOCTYPE html>
<?php include 'common.php'; ?><!DOCTYPE html>
<html lang="no">
<head>
<title><?=title();?></title>
@ -12,6 +12,8 @@
<h2>Innhold i matrise</h2>
<?php
// Alternativt: $matrise = array(0, 3 => 3, 5 => 5, 7 => 7, 8 => 8, 15 => 15);
// Personlig syns jeg følgende er mer oversiktlig ved slike lengder:
$matrise[0] = 0;
$matrise[3] = 3;
$matrise[5] = 5;
@ -19,14 +21,16 @@
$matrise[8] = 8;
$matrise[15] = 15;
echo "<pre>";
echo "<p>Innholde i matrisen ved bruk av <code>print_r()</code>:<pre>";
print_r($matrise);
echo "</pre>";
echo "</pre></p>";
echo "<p>Innholdet skrevet ut gjennom en <code>foreach()</code>-løkke:<br>\n";
// Foreach løkke som skriver ut hele $matrise'ns innhold.
foreach($matrise as $key => $val){
echo '$matrise['.$key.'] = '.$val."<br>\n";
echo '$matrise['.$key.'] = '.$val.";<br>\n";
}
echo "</p>";
?>

View File

@ -3,6 +3,22 @@
$err = array();
$msg = array();
$medlemmer[] = array(
"fornavn"=>"Thomas",
"etternavn"=>"Enger",
"adresse1"=>'Brødgata 12',
"postnummer"=>'1337',
"poststed"=>'Sandvika',
"mobilnummer"=>'815 49 300',
"epost"=>'thomasenger@gmail.com',
"fødselsdato"=>'23.02.1977',
"kjonn"=>'Mann',
"interesser"=>'TV-Serier',
"kursaktiviteter"=>'',
"medlem_siden"=>'11.09.2021',
"kontigentstatus"=>'Betalt'
);
// Sjekker om det er et innsendt skjema
if(!empty($_POST)){
@ -22,8 +38,8 @@ if(!empty($_POST)){
$kjonn = $_POST['kjonn'];
$interesser = $_POST['interesser'];
$kursaktiviteter = $_POST['kursaktiviteter'];
$interesser = $_POST['interesser'] ?? '';
$kursaktiviteter = $_POST['kursaktiviteter'] ?? '';
$medlem = new DateTime();
$medlem->setTimestamp( strtotime($_POST['medlem']) );
@ -57,7 +73,24 @@ if(!empty($_POST)){
if(empty($err)){
// Sett inn i databasen eller tilsvarende
$msg[] = "Suksess!";
$medlemmer[] = array(
"fornavn"=>$fornavn,
"etternavn"=>$etternavn,
"adresse1"=>$adresse1,
"adresse2"=>$adresse2,
"postnummer"=>$postnummer,
"poststed"=>$poststed,
"mobilnummer"=>$mobil,
"epost"=>$epost,
"fødselsdato"=>$bursdag->format("d.m.Y"),
"kjonn"=>$kjonn,
"interesser"=>$interesser,
"kursaktiviteter"=>$kursaktiviteter,
"medlem_siden"=>$medlem->format("d.m.Y"),
"kontigentstatus"=>$kontigent
);
$msg[] = "Suksess!<br> Medlemmet $fornavn $etternavn er 'registrert'.";
unset( $_POST );
}
else {
@ -115,9 +148,9 @@ if(!empty($_POST)){
Kjønn:*
<select name="kjonn">
<option value="0">-- Velg --</option>
<option<?=(@$_POST['kjonn'] == "Mann"?' checked':'');?>>Mann</option>
<option<?=(@$_POST['kjonn'] == "Kvinne"?' checked':'');?>>Kvinne</option>
<option<?=(@$_POST['kjonn'] == "Annet"?' checked':'');?>>Annet</option>
<option<?=(@$_POST['kjonn'] == "Mann"?' selected':'');?>>Mann</option>
<option<?=(@$_POST['kjonn'] == "Kvinne"?' selected':'');?>>Kvinne</option>
<option<?=(@$_POST['kjonn'] == "Annet"?' selected':'');?>>Annet</option>
</select>
</label>
</p>
@ -133,9 +166,9 @@ if(!empty($_POST)){
Kontigentstatus:*
<select name="kontigent">
<option value="0">-- Velg --</option>
<option<?=(@$_POST['kontigent'] == "Betalt"?' checked':'');?>>Betalt</option>
<option<?=(@$_POST['kontigent'] == "Ikke betalt"?' checked':'');?>>Ikke betalt</option>
<option<?=(@$_POST['kontigent'] == "Fritatt"?' checked':'');?>>Fritatt</option>
<option<?=(@$_POST['kontigent'] == "Betalt"?' selected':'');?>>Betalt</option>
<option<?=(@$_POST['kontigent'] == "Ikke betalt"?' selected':'');?>>Ikke betalt</option>
<option<?=(@$_POST['kontigent'] == "Fritatt"?' selected':'');?>>Fritatt</option>
</select>
</label>
</p>
@ -144,9 +177,55 @@ if(!empty($_POST)){
</p>
<!-- fornavn, etternavn, adresse (gateadresse, postnummer, poststed), mobilnummer, e-post, fødselsdato, kjønn, interesser, kursaktiviteter, medlem siden dato og kontingentstatus -->
</form>
</div>
<div style="text-align: center; margin-bottom: 50px;">
<?php
?>
if(!empty($medlemmer)){
?>
<h3>Medlemsliste</h3>
<table class="table">
<thead>
<tr>
<th>ID</th>
<th>Fornavn</th>
<th>Etternavn</th>
<th>Adresse</th>
<th>Postnummer/-sted</th>
<th>Mobilnummer</th>
<th>E-post</th>
<th>Fødselsdato</th>
<th>Kjønn</th>
<th>Interesser</th>
<th>Kursaktiviteter</th>
<th>Medlem siden</th>
<th>Kontigentstatus</th>
</tr>
</thead>
<tbody>
<?php
foreach ($medlemmer as $medlemID => $medlem){
echo "<tr>\n";
echo " <td>".($medlemID+1)."</td>\n";
echo " <td>".($medlem['fornavn'] ?? '')."</td>\n";
echo " <td>".($medlem['etternavn'] ?? '')."</td>\n";
echo " <td>".($medlem['adresse1'] ?? '');
if(!empty($medlem['adresse2'])){ echo "<br>".$medlem['adresse2']; } // Skriver inn adresselinje 2 hvis aktuelt
echo "</td>\n";
echo " <td>$medlem[postnummer] $medlem[poststed]</td>\n";
echo " <td>".($medlem['mobilnummer'] ?? '')."</td>\n";
echo " <td>".($medlem['epost'] ?? '')."</td>\n";
echo " <td>".($medlem['fødselsdato'] ?? '')."</td>\n";
echo " <td>".($medlem['kjonn'] ?? '')."</td>\n";
echo " <td>".($medlem['interesser'] ?? '')."</td>\n";
echo " <td>".($medlem['kursaktiviteter'] ?? '')."</td>\n";
echo " <td>".($medlem['medlem_siden'] ?? '')."</td>\n";
echo " <td>".($medlem['kontigentstatus'] ?? '')."</td>\n";
echo "</tr>\n";
}
?>
</tbody>
</table>
<?php } ?>
</div>
</body>

View File

@ -3,9 +3,27 @@
$err = array();
$msg = array();
$medlemmer[] = array(
"fornavn"=>"Thomas",
"etternavn"=>"Enger",
"adresse1"=>'Brødgata 12',
"postnummer"=>'1337',
"poststed"=>'Sandvika',
"mobilnummer"=>'815 49 300',
"epost"=>'thomasenger@gmail.com',
"fødselsdato"=>'23.02.1977',
"kjonn"=>'Mann',
"interesser"=>'TV-Serier',
"kursaktiviteter"=>'',
"medlem_siden"=>'11.09.2021',
"kontigentstatus"=>'Betalt'
);
// Sjekker om det er et innsendt skjema
if(!empty($_POST)){
$mid = $_POST['bruker_id'];
$fornavn = $_POST['fornavn'];
$etternavn = $_POST['etternavn'];
@ -14,7 +32,7 @@ if(!empty($_POST)){
$postnummer = $_POST['postnummer'];
$poststed = $_POST['poststed'];
$mobil = $_POST['mobilnummer'];
$mobilnummer = $_POST['mobilnummer'];
$epost = $_POST['epost'];
$bursdag = new DateTime();
@ -25,13 +43,16 @@ if(!empty($_POST)){
$interesser = $_POST['interesser'];
$kursaktiviteter = $_POST['kursaktiviteter'];
$medlem = new DateTime();
$medlem->setTimestamp( strtotime($_POST['medlem']) );
$medlem_siden = new DateTime();
$medlem_siden->setTimestamp( strtotime($_POST['medlem']) );
$kontigent = $_POST['kontigent'];
$kontigentstatus = $_POST['kontigent'];
if(!isset($medlemmer[$mid])){
$err[] = "Medlem ikke funnet";
}
$fields = array("fornavn", "etternavn", "adresse1", "postnummer", "poststed", "epost", "medlem");
$fields = array("fornavn", "etternavn", "adresse1", "postnummer", "poststed", "epost");
foreach($fields as $field){
// Her brukes en metode som lar deg sjekke variabler fra en liste. ${ } lar deg sette inn andre variabler som da blir variabel-navnet.
if(${$field} == ""){
@ -51,14 +72,34 @@ if(!empty($_POST)){
$err[] = "Vennligst velg et kjønn.";
}
if($kontigent == "0"){
if($kontigentstatus == "0"){
$err[] = "Vennligst før inn om kontigenten er betalt.";
}
if(empty($err)){
// Sett inn i databasen eller tilsvarende
$msg[] = "Suksess!";
unset( $_POST );
$medlemObj = $medlemmer[$mid];
$endredeVerdier = array();
$sjekkbareNokler = array("fornavn", "etternavn", "adresse1", "adresse2", "postnummer", "poststed", "mobilnummer", "epost", "kjonn", "interesser", "kursaktiviteter", "kontigentstatus");
foreach ($sjekkbareNokler as $key){
if($medlemObj[ $key ] != ${$key}){
$medlemmer[$mid][$key] = ${$key};
$endredeVerdier[] = $key;
}
}
if($medlemObj["fødselsdato"] != $bursdag->format('d.m.Y')){
$medlemmer[$mid]["fødselsdato"] = $bursdag->format('d.m.Y'); $endredeVerdier[] = "fødselsdato";
}
if($medlemObj["medlem_siden"] != $medlem_siden->format('d.m.Y')){
$medlemmer[$mid]["medlem_siden"] = $medlem_siden->format('d.m.Y'); $endredeVerdier[] = "medlem_siden";
}
if(!empty($endredeVerdier)){
$msg[] = "Suksess!<br>Du endret de følgende verdi(ene):<br> ".implode(', ', $endredeVerdier);
}
else {
$msg[] = "Medlemmet er oppdatert, men du gjorde ingen endringer.";
}
}
else {
$err[] = "Ingen bruker registrert.";
@ -79,8 +120,68 @@ if(!empty($_POST)){
<h1><?=title();?></h1>
<h4><?=getNavigation();?></h4>
<h2>Endring av medlemsoppføring</h2>
</div>
<div style="text-align: center; margin-bottom: 50px;">
<?php
if(!empty($medlemmer)){
?>
<h3>Medlemsliste</h3>
<table class="table">
<thead>
<tr>
<th>ID</th>
<th>Fornavn</th>
<th>Etternavn</th>
<th>Adresse</th>
<th>Postnummer/-sted</th>
<th>Mobilnummer</th>
<th>E-post</th>
<th>Fødselsdato</th>
<th>Kjønn</th>
<th>Interesser</th>
<th>Kursaktiviteter</th>
<th>Medlem siden</th>
<th>Kontigentstatus</th>
</tr>
</thead>
<tbody>
<?php
foreach ($medlemmer as $medlemID => $medlem){
echo "<tr>\n";
echo " <td>".($medlemID+1)."</td>\n";
echo " <td>".($medlem['fornavn'] ?? '')."</td>\n";
echo " <td>".($medlem['etternavn'] ?? '')."</td>\n";
echo " <td>".($medlem['adresse1'] ?? '');
if(!empty($medlem['adresse2'])){ echo "<br>".$medlem['adresse2']; } // Skriver inn adresselinje 2 hvis aktuelt
echo "</td>\n";
echo " <td>$medlem[postnummer] $medlem[poststed]</td>\n";
echo " <td>".($medlem['mobilnummer'] ?? '')."</td>\n";
echo " <td>".($medlem['epost'] ?? '')."</td>\n";
echo " <td>".($medlem['fødselsdato'] ?? '')."</td>\n";
echo " <td>".($medlem['kjonn'] ?? '')."</td>\n";
echo " <td>".($medlem['interesser'] ?? '')."</td>\n";
echo " <td>".($medlem['kursaktiviteter'] ?? '')."</td>\n";
echo " <td>".($medlem['medlem_siden'] ?? '')."</td>\n";
echo " <td>".($medlem['kontigentstatus'] ?? '')."</td>\n";
echo " <td><form><input type='hidden' name='memberid' value='$medlemID'><input type='submit' value='Rediger...'></form></td>\n";
echo "</tr>\n";
}
?>
</tbody>
</table>
<?php } ?>
</div>
<div class="container">
<?php
if(isset($_GET['memberid'])){
$mid = $_GET['memberid'];
if(!isset($medlemmer[$mid])) {
$err[] = "Medlem ikke funnet.";
}
}
if(!empty($err)){
foreach ($err as $e){
echo "<p class='error'>".$e."</p>\n";
@ -93,50 +194,54 @@ if(!empty($_POST)){
}
}
if(isset($mid) && empty($err)){
$bursdag = DateTime::createFromFormat("d.m.Y", $medlemmer[$mid]['fødselsdato']);
$medlem = DateTime::createFromFormat("d.m.Y",$medlemmer[$mid]['medlem_siden']);
?>
<form method="POST">
<input type="hidden" name="bruker_id" value="<?=$_POST['redigerID'] ?? '3';?>">
<form method="POST" action="index4_3.php">
<input type="hidden" name="bruker_id" value="<?=$mid ?? '3';?>">
<p>
<label>Fornavn:* <input type="text" name="fornavn" value="<?=$_POST['fornavn'] ?? '';?>"></label>
<label>Etternavn:* <input type="text" name="etternavn" value="<?=$_POST['etternavn'] ?? '';?>"></label>
<label>Fornavn:* <input type="text" name="fornavn" value="<?=$medlemmer[$mid]['fornavn'] ?? '';?>"></label>
<label>Etternavn:* <input type="text" name="etternavn" value="<?=$medlemmer[$mid]['etternavn'] ?? '';?>"></label>
</p>
<p>
<label>Adresselinje 1:* <input type="text" name="adresse1" value="<?=$_POST['adresse1'] ?? '';?>"></label><br>
<label>Adresselinje 2: <input type="text" name="adresse2" value="<?=$_POST['adresse2'] ?? '';?>"></label><br>
<label>Adresselinje 1:* <input type="text" name="adresse1" value="<?=$medlemmer[$mid]['adresse1'] ?? '';?>"></label><br>
<label>Adresselinje 2: <input type="text" name="adresse2" value="<?=$medlemmer[$mid]['adresse2'] ?? '';?>"></label><br>
<label>Postnummer/Poststed:*
<input type="number" name="postnummer" min="0001" max="9999" value="<?=$_POST['postnummer'] ?? 4630;?>"><input type="text" name="poststed" value="<?=$_POST['poststed'] ?? '';?>">
<input type="number" name="postnummer" min="0001" max="9999" value="<?=$medlemmer[$mid]['postnummer'] ?? 4630;?>"><input type="text" name="poststed" value="<?=$medlemmer[$mid]['poststed'] ?? '';?>">
</label>
</p>
<p>
<label>Mobilnummer: <input type="text" name="mobilnummer" value="<?=$_POST['mobilnummer'] ?? '';?>"></label><br>
<label>E-post:* <input type="text" name="epost" value="<?=$_POST['epost'] ?? '';?>"></label><br>
<label>Fødselsdato:* <input type="date" name="bursdag" value="<?=$_POST['bursdag'] ?? date('Y-m-d');?>"></label><br>
<label>Mobilnummer: <input type="text" name="mobilnummer" value="<?=$medlemmer[$mid]['mobilnummer'] ?? '';?>"></label><br>
<label>E-post:* <input type="text" name="epost" value="<?=$medlemmer[$mid]['epost'] ?? '';?>"></label><br>
<label>Fødselsdato:* <input type="date" name="bursdag" value="<?=$bursdag->format("Y-m-d");?>"></label><br>
<label>
Kjønn:*
<select name="kjonn">
<option value="0">-- Velg --</option>
<option<?=(@$_POST['kjonn'] == "Mann"?' checked':'');?>>Mann</option>
<option<?=(@$_POST['kjonn'] == "Kvinne"?' checked':'');?>>Kvinne</option>
<option<?=(@$_POST['kjonn'] == "Annet"?' checked':'');?>>Annet</option>
<option<?=(@$medlemmer[$mid]['kjonn'] == "Mann"?' selected':'');?>>Mann</option>
<option<?=(@$medlemmer[$mid]['kjonn'] == "Kvinne"?' selected':'');?>>Kvinne</option>
<option<?=(@$medlemmer[$mid]['kjonn'] == "Annet"?' selected':'');?>>Annet</option>
</select>
</label>
</p>
<p>
<label>Interesser:<br><textarea name="interesser"><?=$_POST['interesser'] ?? '';?></textarea></label>
<label>Interesser:<br><textarea name="interesser"><?=$medlemmer[$mid]['interesser'] ?? '';?></textarea></label>
</p>
<p>
<label>Kursaktiviteter:<br><textarea name="kursaktiviteter"><?=$_POST['kursaktiviteter'] ?? '';?></textarea></label>
<label>Kursaktiviteter:<br><textarea name="kursaktiviteter"><?=$medlemmer[$mid]['kursaktiviteter'] ?? '';?></textarea></label>
</p>
<p>
<label>Medlem siden:* <input type="date" name="medlem" value="<?=$_POST['medlem'] ?? date('Y-m-d');?>"></label><br>
<label>Medlem siden:* <input type="date" name="medlem" value="<?=$medlem->format("Y-m-d");?>"></label><br>
<label>
Kontigentstatus:*
<select name="kontigent">
<option value="0">-- Velg --</option>
<option<?=(@$_POST['kontigent'] == "Betalt"?' checked':'');?>>Betalt</option>
<option<?=(@$_POST['kontigent'] == "Ikke betalt"?' checked':'');?>>Ikke betalt</option>
<option<?=(@$_POST['kontigent'] == "Fritatt"?' checked':'');?>>Fritatt</option>
<option<?=(@$medlemmer[$mid]['kontigentstatus'] == "Betalt"?' selected':'');?>>Betalt</option>
<option<?=(@$medlemmer[$mid]['kontigentstatus'] == "Ikke betalt"?' selected':'');?>>Ikke betalt</option>
<option<?=(@$medlemmer[$mid]['kontigentstatus'] == "Fritatt"?' selected':'');?>>Fritatt</option>
</select>
</label>
</p>
@ -144,6 +249,10 @@ if(!empty($_POST)){
<input type="submit" value="Rediger...">
</p>
</form>
<?php
}
?>
</div>
</body>