Modul 4 klar (?)

master
Eirik Th S 2021-09-22 20:45:08 +02:00
parent a8354fd02b
commit 3c7e76e4fb
6 changed files with 77 additions and 33 deletions

View File

@ -39,4 +39,14 @@ function lower($int1, $int2): int {
return $int1; return $int1;
} }
return $int2; return $int2;
} }
function str_lreplace($search, $replace, $subject){
$pos = strrpos($subject, $search);
if($pos !== false){
$subject = substr_replace($subject, $replace, $pos, strlen($search));
}
return $subject;
}

View File

@ -28,7 +28,7 @@
$deltaAar = $forskjell->y; $deltaAar = $forskjell->y;
$datoStr = $bdag->format('j. M. Y'); $datoStr = $bdag->format('j. M. Y');
$deltaStr = $deltaAar." år og ".($deltaDager-($deltaAar*365))." dager"; $deltaStr = $deltaAar." år og ".($deltaDager-floor($deltaAar*365.25))." dager";
// Hvis brukeren ikke enda har satt inn en dato, gi spesielt tilfelle: // Hvis brukeren ikke enda har satt inn en dato, gi spesielt tilfelle:
if(empty($_GET)){ if(empty($_GET)){

View File

@ -47,7 +47,7 @@ if(!empty($_POST)){
$kontigent = $_POST['kontigent']; $kontigent = $_POST['kontigent'];
$fields = array("fornavn", "etternavn", "adresse1", "postnummer", "poststed", "epost", "medlem"); $fields = array("fornavn", "etternavn", "adresse1", "postnummer", "poststed", "medlem");
foreach($fields as $field){ 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. // 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} == ""){ if(${$field} == ""){
@ -55,12 +55,15 @@ if(!empty($_POST)){
} }
} }
if(!strpos($epost, '@') && !strpos($epost, '.')){ if($epost == ""){
$err[] = "Epost-adressen mangler.";
}
elseif(!strpos($epost, '@') && !strpos($epost, '.')){
$err[] = "Epost-adressen er ikke gylid."; $err[] = "Epost-adressen er ikke gylid.";
} }
if($bursdag->diff( new DateTime() )->days < 1){ if($bursdag->diff( new DateTime() )->days < 1){
$err[] = "Medlemmet er født i dag. Sjekk fødselsdatoen."; $err[] = "Medlemmet er født i dag. Sjekk om fødselsdatoen er riktig.";
} }
if($kjonn == "0"){ if($kjonn == "0"){
@ -94,7 +97,7 @@ if(!empty($_POST)){
unset( $_POST ); unset( $_POST );
} }
else { else {
$err[] = "Ingen bruker registrert."; $err[] = "Det var en eller flere feil i skjemaet. Derfor er ingen bruker registrert.";
} }
} }

View File

