Webbserverprogrammering 1

Show sourcecode

The following files exists in this folder. Click to view.

webbsrvprg/exercises/sql-intro/sql-intro2/

admin.php
createtable.php
insertpost.php
login.php
skrivut.php
sql-intro2-index.php
tabort.php
uppdatera.php
welcome.php

uppdatera.php

174 lines UTF-8 Windows (CRLF)
<!-- updatepost.php -->
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Update</title>
</head>

<body>
<?php
include ('../../../dbconnection.php');
$message null;
$getid null;
$getförnamn null;
$getefternamn null;
$getanvändarnamn null;
$getlösenord null;
$gettyp null;

if (isset(
$_POST['förnamn']) && isset($_POST['efternamn']) && 
  isset(
$_POST['id']) && isset($_POST['användarnamn']) && 
  isset(
$_POST['lösenord']) && isset($_POST['typ']) && !empty($_POST['förnamn']) && 
  !empty(
$_POST['efternamn']) && !empty($_POST['id']) && !empty($_POST['användarnamn']) && 
  !empty(
$_POST['lösenord']) && !empty($_POST['typ'])) {
      
    
$id $_POST['id'];
    
$förnamn $_POST['förnamn'];
    
$efternamn $_POST['efternamn'];
    
$användarnamn $_POST['användarnamn'];
    
$lösenord $_POST['lösenord'];
    
$typ $_POST['typ'];

    try {    
        
# prepare
        
$sql "UPDATE users SET förnamn=?, efternamn=?, användarnamn=?, lösenord=?, typ=? 
          WHERE id=?"
;
        
$stmt $dbconn->prepare($sql);
        
# the data we want to insert
        
$data = array($förnamn$efternamn$användarnamn$lösenord$typ$id);
        
# execute width array-parameter
        
$stmt->execute($data);
            
        
$message .= "<br />Record updated successfully.<br />";
        
// clear form from info
        
$_GET['id'] = null;
    }
    catch(
PDOException $e)
        {
        
$message .= $sql "<br>" $e->getMessage();
    }
} else {
    
$message .= "<br />Först väljer du en post. 
      Sen måste du fylla i minst förnamn och efternamn!<br /><br />"
;
}

if (isset(
$_GET['id']) && !empty($_GET['id']) ) {
    
$id $_GET['id'];
    
    try {    
        
# prepare
        
$sql "SELECT * FROM users WHERE id=?";
        
$stmt $dbconn->prepare($sql);
        
# the data we want to insert
        
$data = array($id);
        
# execute width array-parameter
        
$stmt->execute($data);
            
        
$res $stmt->fetch(PDO::FETCH_ASSOC);
        
$getid htmlentities($res['id']);
        
$getförnamn htmlentities($res['förnamn']);
        
$getefternamn htmlentities($res['efternamn']);
        
$getanvändarnamn htmlentities($res['användarnamn']);
        
$lösenord htmlentities($res['lösenord']);
        
$typ htmlentities($res['typ']);

        
        
$message .= "<br />Record was selected successfully.<br />";
    }
    catch(
PDOException $e)
        {
        
$message .= $sql "<br>" $e->getMessage();
    }
} else {

    
$message .= "<br />Välj en ny post att uppdatera.<br /><br />";

}

echo 
$message;

    
?>
        <form method="post" action=""> 
        <table> 
            <tr>
            <td>Förnamn*:</td>
            <td>
                <input type="text" name="förnamn" size="40" maxlength="40" 
                  value="<?= $getförnamn?>">
            </td>
            </tr> 
            <tr>
            <td>Efternamn*:</td>
            <td>
                <input type="text" name="efternamn" size="40" maxlength="40" 
                  value="<?= $getefternamn?>">
            </td>
            </tr> 
            <tr>
            <td>användarnamn:</td>
            <td>
                <input type="text" name="användarnamn" size="20" maxlength="20" 
                  value="<?= $getanvändarnamn?>">
            </td>
            </tr> 
            <tr>
            <td>Lösenord*:</td>
            <td>
                <input type="text" name="lösenord" size="40" maxlength="40" 
                  value="<?= $getlösenord?>">
            </td>
            </tr>
            <tr>
            <td>typ*:</td>
            <td>
                <input type="text" name="typ" size="40" maxlength="40" 
                  value="<?= $gettyp?>">
            </td>
            </tr>  
            <tr>
            <td>* = obligatoriskt</td>
            <td>
                <button type="submit">Lägg till</button>
                <input type="hidden" name="id" value="<?= $getid?>">
            </td>
            </tr> 
        </table> 
    </form>
<?php    
    
// Ouput table with all posts
    /*** The SQL SELECT statement ***/
    
$sql "SELECT * FROM users";
    
$stmt $dbconn->prepare($sql);
    
// fetch width column names, create a table
    
$data = array();  
    
$stmt->execute($data);
    
$output "<table><caption>En ostylad tabell!</caption>";
    while (
$res $stmt->fetch(PDO::FETCH_ASSOC)) {
        
$idx htmlentities($res['id']);
        
$för htmlentities($res['förnamn']);
        
$efter htmlentities($res['efternamn']);
        
$användarnamnx htmlentities($res['användarnamn']);
        
$lösenx htmlentities($res['lösenord']);
        
$typx htmlentities($res['typ']);


        
        
$output .= "<tr>".
            
"<td><a href='?id=$idx'>$idx</a></td>".
            
"<td>$för</td>".
            
"<td>$efter</td>".
            
"<td>$användarnamnx</td>".
            
"<td>$lösenx</td>".
            
"<td>$typx</td>".
        
"</tr>";
        
    }
    
$output .= "</table>";
    echo 
"$output";

    
$dbconn null;
?>

</body>
</html>