U bent hier

Wijzigen van gegevens

logo van Wijhe Consultancy

Dit artikel gaat ervan uit dat je de artikelen

gelezen hebt.

Het volledige script.

Het eerst laat ik jullie het volledige script zien, waarna de uitleg per gedeelte volgt.



Allereerst het volledige script.

  gehele script  
<?php
/*
    Aangepast door van Wijhe Consultancy
    http://portaal.vanwijhecons.nl/
    september 2011
*/

// maakt MySQL variabelen beschikbaar.
include('config.php');

// het netjes openen van een html file
include('header.php') ;

echo 
'<p>&nbsp; </p>'."\n" ;

// formulier nog niet verstuurd
// laat het wijzig formulier hier zien
if ( $_SERVER["REQUEST_METHOD"] == "GET" )
{
    
//-----try
    
try
    {  
        
//-----
        
$db_n = new PDO('mysql:host='.$host.';dbname='.$database$gebruiker$wachtwoord);
        
        
$db_n->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);
                            
        
$st $db_n->prepare("SELECT * FROM adressen WHERE id = :id ; ") ;
        
        
$st->bindParam(":id",            $_GET['id']);    
        
        
$st->execute();
        
        echo 
'<p><a href="index.php">Terug naar het hoofdmenu.</a></p>'."\n";
        echo 
'<p>&nbsp; </p>'."\n" ;
      
        echo 
'<form action="wijzig.php" method="post">'."\n" ;  
        echo 
'<input type="hidden" name="id" value="'.$_GET['id'].'">'."\n" 
        
        echo 
'<table cellspacing="5" cellpadding="5" border="0" width="800">'."\n" ;
            
        foreach ( 
$st->fetchAll() as $rij )
        { 
            echo 
'<table cellspacing="5" cellpadding="5" border=0>'."\n";
            echo 
'<tr>'."\n";
            echo 
'<td colspan=2><b><font color=red>*</font><font size="-1"> = verplicht</font></b></td>'."\n";
            echo 
'</tr>'."\n";
            echo 
'<tr>'."\n";
            echo 
'<td valign="top">Dhr / Mw <font color=red>*</font></font></b></td>'."\n";
            echo 
'<td><input size="50" type="text" name="mv" value="'.$rij['mv'] .'"></td>'."\n";
            echo 
'</tr>'."\n";
            echo 
'<tr>'."\n";
            echo 
'<td valign="top">Voornaam <font color=red>*</font></td>'."\n";
            echo 
'<td><input size="50" type="text" name="voornaam" value="'.$rij['voornaam'] .'"></td>'."\n";
            echo 
'</tr>'."\n";
            echo 
'<tr>'."\n";
            echo 
'<td valign="top">Tussenvoegsel </td>'."\n";
            echo 
'<td><input size="50" type="text" name="tussenvoegsel" value="'.$rij['tussenvoegsel'] .'"></td>'."\n";
            echo 
'</tr>'."\n";
            echo 
'<tr>'."\n";
            echo 
'<td valign="top">Achternaam <font color=red>*</font></td>'."\n";
            echo 
'<td><input size="50" type="text" name="naam" value="'.$rij['naam'] .'"></td>'."\n";
            echo 
'</tr>'."\n";
            echo 
'<tr>'."\n";
            echo 
'<td valign="top">Adres  / Huisnummer<font color=red>*</font></td>'."\n";
            echo 
'<td><input size="35" type="text" name="straat" value="'.$rij['straat'] .'"> <input size="15" type="text" name="nummer" value="'.$rij['nummer'] .'"></td>'."\n";
            echo 
'</tr>'."\n";
            echo 
'<tr>'."\n";
            echo 
'<td valign="top">Postcode </td>'."\n";
            echo 
'<td><input size="50" type="text" name="pc" value="'.$rij['pc'] .'"></td>'."\n";
            echo 
'</tr>'."\n";
            echo 
'<tr>'."\n";
            echo 
'<td valign="top">Woonplaats <font color=red>*</font></td>'."\n";
            echo 
'<td><input size="50" type="text" name="woonplaats" value="'.$rij['woonplaats'] .'"></td>'."\n";
            echo 
'</tr>'."\n";
            echo 
'<tr>'."\n";
            echo 
'<td valign="top">Telefoon</td>'."\n";
            echo 
'<td><input size="50" type="text" name="telefoon" value="'.$rij['telefoon'] .'"></td>'."\n";
            echo 
'</tr>'."\n";
            echo 
'<tr>'."\n";
            echo 
'<td valign="top">Geboorte datum ( yyyy-mm-dd )</td>'."\n";
            echo 
'<td><input size="50" type="text" name="geb_datum" value="'.$rij['geb_datum'] .'"></td>'."\n";
            echo 
'</tr>'."\n";
            echo 
'<tr>'."\n";
            echo 
'<td valign="top">E-mail</td>'."\n";
            echo 
'<td><input size="50" type="text" name="email" value="'.$rij['email'] .'"></td>'."\n";
            echo 
'</tr>'."\n";
            echo 
'<tr>'."\n";
            echo 
'<td colspan=2><input type="Submit" name="verstuurd" value="Wijzig adres">'."\n";
            echo 
'&nbsp;&nbsp;&nbsp; <input type="Reset" value="Wis invoer">'."\n";
            echo 
'</td>'."\n";
            echo 
'</tr>'."\n";
            echo 
'</table>'."\n";        
        
//-----/
        
}    
     
        echo 
'</form>'."\n" ;    
        
//-----/    
    
}
    