@ -19,7 +19,7 @@ $medlemmer[] = array(
"kontigentstatus"=>'Betalt' "kontigentstatus"=>'Betalt'
); );
// Sjekker om det er et innsendt skjema // Sjekker om det er et innsendt skjema (Redigert skjema)
if(!empty($_POST)){ if(!empty($_POST)){
$mid = $_POST['bruker_id']; $mid = $_POST['bruker_id'];
@ -82,7 +82,7 @@ if(!empty($_POST)){
$endredeVerdier = array(); $endredeVerdier = array();
$sjekkbareNokler = array("fornavn", "etternavn", "adresse1", "adresse2", "postnummer", "poststed", "mobilnummer", "epost", "kjonn", "interesser", "kursaktiviteter", "kontigentstatus"); $sjekkbareNokler = array("fornavn", "etternavn", "adresse1", "adresse2", "postnummer", "poststed", "mobilnummer", "epost", "kjonn", "interesser", "kursaktiviteter", "kontigentstatus");
foreach ($sjekkbareNokler as $key){ foreach ($sjekkbareNokler as $key){
if($medlemObj[ $key ] != ${$key}){ if(@$medlemObj[ $key ] != ${$key}){
$medlemmer[$mid][$key] = ${$key}; $medlemmer[$mid][$key] = ${$key};
$endredeVerdier[] = $key; $endredeVerdier[] = $key;
} }
@ -98,7 +98,7 @@ if(!empty($_POST)){
$msg[] = "Suksess!<br>Du endret de følgende verdi(ene):<br> ".implode(', ', $endredeVerdier); $msg[] = "Suksess!<br>Du endret de følgende verdi(ene):<br> ".implode(', ', $endredeVerdier);
} }
else { else {
$msg[] = "Medlemmet er oppdatert, men du gjorde ingen endringer."; $msg[] = "Medlemmet er oppdatert, men ingen endringer er gjort.";
} }
} }
else { else {

View File

@ -37,10 +37,11 @@
echo "</pre></p>\n\n"; echo "</pre></p>\n\n";
echo "<p>Endre indeks-verdiene:"; echo "<p>Endre indeks-verdiene:";
for($i = 0; $i < 10; $i++){
$matrise[$i+10] = $matrise[$i]; // Sette inn verdier foran matrisen så matrisen har 10 flere indekser, med verdien "null".
unset($matrise[$i]); $matrise = array_pad($matrise, 0-10-count($matrise), null);
} // Filtrere vekk FALSE/NULL verdier fra arrayen, men beholde indeksene.
$matrise = array_filter($matrise);
echo "<pre>"; echo "<pre>";
print_r($matrise); print_r($matrise);

View File

@ -12,35 +12,65 @@
<h2>Liten konkurranse</h2> <h2>Liten konkurranse</h2>
<?php <?php
$deltaker["Karl"] = 0; // Introduserer deltakerne med 0 poeng.
$deltaker["Mia"] = 0; $deltaker["Karl"] = 0;
$deltaker["Ove"] = 0; $deltaker["Mia"] = 0;
$deltaker["Erik"] = 0; $deltaker["Ove"] = 0;
$deltaker["Borgar"] = 0; $deltaker["Erik"] = 0;
$deltaker["Erlend"] = 0; $deltaker["Aurora"] = 0;
$deltaker["Simon"] = 0; $deltaker["Emma"] = 0;
$deltaker["Tuva"] = 0; $deltaker["Simon"] = 0;
$deltaker["Syver"] = 0; $deltaker["Tuva"] = 0;
$deltaker["Solvor"] = 0; $deltaker["Syvert"] = 0;
$deltaker["Trine"] = 0;
echo "Konkurranse mellom ".implode(', ', array_keys($deltaker))."<br><br>\n"; $runde = 0;
while(count($deltaker)!=1){ echo "Konkurranse mellom ".str_lreplace(',',' og', implode(', ', array_keys($deltaker)))."<br><br>\n";
$lavestePoeng = 0;
while(count($deltaker) > 1){
$runde++;
echo "<h5>Runde $runde</h5>\n";
// Gir hver deltaker en tilfeldig sum poenger mellom 1 og 50.
foreach($deltaker as $navn => $poeng){ foreach($deltaker as $navn => $poeng){
$deltaker[$navn] += random_int(1,50); $deltaker[$navn] += random_int(1,50);
if($lavestePoeng == 0 || $deltaker[$navn] < $lavestePoeng){
$lavestePoeng = $deltaker[$navn];
$lavesteDeltaker = $navn;
}
} }
echo "Deltakeren ".$lavesteDeltaker." har for lite poeng (".$deltaker[$lavesteDeltaker].") og er ute av konkurransen.<br>\n"; // Sortere matrisen etter poengsum.
unset($deltaker[$lavesteDeltaker]); arsort($deltaker);
// Skriv ut poengsummen for alle gjenværende deltakere
$strArr = array();
foreach ($deltaker as $navn => $poeng){
$strArr[] = "$navn ($poeng)";
}
echo "<p>Poeng denne runden:<br>";
echo implode(', ', $strArr);
echo "</p>";
// Identifiser laveste poengsum
$lavestePoeng = $deltaker[ array_key_last($deltaker) ];
// Identifisere deltakere med laveste poengsum
$lavesteDeltakere = array_keys($deltaker, $lavestePoeng);
if(count($lavesteDeltakere) > 1){
echo "<p>Deltakerne ".str_lreplace(',', ' og', "<strong>".implode("</strong>, <strong>", $lavesteDeltakere)."</strong>")." har færrest poeng, og er ute av konkurransen.</p>\n";
}
else {
echo "<p><strong>$lavesteDeltakere[0]</strong> har færrest poeng, og er ute av konkurransen.</p>\n";
}
// Tar navnet/navnene ut av matrisen
foreach ($lavesteDeltakere as $navn){
unset($deltaker[$navn]);
}
} }
// Annonsere vinneren
$vinnerNavn = array_key_first($deltaker); $vinnerNavn = array_key_first($deltaker);
echo "<br><strong>Vinneren er ".$vinnerNavn." med ".$deltaker[$vinnerNavn]." poeng!</strong><br>\n"; echo "<p><strong>Vinneren er ".$vinnerNavn." med ".$deltaker[$vinnerNavn]." poeng!</strong></p>\n";
?> ?>
</div> </div>