Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
uploads/
65 changes: 65 additions & 0 deletions ilia_dzidzishvili/index.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Week-1</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>

<?php
$uploadFileName = null;
$hasPost = false;
if(isset($_POST["firstname"]) || isset($_POST["lastname"]) || $_FILES["firstname"])
{
$hasPost = true;
$errorMessages = [];
if (!preg_match("/^[A-Z]+$/", $_POST["firstname"]))
array_push($errorMessages, 'First name must only contain letters A to Z');
if (!preg_match("/^[A-Z]+$/", $_POST["lastname"]))
array_push($errorMessages, 'Last name must only contain letters A to Z');
if ($_FILES['image']['size'] == 0){
array_push($errorMessages, 'Please select a profile picture');
}else{
$uploadFileName = $_FILES["image"]["name"];
if(empty($errorMessages))
move_uploaded_file($_FILES["image"]["tmp_name"], 'uploads/'.$uploadFileName);
}
}
?>

<div class="container">
<h1>Bitoid week 1</h1>

<?php if($hasPost): ?>
<?php if($errorMessages): ?>
<div class="error-messages">
<?php foreach ($errorMessages as $errMsg): ?>
<div><?= $errMsg ?></div>
<?php endforeach; ?>
</div>
<?php else: ?>
Firstname: <?= $_POST['firstname'] ?> <br>
Lastname: <?= $_POST['lastname'] ?> <br>
Profile image: <br>
<img src="./uploads/<?= $uploadFileName ?>" width="100">
<?php endif; ?>
<?php endif; ?>


<form method="post" action="index.php" enctype="multipart/form-data">
<label for="firstname">Firstname</label>
<input name="firstname" id="firstname">
<label for="lastname">Lastname</label>
<input name="lastname" id="lastname">
<label for="image">Profile image</label>
<input type="file" name="image" id="image" accept=".jpg, .png">
<button type="submit">Send</button>
</form>

</div>

</body>
</html>
36 changes: 36 additions & 0 deletions ilia_dzidzishvili/styles.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
.container, form{
padding-top: 20px;
margin: auto;
width: 100%;
max-width: 800px;
display: flex;
flex-direction: column;
}
h1{
border-bottom: solid #dddbdb 1px;
}
label{
margin-bottom: 4px;
}
input{
border:solid grey 1px;
border-radius: 4px;
font-size: 14px;
padding: 8px;
margin-bottom: 12px;
}
input:focus{
border: solid blue 1px;
outline: #6ca2e9;
}
button{
width: fit-content;
padding: 8px 20px;
}
.error-messages{
border: solid #f97f7f 1px;
background-color: #ffc1be;
border-radius: 4px;
padding: 8px;
color: #f90909;
}