When i go to my profile page is empty.
template_class.php
class Template
{
public $arr= array();
public $layouts;
public function add_content($pag,$arr)
{
$var=file_get_contents('template/'.$pag);
foreach($arr as $key => $value)
{
$var=str_replace('{{'.$key.'}}',$value,$var);
}
$this->arr[] = $var;
}
public function set_layout($lay)
{
$this->layouts=$lay;
}
public function show()
{
if(!file_exists('template/'.$this->layouts))
{
$layout=file_get_contents('template/homepage.tpl');
}
else
{
$layout=file_get_contents('template/'.$this->layouts);
}
$content='';
foreach($this->arr as $key=>$value)
{
$content .= $value;
}
$layout=str_replace('{{CONTENT}}',$content,$layout);
echo $layout;
}
}
home.php
require './template_class.php';
$template= new Template();
$template->set_layout('homepage.tpl');
$visib='';
$disp='';
if(isset($_COOKIE['Login']) & isset($visib) & isset($disp))
{
$visib='visible';
$disp='invisible';
}
else
{
$visib='invisible';
$disp='visible';
}
$template->add_content('home.tpl',array(
'visibility' => $visib,
'display' => $disp,
));
$template->show();
homepage.tpl
<nav class="navbar navbar-expand-sm bg-dark navbar-dark fixed-top">
<ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="home.php">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="profile.php">Profile</a>
</li>
</ul>
{{CONTENT}}
</nav>
home.tpl
<ul class="nav navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link {{display}}" href="user/form_login.php"><span class="fas fa-sign-in-alt"></span> Login</a>
</li>
<li class="nav-item">
<a class="nav-link {{display}}" href="user/form_register.php"><span class="fas fa-user"></span> Sign Up</a>
</li>
<li class="nav-item">
<a class="nav-link {{visibility}}" href="user/logout.php" ><span class="fas fa-user"></span> Logout</a>
</li>
</ul>
form_login.php
<form action="login.php">
<div class="form-group">
<label for="user name">Username:</label>
<input type="text" class="form-control" id="user" placeholder="Enter user" name="user">
</div>
<div class="form-group">
<label for="pwd">Password:</label>
<input type="password" class="form-control" id="pwd" placeholder="Enter password" name="pswd">
</div>
<div class="form-group form-check">
<label class="form-check-label">
<input class="form-check-input" type="checkbox" name="remember"> Remember me
</label>
</div>
<button type="submit" class="btn btn-primary" name="login_user">Log in</button>
</form>
login.php
<?php
setcookie("Login","You are loged in.", time()+ 99999999, "/");
require 'user_con.php';
$username=$_POST['username'];
$password=$_POST['password'];
$errors = array();
if (empty($username)) {
array_push($errors, "Username is required");
}
if (empty($password)) {
array_push($errors, "Password is required");
}
if (count($errors) == 0) {
$sql = "SELECT * FROM $tbl_name WHERE username='$username' and password='$password' LIMIT 1";
$result = mysqli_query($link,$sql);
}
else
{
array_push($errors, "Wrong username/password combination");
}
header('Location:../home.php');
profile.php
<?php
require './template_class.php';
require './user/user_con.php';
$template= new Template();
$template->set_layout('view_profile.tpl');
$userid=$_POST['userid'];
$sql = "SELECT username, fname, lname, email, number FROM $tbl_name WHERE userid='$userid' LIMIT 1";
$result = mysqli_query($link,$sql);
$rows = mysqli_num_rows($result);
while($rows)
{
$template->add_content('profile.tpl',array(
'First name' => $rows['fname'],
'Last name' => $rows['lname'],
'Email' => $rows['email'],
'Phone Number' => $rows['number'],
));
}
$template->show();
mysqli_close($link);
view_profile.tpl
<table class="table table-dark">
<thead>
<tr>
<th>First name</th>
<th>Last name</th>
<th>Email</th>
<th>Phone Number</th>
</tr>
</thead>
<tbody>
{{CONTENT}}
</tbody>
</table>
profile.tpl
<tr>
<td>{{First name}}</td>
<td>{{Last name}}</td>
<td>{{Email}}</td>
<td>{{Phone Number}}</td>
</tr>