//-----/try
    //-----catch
    
catch (PDOException $e)
    {
        
//-----
        
echo '<pre>'."\n" ;  
        echo 
'<table>'."\n" ;  
        echo 
'<tr><td> &nbsp; File: &nbsp; </td><td> &nbsp; '.$e->getMessage().'</td></tr>'."\n" ;
        echo 
'</table>'."\n" ;  
        echo 
'</pre>'."\n" 
        
//-----/    
    
}
    
//-----/catch
}
else
{
    
// maak foutenlijst array
    
$foutenlijst = array();
    
$teller '0' ;

    
// valideer tekst velden
    
if ( !isset($_POST["mv"]) || strlen($_POST["mv"]) == '0' 
    { 
        
$foutenlijst[$teller] = 'Het volgende veld is niet ingevuld: <b>Dhr Mw</b>'
        
$teller++; 
    }

    if ( !isset(
$_POST["voornaam"]) || strlen($_POST["voornaam"]) == '0'  
    { 
        
$foutenlijst[$teller] = 'Het volgende veld is niet ingevuld: <b>Voornaam</b>'
        
$teller++; 
    }
        
    if ( !isset(
$_POST["naam"]) || strlen($_POST["naam"]) == '0' 
    { 
        
$foutenlijst[$teller] = 'Het volgende veld is niet ingevuld: <b>Achternaam</b>'
        
$teller++; 
    }
        
    if ( !
strlen($_POST["straat"]) ) 
    { 
        
$foutenlijst[$teller] = 'Het volgende veld is niet ingevuld: <b>Adres</b>'
        
$teller++; 
    }

    if ( !isset(
$_POST["nummer"]) || strlen($_POST["nummer"]) == '0' 
    { 
        
$foutenlijst[$teller] = 'Het volgende veld is niet ingevuld: <b>Nhuisnummer</b>'
        
$teller++; 
    }

    if ( !isset(
$_POST["woonplaats"]) || strlen($_POST["woonplaats"]) == '0' )    
    { 
        
$foutenlijst[$teller] = 'Het volgende veld is niet ingevuld: <b>Woonplaats</b>'
        
$teller++; 
    }

    if ( !isset(
$_POST["geb_datum"]) || strlen($_POST["geb_datum"]) == '0'  )    
    { 
        
$geb_datum '0000-00-00' ;
    }
    else
    {
        
$geb_datum $_POST["geb_datum"] ;
    }    
    
    
// fouten controle.
    // en zoniet.
    
if (  '0' == $teller )
    {
        try
        {  
            
// Verzorg connectie naar MySQL
            // en initialiseert beginwaarden PDO errors
            
$db_n = new PDO('mysql:host='.$host.';dbname='.$database$gebruiker$wachtwoord);
            
$db_n->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);

            
// Het opzetten van de query    
            
$st_n $db_n->prepare("UPDATE adressen SET
                                        mv                 = :mv,
                                        voornaam        = :vn,
                                        tussenvoegsel    = :tv,
                                        naam            = :naam,
                                        straat            = :straat,
                                        nummer            = :nr,
                                        pc                = :pc,
                                        woonplaats        = :plaats,
                                        telefoon        = :telf,
                                        email            = :email,
                                        geb_datum        = :gd
                                    WHERE 
                                        id                = :id ;    "
) ;

            
// Het toekennen en beveiligen van de variabelen via bindParam                              
            //
            
$st_n->bindParam(":id",         $_POST["id"]);            
            
$st_n->bindParam(":mv",         $_POST["mv"]);    
            
$st_n->bindParam(":vn",         $_POST["voornaam"]);        
            
$st_n->bindParam(":tv",         $_POST["tussenvoegsel"]);                    
            
$st_n->bindParam(":naam",         $_POST["naam"]);            
            
$st_n->bindParam(":straat",     $_POST["straat"]);            
            
$st_n->bindParam(":nr",         $_POST["nummer"]);            
            
$st_n->bindParam(":pc",         $_POST["pc"]);
            
$st_n->bindParam(":plaats",     $_POST["woonplaats"]);            
            
$st_n->bindParam(":telf",         $_POST["telefoon"]);            
            
$st_n->bindParam(":email",         $_POST["email"]);            
            
$st_n->bindParam(":gd",         $geb_datum);            

            
// Het uitvoeren van de vraagstelling        
            
$st_n->execute() ;     

            
// laat resultaat zien en verdere mogelijkheden.
            
echo '<div align="center">'."\n";
            echo 
'<br />'."\n";
            echo 
'<br />'."\n";                
            echo 
'<br />'."\n";
            echo 
'Het wijzigen was succesvol.';
            echo 
'<br />'."\n";
            echo 
'<br />'."\n";            
            echo 
'<a href="index.php">Klik hier om terug naar het hoofd menu te gaan.</a>'."\n";
            echo 
'<br />'."\n";
            echo 
'</div>'."\n";
            
//-----/
        
}
        catch (
PDOException $e)
        {
            
// Laat foutmelding PDO zien            
            
echo '<table>'."\n";
            echo 
'<tr><td> &nbsp; File: &nbsp; </td><td> &nbsp; '.$e->getMessage().' </td></tr>'."\n";
            echo 
'<tr><td> &nbsp; File: &nbsp; </td><td><a href="index.php">Klik hier om terug naar het hoofd menu te gaan.</a></td></tr>'."\n";            
            echo 
'</table>'."\n";            
            
//-----/
        

    }
    
// er zijn wel fouten in het formulier
    
else
    {        
        
// er zijn fouten in het formulier gevonden.
        // laat deze als lijst zien.
        
echo '<p>De volgende fouten traden op : </p>'."\n";
        echo 
'<ul>'."\n";
        for ( 
$x '0'$x sizeof($foutenlijst); $x++ )
        {
            echo 
'<li>'.$foutenlijst[$x].'</li>'."\n";
        }
        echo 
'</ul>'."\n";
        echo 
'<p><a href="index.php">Klik hier om terug naar het hoofd menu te gaan.</a></p>'."\n";
        
//-----/
    
}
}


// Weergeven van de footer
include('footer.php') ;

?>

En nu de uitleg.

Het uitlezen van een record

Allereerst het ophalen van