Ik ben bezig om een profielwijzig pagina te maken, hier kun je o.a je wachtwoord wijzigen. Ik heb hiervoor een simpele pagina genaamd wijzigprofiel.php (alleen de cruciale lines heb ik geshowed):
<?php
$errors = array();
$berichten = array();
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$gebruikers_id = 3; #moet natuurlijk uit sessie komen
#Check voor wachtwoord
if ($_POST['oudwachtwoord'] != '' and $_POST['nieuwwachtwoord'] != '' and $_POST['nieuwwachtwoord'] != '' )
{
$sql = "SELECT wachtwoord FROM gebruikers WHERE gebruikers_id = :gebruikers_id";
$query = $db->prepare($sql);
$query->bindParam( ':gebruikers_id', $gebruikers_id, PDO::PARAM_INT) ;
$query->execute();
$resultaat = $query->fetch(PDO::FETCH_ASSOC);
echo $resultaat['wachtwoord'];
if( $resultaat['wachtwoord'] == $_POST['oudwachtwoord'])
{
if( $_POST['nieuwwachtwoord'] == $_POST['nieuwwachtwoordopnieuw'] )
{
$sql = "UPDATE gebruikers SET wachtwoord = :wachtwoord WHERE gebruikers_id = :gebruikers_id";
$query = $db->prepare($sql);
$query->bindParam( ':wachtwoord', $_POST['nieuwwachtwoordopnieuw'], PDO::PARAM_STR);
$query->bindParam( ':gebruikers_id', $gebruikers_id, PDO::PARAM_INT);
$query->execute();
$berichten[] = "Je wachtwoord is veranderd.";
}
else
{
$errors[] = "Je nieuwe wachtwoord komt niet overeen.";
}
}
else
{
$errors[] = "Het oude wachtwoord is onjuist.";
}
}
?>
<?php
if( count($berichten) > 0 )
{
echo "<div style=\"background: #CEFEC8; border: 2px solid green; padding: 15px;\">";
foreach( $berichten as $bericht )
{
echo "<li>" .$bericht. "</li>";
}
echo "</div>";
}
if( count($errors) > 0 )
{
echo "<div style=\"background: #FFC9C7; border: 2px solid red; padding: 15px;\">";
foreach( $errors as $error )
{
echo "<li>" .$error. "</li>";
}
echo "</div";
}
?>
<fieldset>
<legend>Wachtwoord</legend>
<label for="oudwachtwoord">Oude wachtwoord</label>
<input type="password" name="oudwachtwoord" /><br/>
<label for="nieuwwachtwoord">Nieuw wachtwoord</label>
<input type="password" name="nieuwwachtwoord" /><br/>
<label for="nieuwwachtwoordopnieuw">Nieuw wachtwoord opnieuw</label>
<input type="password" name="nieuwwachtwoordopnieuw" />
</fieldset>
Als ik een onjuist "oudwachtwoord" invoer en dan op submit druk krijg ik zoals het hoort een error. Als ik dan opnieuw het oudewachtwoord invoer samen met het nieuwe wachtwoord en ik druk op submit gebeurt er niks. De pagina wordt niet opnieuw geladen, noppes, nada, niks. Kortom het formulier wordt dan niet gesubmit.
Zou iemand weten hoe dit komt?
Met vriendelijke groet,
Omar