H9 Delete (SS47 Edit, met Update en Validatie dingen)

Wat doet de controller na het opslaan van de gegevens in de database?
1 / 28
volgende
Slide 1: Open vraag
Applicatie- en mediaontwikkelaarMBOStudiejaar 1

In deze les zitten 28 slides, met interactieve quizzen en tekstslides.

time-iconLesduur is: 60 min

Onderdelen in deze les

Wat doet de controller na het opslaan van de gegevens in de database?

Slide 1 - Open vraag

Deze slide heeft geen instructies

Gebruiker terugsturen
  • Ingezonden informatie staat in de database
  • Gevolg is een witte pagina.
  • Controller is enkel om actie uit te voeren.
  • Gebruiker terug naar index-pagina sturen
  • Melding meegeven

Slide 2 - Tekstslide

Deze slide heeft geen instructies

Een select (dropdown) versturen
  • Input type waarbij je opties geeft in dropdown.
  • Werkt in PHP hetzelfde als andere input
  • Het name attribuut vinden we in het select-element.
  • Het value-attribuut komt in PHP terecht.

Slide 3 - Tekstslide

Deze slide heeft geen instructies

Checkbox versturen/ ontvangen
  • Alleen afvangen als deze is aangevinkt. 
  • isset()-functie om te controleren of de waarde bestaat in de $_POST-variabele.
  • Als variabele niet aanwezig is wordt deze op 'false' gezet.
  • Label-tags voor aangeven soort veld en uitleg specificatie vinkje.

Slide 4 - Tekstslide

Deze slide heeft geen instructies

Wat checkt:
empty()
isset()
is_numeric() ?

Slide 5 - Open vraag

Deze slide heeft geen instructies

Don't trust the user: inputvalidatie
Controleren van de ingevulde formulier-waarden
Is een veld niet leeg? Is de leeftijd wel echt een getal?

Slide 6 - Tekstslide

Deze slide heeft geen instructies

$errors[ ]
Je krijgt hiermee errors in een lijst (array).
Als de lijst bestaat, dumpen we alle errors en stoppen het script.

Slide 7 - Tekstslide

Deze slide heeft geen instructies

8.9. De UPDATE-query
UPDATE table 
SET column1 = :value1, column2 = :value2, ... 
WHERE id = :id;
bijvoorbeeld
UPDATE adresboek 
SET werkgever = 'Google' 
WHERE id = 4;

Slide 8 - Tekstslide

Deze slide heeft geen instructies

Samen bespreken
resultaat: van dit
naar dit

Slide 9 - Tekstslide

Deze slide heeft geen instructies

Meerdere kolommen tegelijk:
UPDATE adresboek 
SET postcode = '6969BN', huisnummer = '32', woonplaats = 'Alkmaar' 
WHERE id = 2;

Slide 10 - Tekstslide

Deze slide heeft geen instructies

Meerdere kolommen tegelijk:
UPDATE adresboek 
SET postcode = '6969BN', huisnummer = '32', woonplaats = 'Alkmaar' 
WHERE id = 2;

Slide 11 - Tekstslide

Deze slide heeft geen instructies

Meerdere kolommen tegelijk:

Slide 12 - Tekstslide

Deze slide heeft geen instructies

Weekcheck H8: Prikbord
Wat: Weekcheck H8 uitvoeren
Hoe: moduleboekje WDV-III, pagina 51
Hulp: je buurman - daarna de docent
Uitkomst: een overzicht van de tools in een nette gestylede tabel.
Klaar: Inleveren Itslearning: 
  • screenshot app/Http/Controllers/berichtenController.php
  • screenshot van je resources/views/berichten/edit.php
  • URL van je Git Repository
Daarna: verder met herhalingsoefening

Slide 13 - Tekstslide

Deze slide heeft geen instructies

Delete
WDV-III en DBS-I
Les H9 / Week 7

Slide 14 - Tekstslide

Deze slide heeft geen instructies

Even terugblikken
  • je kunt beschrijven wat een master/detail pagina is
  • je kunt een UPDATE query uitvoeren
  • je kan op de juiste manier linken naar een edit pagina
  • je kan een een edit pagina opbouwen in html en php
  • je kan je controller voor meerder acties inzetten

Slide 15 - Tekstslide

