Nie ma problemu. Przykład:
Plik functions.php:
<?php
// funkcja generująca dane znajdujące się w koszyku
function generate_cart()
{
echo "
<form action = '' method = 'post'>
<table border='solid 1px white'>
<caption>
Koszyk
</caption>
<th width='10vw'>
Nr.
</th>
<th width='30vw'>
produkt
</th>
<th width='10vw'>
Ilosc
</th>
<th width='20vw'>
Jednostka
</th>
<th width='10vw'>
Dodaj/Usuń
</th>
<th width='10vw'>
Foto
</th>
";
echo "</form>";
}
// funkcja obsługująca dane przychodzące metodą POST
function serve_post()
{
// dodanie produktu z poziomu stron zakupowych
if(isset($_POST['cargo']))
{
$cargo = $_POST['cargo'];
if(!isset($_SESSION[$cargo])) $_SESSION[$cargo] = 1;
else $_SESSION[$cargo]++;
}
// odjęcie produktu znajdującego się w koszyku (dostępne jedynie z poziomu koszyka)
if(isset($_POST['cargo-']))
{
$cargo = $_POST['cargo-'];
if($_SESSION[$cargo]==1) unset($_SESSION[$cargo]);
else $_SESSION[$cargo]--;
header("Location: cart.html");
}
// dodanie produktu znajdującego się już obecnie w koszyku (dostępne jedynie z poziomu koszyka)
// w zasadzie to funkcja isset zawsze daje wartość pozytywną,
// chyba że daną "cargo+" przesłalibyśmy ze stron zakupowych,
// pod jednoczesnym warunkiem że produktu nie ma jeszcze w koszyku
if(isset($_POST['cargo+']))
{
$cargo = $_POST['cargo+'];
if(!isset($_SESSION[$cargo])) $_SESSION[$cargo] = 1;
else $_SESSION[$cargo]++;
header("Location: cart.html");
}
}
?>
Plik index. html:
<?php
// uruchomienie sesji i inicjalizacja funkcji
session_start();
require_once('functions.php');
// wywołanie funkcji obsługującej dane nadesłane metodą POST
if(!empty($_POST))
{
serve_post();
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" >
<meta name="keywords" content="Nazwa firmy">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>
Теплый дом
</title>
<link rel="stylesheet" href="header.css?121622" media="all">
<link rel="stylesheet" href="footer.css?111622" media="all">
</head>
<body>
<div id="head">
<div id="head_logo">
<a class="hlogo" href="index.html">
<img src="img/logo.png" style="width:75%; height: 100%;" href="index.html">
</a>
</div>
<a class="head_text" href="index.html">
<i>
Nazwa firmy
</i>
</a>
<div id="head_menu">
<a href="home.html" class="menu_button">O nas</a>
<a href="contact.html" class="menu_button">Kontakt</a>
</div>
<div id="head_phones">
<img src="img/phone_white.png" style="width: 3vw; height: 3vw;">
<a class="headphones" href="tel:+0000000000">
0000000000
</a>
</div>
<a id = "head_cart" href = "cart.html">
<img src="img/shopping_cart.png" style="width:75%; height: 75%;">
</a>
</div>
<?php
echo "Test.";
?>
<?php
generate_cart();
?>
<div id="footer">
<div id="footer_logo">
</div>
<div id="footer_text">
<i>
Jakiś tekst stopki.
</i>
</div>
</div>
</body>
</html>
Plik header.css (zawierający style nagłówka):
#head {
width : 100vw;
background: url("img/header.jpeg");
background-size: cover;
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 1;
height: 6vw;
color: white;
}
#head_logo {
float: left;
display: flex;
justify-content: center;
align-items: center;
width: 4.5vw;
height: 3vw;
position: relative;
top: 1.5vw;
left: 0.5vw;
}
#hlogo { }
a.head_text {
height: 100%;
font-family: Arial;
float: left;
display: flex;
align-items: center;
justify-content: left;
width: 20vw;
font-size: 3vw;
line-height: 3vw;
text-decoration: none;
color: white;
}
#head_menu {
float: left;
display: flex;
align-items: center;
justify-content: center;
height: 100%;
width: 34vw;
}
a.menu_button {
text-decoration: none;
text-align: center;
color: white;
width: 45%;
display: inline-block;
font-family: Arial;
font-weight: normal;
margin-left: 0.5%;
font-size: 2.5vw;
line-height: 2.5vw;
height: 50%;
text-align: center;
line-height: 3vw;
}
a.menu_button:hover{
position: relative;
background-color: rgba(128,128,0,0.6);
color: #ffffff;
}
a.menu_button_choosen {
text-decoration: none;
text-align: center;
color: #808000;
width: 45%;
display: inline-block;
font-family: Arial;
font-weight: normal;
margin-left: 0.5%;
font-size: 2.5vw;
line-height: 3.5vw;
height: 50%;
text-align: center;
margin-top: 0;
}
a.menu_button_choosen:hover{
position: relative;
background-color: rgba(128,128,0,0.6);
color: #808000;
}
#head_cart {
float: right;
display: flex;
align-items: center;
justify-content: center;
width: 6vw;
height: 6vw;
}
#head_cart_choosen {
float: right;
display: flex;
align-items: center;
justify-content: center;
width: 6vw;
height: 6vw;
}
#head_cart:hover {
position: relative;
animation-name: animation_cart;
animation-duration: 0.1s;
animation-iteration-count: infinite;
}
@keyframes animation_cart {
0% { left: 0px; }
50% { left: 2px; }
100% { left: 0px;}
}
a.headphones {
color: white;
font-size: 3.5vw;
line-height: 5vw;
}
a.headphones:link {
color: white;
text-decoration: none;
}
a.headphones:hover {
color: rgba(0,255,127,1);
text-decoration: none;
}
#head_phones {
float: right;
width: 35vw;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
I ostatni styl stopki w pliku footer.css:
#footer {
width : 100vw;
background-color: black;
height: 3.5vw;
}
#footer_logo {
width: 3.5vw;
height: 100%;
background: url("img/logo.png");
background-size: cover;
float: left;
}
#footer_text {
float: right;
text-align: left;
color: white;
font-size: 2vw;
font-family: Arial;
display: flex;
align-items: center;
justify-content: center;
height: 100%;
width: 96.5vw;
}
Co do mojego poprzedniego pytania, to najlepsze w tym jest to że napis Test , także generowany echem przez php znajduje się w miejscu pomiędzy nagłówkiem i stopką, tak jak jest w kodzie, ale już podczas wywołania funkcji generate_cart() wszystko idzie na koniec.
Dlaczego tak jest Panowie, help me.
Dodam tylko że istnieje możliwość odpalania kodu php znajdujących się w plikach html - można to osiągnąć poprzez wpis w pliku .htaccess na serwerze:
AddHandler application/x-httpd-php .html