» »

[php] Problem z dinamično stranjo

[php] Problem z dinamično stranjo

Iskraman ::

Imam tole kodo:

<?PHP

$stran = $_GET['stran'];

if (!isset($_GET['stran'])) {
$file = ('domov.php');
}
if ($stran == '1') {
$file = ('1.php');
}
if ($stran == '2') {
$file = ('2.php');
}
if ($stran == '3') {
$file = ('3.php');
}
if ($stran == '4') {
$file = ('4.php');
}

include $file;
?>


Seveda potem link zgleda takole: index.php?stran=1

Sedaj pa me zanima, kaj narest, da bom lahko v te vključene fajle dal link in bo potem povezava zgledala npr. takole: index.php?stran=1&podstran=2?

mile ::

  
<?

if (isset($_GET['stran'])) 	{

      switch ($_GET['stran'])
		{
			case '1':
				$file = '1.php';
			break;
			case '2':
				$file = '2.php';
			break;
			case '3':
				$file = '3.php';
			break;
			default:
				$file = 'domov.php';
			break;
		}
  }
else
  {
        $file = 'domov.php';
  }

if (isset($_GET['podstran']))
  {
	$_GLOBAL['podstran']=$_GET['podstran'];
  }
else
  {
	$_GLOBAL['podstran']=0;
  }
  
include $file;

?>



in potem domov.php recimo

<?
 echo "Podstran: ".$_GLOBAL['podstran'];
?>

Iskraman ::

mile hvala lepa za tvoj trud, vendar sem stvar na koncu rešil takole:

<?php
if (!isset($_GET['stran'])) {
$file = ('domov.php');
}
if ($_GET['stran'] == '1') {
$file = ('1.php');
}
if ($_GET['stran'] == '2') {
$file = ('2.php');
}
if ($_GET['stran'] == '3') {
$file = ('3.php');
}
if ($_GET['stran'] == '4') {
$file = ('4.php');
}
if ($_GET['stran'] == '4') {


	if ($_GET['podstran'] == '1') {
	$file = ('podstran1.php');
	}
	if ($_GET['podstran'] == '2') {
	$file = ('podstran2.php');
	}
}

include $file;
?>

:)

mile ::

v tvoji kodi nimas definiran, ce nekdo vnese url "index.php?stran=5"

/edit: typo

Zgodovina sprememb…

  • spremenil: mile ()

Iskraman ::

Pa res, če vnesem tak url, mi vrne napako. A je možno narediti tako, da bi mi vrnilo da stran ne obstaja(404 error)?

mile ::

poglej mojo kodo, ima več kontrole nad vhodnimi podatki ,mogoce dodas se kaksen

  if (file_exists($page))
    {
       include($page);
    }
  else
    {
       include('404.php');     
    }

Iskraman ::

Njalepša hvala :)

Iskraman ::

Da ne bom odpiral nove teme:

Imam probleme s session-ni. Če v stran vključim tole kodo za prijavo, mi vrne to napako:
Warning: session_start(): Cannot send session cache limiter - headers already
 sent (output started at /home/r2gastar/public_html/cms/index.php:3) in 
/home/r2gastar/public_html/cms/index.php on line 118

vendar me prijavi!

Če pa session_start(); prestavim čisto na začetek strani, pa napake ni več, vendar se pojavi problem pri odjavi; vedno, ko se hočem odjavit, moram dvakrat kliknit na odjava, ker v prvo ostanem prijavljen, čeprav napiše da sem odjavljen? Ideje?

Jester ::

poglej si: ob_start (); in ob_end_flush();
drugače pa je pomoje problem v datoteki kjer imaš skripto za odjavo
HP notebook, AMD Turion 64 1,6 GHz, 512 MB RAM, ATI Radeon X300 128 MB

Iskraman ::

Skripta za odjavo:
<?php
unset($_SESSION['prijava']);
unset($_SESSION['uporabnik']);
unset($_SESSION['id']);

$_SESSION = array();
session_destroy();
echo "Sedaj ste odjavljeni";
?>

Jester ::

hja...se mi zdi da vem v čem je problem...
najprej se ti izvede skripta login.php potem pa še skripta za odjavo.
se pravi.....session za prijavo obstaja....ti z skripto za login preveriš če obstaja....izpišeš kot da je uporabnik logiran...potem pa z skripto za odjavo destroyaš session

ti moraš zamenjat vrstni red....predlagam ti da na začetek login skripte dodaš tole:

if ($_GET['stran'] == "odjava") {
unset($_SESSION['prijava']);
unset($_SESSION['uporabnik']);
unset($_SESSION['id']);

$_SESSION = array();
session_destroy();
}

potem pa v skripto za odjavo napišeš samo to:

echo "Sedaj ste odjavljeni";

lp primož
HP notebook, AMD Turion 64 1,6 GHz, 512 MB RAM, ATI Radeon X300 128 MB

Iskraman ::

Hvala ti, deluje! :))


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[php] Cookie lost after header

Oddelek: Programiranje
61588 (1511) Yacked2
»

PHP - Register form

Oddelek: Izdelava spletišč
241857 (1485) roli
»

vstaviti phpbb na statično strani

Oddelek: Izdelava spletišč
211471 (1326) Tody
»

Login script

Oddelek: Izdelava spletišč
51512 (1383) tec
»

sessions

Oddelek: Izdelava spletišč
151417 (1279) multiplayer

Več podobnih tem