Deze slide heeft geen instructies

Als we een ID meesturen naar een detail pagina doen we dit door ?id=1 mee te sturen. hoe halen we deze ID op in PHP?
A
id = GET_$id;
B
$_GET[id] = $_POST['id'];
C
id = $_GET['$id'];
D
$id = $_GET['id'];

Slide 16 - Quizvraag

Deze slide heeft geen instructies

Als we een edit pagina maken geven we 2 hidden inputs mee, welke zijn dit?
A
id en update
B
id en edit
C
update en edit
D
edit en $id

Slide 17 - Quizvraag

let op bij antwoord b moet je in de controller ook een edit ipv update voor $action gebruiken
hoe sturen we de id vanuit onze edit pagina naar onze meldingcontroller?
A
value = "<?php $id?>"
B
value="<?php echo $id; ?>"
C
value="<?php echo id; ?>"
D
value = $id

Slide 18 - Quizvraag

let op bij antwoord b moet je in de controller ook een edit ipv update voor $action gebruiken
Hoe halen we id op in de meldingcontroller die vanuit de edit pagina gestuurd is?
A
$id = $_GET['id'];
B
$id = $_POST["id"];
C
id="<?php echo $id; ?>"
D
$id = $update["id"]

Slide 19 - Quizvraag

let op bij antwoord b moet je in de controller ook een edit ipv update voor $action gebruiken
Leerdoelen
  • je kunt een DELETE query uitvoeren
  • je kan beschrijven dat een DELETE query alleen rijen en geen kollommen verwijdert
  • je kan een een delete pagina opbouwen in html en php
  • je kan je controller inzetten om delete uit te voeren

Slide 20 - Tekstslide

Deze slide heeft geen instructies

SELECT vs DELETE
  • als we een select doen moeten we aangeven wat we uit de rij moeten zien, welke parameters er bij horen en hoe we het willen sorteren

Slide 21 - Tekstslide

Deze slide heeft geen instructies

SELECT vs DELETE
  • bij een delete query verwijderen we altijd een hele rij dus hoeven we alleen de parameter te geven

Slide 22 - Tekstslide

Deze slide heeft geen instructies

gevaar!
een verkeerde delete query kan fataal zijn voor je database. bekijk het voorbeeld en zoek het verschil




Slide 23 - Tekstslide

Deze slide heeft geen instructies

gevaar!
een verkeerde delete query kan fataal zijn voor je database. bekijk het voorbeeld en zoek het verschil


bij deze hieronder zou je alle rijen van je tabel verwijderen waarvan de id 1 of groter is. je houd dus allen id=0 over.

Slide 24 - Tekstslide

Deze slide heeft geen instructies

DELETE functie toevoegen
We gaan een delete formulier toevoegen aan onze edit pagina. Er komt een knop onderin te staan met verwijderen. 
LET OP! Dit is een ander formulier dat we op dezelfde pagina gaan toevoegen

Slide 25 - Tekstslide

Deze slide heeft geen instructies

9.4 Een delete-formulier maken
Wat: maak opdracht 9.4
Hoe: moduleboekje, pagina 53
Hulp: je buurman - daarna docent
Uitkomst: een edit pagina met een delete form onder de update form
Klaar: maak opdracht 9.5
timer
5:00

Slide 26 - Tekstslide

Deze slide heeft geen instructies

9.5. Opdracht: delete-actie toevoegen
Wat: maak opdracht 9.5
Hoe: moduleboekje, pagina 53
Hulp: je buurman - daarna docent
Uitkomst: een delete query die op de juiste manier wordt opgeroepen en via PDO wordt uitgevoerd
Klaar: maak opdracht 9.6
timer
5:00

Slide 27 - Tekstslide

Deze slide heeft geen instructies

9.6. Opdracht: weekcheck H8 uitbreiden
Wat: Opdracht 9.6: stap 1 t/m 7 uitvoeren
Hoe: moduleboekje WDV-III, pagina 54
Hulp: je buurman - daarna de docent
Uitkomst: een overzicht van de meldingen onder elkaar.
Klaar: neem de hoofdstukken 5 t/m 9 door ter voorbereiding van de toets deze week
timer
15:00

Slide 28 - Tekstslide

Deze slide heeft geen instructies