Ik probeer voor mijn stage al een tijdje een programma in elkaar te zetten en ben hier nu bijna mee klaar. helaas gaat dit op het moment niet zeer veel verder vanwege iets waarop ik gestuit ben. Mijn probleem is dat wanneer ik op pas aan klik op het formulier hij het niet in de database aanpast. als ik de sql code zelf in phpmyadmin run dan werkt hij wel maar niet wanneer ik hem in mijn php code probeer. graag zou ik hierbij wat hulp krijgen.

Hierbij mijn code:

<?php
if(isset($_POST['Pasaan']))	
{
 $Voor = $_POST['Voor0900'];
 $Na = $_POST['Na0900'];
 $Datum = $_POST['Datum'];
 $Datum = DateTime::createFromFormat("d/m/Y" , $Datum);
 $DatumStr = $Datum->format('Y-m-d');
							
 $sql = "UPDATE firsthousing SET `Voor0900` = '$Voor', 
				 `Na0900` = '$Na' 
				  where Datum = '$DatumStr'";
			          echo "Deadddddd.";
				  if ($db->query($sql) === TRUE) {
				    echo "Record updated successfully";
				  } else {
				    echo "Error updating record: " . $db->error;
				  }
							
							
				}
?>

de oplossing van SanThe heeft wel ervoor gezorgt dat als ik op aanpassen druk Array ( Datum => 03-10-2017 Voor0900 => Arnold Lammerts Na0900 => Arnold Lammerts updateFormulier => update Pasaan => Pas aan ) krijg te zien. dus hij neemt de data wel mee. maar hij voert de update query niet uit denk ik dat het probleem is nu. maar dit weet ik niet zeker.
Zie mijn vorige post.
En je bent vatbaar voor hacking dmv SQL-injection.


$Voor = $_POST['Voor0900'];
$Na = $_POST['Na0900'];
$Datum = $_POST['Datum'];

Deze worden niet ge-escaped.
Ik weet dat hij op het moment vatbaar is voor hacken. daar werk ik later nog aan. ik probeer eerst de basis te laten werken. en ik heb geprobeerd de vorige post te doen maar dit heeft ook niet geholpen. ik zal het aanpassen bestand in een aparte pagina gaan zetten om te kijken of dit gaat helpen.
- Ariën - op 12/09/2017 16:02:25

En je bent vatbaar voor hacking dmv SQL-injection.


Had ik reeds gemeld.
Verder moeten alle ingevulde waarden ook gevalideerd worden.
Als er niks bij datum wordt ingevuld krijg je een error.
Geen error maar wel ongewenst lijkt mij: Je kan nu als datum 35-38-2017 invullen. (Wordt 2020-03-06)

Ik weet dat hij op het moment vatbaar is voor hacken. daar werk ik later nog aan

En DAT is nou het punt waardoor veel applicaties lek zijn op internet. De applicatie wordt groter en groter, en als je de lekken wilt dichten, zie je er gauw een paar over het hoofd.

Dus niet wachten, maar direct adequaat meteen dichten.
hahaha dank je wel voor al de hulp alvast. als ik op errors stuit dan zal ik later waarschijnlijk nog wel een post of reactie maken. op het moment even alle 'lekken' dichten en ook alles op een nieuwe pagina laten werken.

[size=xsmall]Toevoeging op 13/09/2017 11:08:05:[/size]

Nou. het werkt als ik het aanpas form op een aparte pagina heb. dus dit houd ik zo wel. bedankt voor alle hulp ^^

Also. de voor0900 en na0900 zouden niet ge-escaped hoeven te worden aangezien deze uit een select box komen. toch zal ik dit doen voor de zekerheid.
Een select box is alleen een selectbox als je de HTML volgt. Het eerste ik zou proberen is juist voor selectboxes andere gegevens mee te sturen, juist omdat de denkfout gemaakt wordt die je nu maakt.

Escaping doe je ALTIJD. Geen uitzonderingen.
Wat Ben zegt!

De inhoud van HTML in formulier-elementen valt eenvoudig te manipuleren.

Reageren