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

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

This lesson contains 28 slides, with interactive quizzes and text slides.

time-iconLesson duration is: 60 min

Items in this lesson

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

Slide 1 - Open question

This item has no instructions

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 - Slide

This item has no instructions

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 - Slide

This item has no instructions

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 - Slide

This item has no instructions

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

Slide 5 - Open question

This item has no instructions

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 - Slide

This item has no instructions

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

Slide 7 - Slide

This item has no instructions

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 - Slide

This item has no instructions

Samen bespreken
resultaat: van dit
naar dit

Slide 9 - Slide

This item has no instructions

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

Slide 10 - Slide

This item has no instructions

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

Slide 11 - Slide

This item has no instructions

Meerdere kolommen tegelijk:

Slide 12 - Slide

This item has no instructions

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 - Slide

This item has no instructions

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

Slide 14 - Slide

This item has no instructions

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 - Slide

This item has no instructions

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 - Quiz

This item has no instructions

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 - Quiz

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 - Quiz

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 - Quiz

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 - Slide

This item has no instructions

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 - Slide

This item has no instructions

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

Slide 22 - Slide

This item has no instructions

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




Slide 23 - Slide

This item has no instructions

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 - Slide

This item has no instructions

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 - Slide

This item has no instructions

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 - Slide

This item has no instructions

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 - Slide

This item has no instructions

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 - Slide

This item has no instructions