Webbserverprogrammering 1

Källkod

Följande filer och mappar finns under mappen webbserverprogrammering.
Mappar visas till vänster och filer till höger. Klicka på en fil eller mapp för att öppna nedan eller visa dess innehåll.

webbserverprogrammering/exercises/mysql/exercise_1/

10 filer

back_button.php
create_table.php
dbconnection.php
delete_row.php
delete_table.php
index.php
insert_default_values.php
insert_values.php
print_table.php
update_values.php

update_values.php

171 lines UTF-8 Windows (CRLF)
<!DOCTYPE html>
<html lang="sv">
<head>
 <title>Uppdatera värden</title>
 <meta charset="utf-8">
 <style type="text/css">
  table#data {
   border-collapse: collapse;
  }
  #data td {
   padding: 8px;
   border: 1px solid #686868;
  }
 </style>
</head>
<body>

 <?php

 
include('back_button.php');
 include (
'dbconnection.php');

 
$message "";
 
$getId "";
 
$getFirstname "";
 
$getLastname "";
 
$getMobile "";
 
$getEmail "";

 if (isset(
$_POST['firstname']) && isset($_POST['lastname']) && isset($_POST['id']) && isset($_POST["mobile"]) && isset($_POST["email"])) {
    
  
$id $_POST['id'];
  
$firstname $_POST['firstname'];
  
$lastname $_POST['lastname'];
  
$mobile $_POST['mobile'];
  
$email $_POST['email'];
  
  try {
   
# prepare
   
$sql "UPDATE kompisar SET firstname=?, lastname=?, mobile=?, email=? WHERE id=?";
   
$stmt $dbconn->prepare($sql);

   
# the data we want to insert
   
$data = [$firstname$lastname$mobile$email$id];

   
# execute width array-parameter
   
$stmt->execute($data);
    
   
$message .= "<br>Data uppdaterad.<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 (alltså en rad). 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 kompisar WHERE id=?";
   
$stmt $dbconn->prepare($sql);
   
# the data we want to insert
   
$data = [$id];
   
# execute width array-parameter
   
$stmt->execute($data);
    
   
$response $stmt->fetch(PDO::FETCH_ASSOC);
   
$getId htmlentities($response['id']);
   
$getFirstname htmlentities($response['firstname']);
   
$getLastname htmlentities($response['lastname']);
   
$getMobile htmlentities($response['mobile']);
   
$getEmail htmlentities($response['email']);
   
   
$message .= "<br><strong>En rad valdes.</strong><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="firstname" size="20" maxlength="100" value="<?= $getFirstname?>" required>
    </td>
   </tr> 
   <tr>
    <td>Efternamn:</td>
    <td>
     <input type="text" name="lastname" size="20" maxlength="100" value="<?= $getLastname?>" required>
    </td>
   </tr> 
   <tr>
    <td>Mobiltelefonnummer:</td>
    <td>
     <input type="text" name="mobile" size="20" maxlength="100" value="<?= $getMobile?>">
    </td>
   </tr>
   <tr>
    <td>E-post:</td>
    <td>
     <input type="text" name="email" size="20" maxlength="100" value="<?= $getEmail?>">
    </td>
   </tr>
   <tr>
    <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 kompisar";
 
$stmt $dbconn->prepare($sql);

 
// fetch width column names, create a table
 
$data = [];
 
$stmt->execute($data); // empty array just for consistency

 
$output " <table id='data'>
     <caption>
      <strong>Komipsar</strong>
     </caption>
     <br><br>"
;

 while (
$response $stmt->fetch(PDO::FETCH_ASSOC)) {
  
$getId htmlentities($response['id']);
  
$getFirstname htmlentities($response['firstname']);
  
$getLastname htmlentities($response['lastname']);
  
$getMobile htmlentities($response['mobile']);
  
$getEmail htmlentities($response['email']);
  
  
$output .= "<tr>".
   
"<td><a href='?id=$getId'>$getId</a></td>".
   
"<td>$getFirstname</td>".
   
"<td>$getLastname</td>".
   
"<td>$getMobile</td>".
   
"<td>$getEmail</td>".
  
"</tr>";
  
 }

 
$output .= "</table>";
 echo 
$output;

 
$dbconn null;

 
?>

</body>
</html>