mam 3 adresy URL pod postacią kodu QR, nazwijmy je 'A', 'B', 'C'. Gdy zeskanuję któryś z kodów po raz pierwszy, to wyświetla mi się obrazek z mapą.
Przykład: Skanujemy kod QR 'B', więc wyświetla się obrazek mapy z miejsca 'start' do obiektu 'B'. Następnie gdy zeskanuję kod, tym razem np. 'A', to wyświetla się obrazek z mapą z miejsca 'A' do miejsca 'B'. Następnie jeżeli zeskanuję kod 'C', to wyświetla się obrazek z mapą z miejsca 'C' do miejsca 'B'. Jednak, gdy zeskanuję kod 'B' (ten sam kod, który zeskanowałem na samym początku) to wyświetla się tym razem informacja o obiekcie 'B'. Do tego momentu skrypty działają prawidłowo. Jednakże, gdy teraz zeskanuję kod QR 'C' (ten sam, który zeskanowałem wcześniej; pogrubiony fragment) to chciałbym, żeby wyświetliła mi się mapa z miejsca 'B' do miejsca 'C'.
Obecnie jest tak, że wyświetla mi się mapka z 'C' do 'B' i to jest błąd, ponieważ jesteśmy aktualnie w miejscu 'B'.
W skrócie, gdy wyświetlę informację o obiekcie 'B', ten obiekt musi przyjąć punkt startowy. Tutaj właśnie potrzebuję pomocy, nie wiem jak to ugryźć.
Adres URL to np.: .../index.php?obiekt=obiektX, gdzie X to A, B lub C.
Wszystkie kombinacje obrazków mam: A->B, A->C, itp.
Jeżeli coś jest nie jasne, to pytać, postaram się opisać to na przykładzie "życiowej sytuacji"

Skrypty:
index.php
Kod
<?php
require_once('funkcje.php');
session_start();
$obiekt = isset($_GET['obiekt']) ? $_GET['obiekt'] : 'obiekt1';
if (!isset($_SESSION['cel'])) {
$_SESSION['cel'] = $obiekt;
pokazMapeStart('start',$obiekt);
} else {
if ($_SESSION['cel'] == $obiekt) {
pokazInfo($obiekt);
} else {
pokazMape($obiekt, $_SESSION['cel']);
}
}
?>
require_once('funkcje.php');
session_start();
$obiekt = isset($_GET['obiekt']) ? $_GET['obiekt'] : 'obiekt1';
if (!isset($_SESSION['cel'])) {
$_SESSION['cel'] = $obiekt;
pokazMapeStart('start',$obiekt);
} else {
if ($_SESSION['cel'] == $obiekt) {
pokazInfo($obiekt);
} else {
pokazMape($obiekt, $_SESSION['cel']);
}
}
?>
funkcje.php
Kod
<?php
function pokazInfo($obiekt)
{
header('Location: /info.php?obiekt=' . $obiekt);
}
function pokazMape($obiektZ,$obiektDo)
{
header('Location: /mapka.php?z='.$obiektZ.'&do='.$obiektDo);
}
function pokazMapeStart($start,$obiektDo)
{
header('Location: /mapka.php?z='.$start.'&do='.$obiektDo);
}
function pokazInfo($obiekt)
{
header('Location: /info.php?obiekt=' . $obiekt);
}
function pokazMape($obiektZ,$obiektDo)
{
header('Location: /mapka.php?z='.$obiektZ.'&do='.$obiektDo);
}
function pokazMapeStart($start,$obiektDo)
{
header('Location: /mapka.php?z='.$start.'&do='.$obiektDo);
}
mapka.php
Kod
<?php
$nazwaMapy = 'mapa_'. $_GET['z'].'_'.$_GET['do'].'.png';
echo '<img src="/'.$nazwaMapy.'" alt="mapa"/>';
?>
$nazwaMapy = 'mapa_'. $_GET['z'].'_'.$_GET['do'].'.png';
echo '<img src="/'.$nazwaMapy.'" alt="mapa"/>';
?>
info.php
Kod
<?php
switch($_GET['obiekt']) {
case 'obiekt1':
echo '<img src="obiekt1.png">';
break;
case 'obiekt2':
echo '<img src="obiekt2.png">';
break;
case 'obiekt3':
echo '<img src="obiekt3.png">';
break;
}
?>
switch($_GET['obiekt']) {
case 'obiekt1':
echo '<img src="obiekt1.png">';
break;
case 'obiekt2':
echo '<img src="obiekt2.png">';
break;
case 'obiekt3':
echo '<img src="obiekt3.png">';
break;
}
?>
Sorry, że podbiłem, ale niestety jeszcze nie rozwiązałem sam mojego problemu. Może jednak ktoś wie, w jaki sposób rozwiązać mój problem?