Webbserv1: Källkod
Webbserverprogrammering 1

Show sourcecode

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

webbsrvprg/projects/slutprojekt/

blala.php
chat.php
createtable.php
delete.php
deletetable.php
deletetables.php
fetch_messages.php
filhantering/
footer.php
header.php
home.php
login.php
new_password.php
password_reset.php
profile.php
send_message.php
signup.php
verify.php

signup.php

105 lines UTF-8 Windows (CRLF)
<?php
session_start
();
?>
<!doctype html>
<html>

<body>
<?php
include ('../../dbconnection.php');
$message null;
  if (isset(
$_POST['pass']) && !empty($_POST['pass'])) {
    
$fName $_POST['fName'];
    
$lName $_POST['lName'];
    
$email $_POST['email'];
    
$pass password_hash($_POST['pass'], PASSWORD_DEFAULT);
    
$bio $_POST['bio'];
    
$city $_POST['city'];
    
$interest $_POST['interest'];
    
$token bin2hex(random_bytes(16));

    
$_SESSION['verify_token_expiry'] = time() + 900;


    if(isset(
$_FILES["image"]["tmp_name"]) && $_FILES["image"]["tmp_name"] != "")
    {
      
$destination "filhantering/".$_FILES["image"]["name"];
      
copy($_FILES["image"]["tmp_name"], $destination);
      
$image $destination;
      
unlink($_FILES["image"]["tmp_name"]);
    }
    
    try {    
        
$sql "INSERT INTO webusers (fName, lName, email, pass, bio, city, admin, token, verified, date) 
          VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, now())"
;
        
$stmt $dbconn->prepare($sql);
        
$data = array($fName$lName$email$pass$bio$city'0'$token'0');
        
$stmt->execute($data);

        
$sql "SELECT * FROM webusers WHERE id = (SELECT MAX(id) FROM webusers)";
        
$stmt $dbconn->prepare($sql);
        
$stmt->execute();
        
$res $stmt->fetch(PDO::FETCH_ASSOC);
        
$userId htmlentities($res['id']);

        
$sql "INSERT INTO pictures (userId, picture) 
        VALUES (?, ?)"
;
        
$stmt $dbconn->prepare($sql);
        
$data = array($userId$image);
        
$stmt->execute($data);

        
$sql "INSERT INTO interests (userId, interest) 
        VALUES (?, ?)"
;
        
$stmt $dbconn->prepare($sql);
        
$data = array($userId$interest);
        
$stmt->execute($data);
            
        echo 
"Verifiera din epost via mejl innan du kan logga in.";

        
$verify_link "https://labb.vgy.se/~noahet/webbsrvprg/projects/slutprojekt/verify.php?email=" urlencode($email) . "&token=" $token;

        
$headers "From: no-reply@banan.com";
        
$subject "Verifiera din e-postadress";
        
$message "Klicka på länken för att verifiera din e-post: $verify_link";
        
mail($email$subject$message$headers);

        
$lastId $dbconn->lastInsertId();
    }
    catch(
PDOException $e)  {
        echo 
$sql "<br>" $e->getMessage();
    }
    
    
$dbconn null;
  }
?>
<form method="post" action="" enctype="multipart/form-data"> 

  Förnamn: 
  <input type="text" name="fName" size=40 maxlength=100 required><br><br>

  Efternamn:
  <input type="text" name="lName" size=40 maxlength=100 required><br><br>

  Epost:
  <input type="email" name="email" size=40 maxlength=100 required><br><br>

  Lösenord:
  <input type="text" name="pass" size=40 maxlength=100 required><br><br>
  
  Bio:<br>
  <textarea name="bio" cols="100" rows="10"></textarea><br><br>

  Stad:
  <input type="text" name="city" size=40 maxlength=100 required><br><br>

  Intresse:
  <input type="text" name="interest" size=40 maxlength=100 required><br><br>

  <input type="file" name="image" value="Välj bild"><br><br>

  <button type="submit">Skapa konto</button><br><br>

  <a href="login.php">Till inloggningssida</a>
</form>
</body>
</html>