Skocz do zawartości

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

Laurencja

problem z projektem php

Polecane posty

Robiąc samo

switch($_GET['page']){

zakładasz, że zmienna page jest zawsze przekazana w URLu, co w tym przypadku nie jest prawdą. IMHO lepiej to zrobić tak:

if (isset($_GET['page']))
{
$page = $_GET['page'];
switch($page){
(i tu ciało switcha)
}
}

Link do komentarza
Udostępnij na innych stronach

to pełny kod tej strony głównej ...


<?php
session_start();


define("LOGIN", 'user');
define("HASLO", 'haslo');

function head($title){
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<title><?php echo $title;?></title>
<style type='text/css'>
body{
margin: 0;
padding: 0;
font-family: ARIAL;
}
td.przycisk a{
color: white;
text-decoration: none;
}
td.przycisk a:hover{
color: orange;
}
table.glowna{
margin: 0 auto 0 auto;
width: 68%;
}
td.logo{
text-align: center;
padding: 0;
border: 2px solid black;
height: 150px;
padding: 8px;
margin: 5px auto 0 auto;
font-size: 30pt;
font-weight: bold;
letter-spacing: 5px;
text-transform: uppercase;
}
td.stopka{
text-align: center;
}
td.menuN{
margin: 0;
padding: 0;
}
table.menu{
margin: 0;
width: 100%;
border: 1px solid black;
background: #232A32;
}
table.menu td{
width: 16.6%;
text-align: center;
color: white;
}
td.przycisk:hover{
background: #D8DCDB;
}
td.tresc{
border: 1px solid black;
padding: 80px;
}
</style>
</head>
<body>
<table class='glowna'>
<tr>
<td class='logo'>
<!-- LOGO -->
<img src="bar.jpg">
</td>
<tr>
<tr>
<td class='menuN'>
<!-- MENU -->
<table class='menu'>
<tr>
<td class='przycisk'><a href='index.php'>Główna</a></td>
<td class='przycisk'><a href='index.php?page=podstrona1'>Podstrona 1</a></td>
<td class='przycisk'><a href='index.php?page=podstrona2'>Podstrona 2</a></td>
<td class='przycisk'><a href='index.php?page=podstrona3'>Podstrona 3</a></td>
<td class='przycisk'><a href='index.php?page=podstrona4'>Podstrona 4</a></td>
<td class='przycisk'>
<?php
if(isset($_SESSION['USER'])){
echo "<a href='index.php'>Zalogowany!</a>";
}else{
echo "<a href='index.php?page=login'>Niezalogowany!</a>";
}
?>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class='tresc'>
<?php if(isset($_SESSION['USER'])){?>
<p><font color="red">Witaj <strong><?php echo LOGIN;?></strong>! Aktualnie jest: <?php echo date('d-m-Y G:i:s');?> [<a href='index.php?page=logout'>Wyloguj</a>]</font></p>
<?php
}else{
if(strip_tags($_GET['page']) != 'login'){
header("Location: index.php?page=login");
exit;
}
}
}

function foot(){
?>
</td>
</tr>
<tr>
<td class='stopka'>
<!-- STOPKA -->
© 2013 by something
</td>
</tr>
</table>
</body>
</html>
<?php
}

head("STRONA");
if (isset($_GET['page']))
{
$page = $_GET['page'];
switch($page){
case 'podstrona1':
include '1.php';
break;
case 'podstrona2':
include '2.php';
break;
case 'podstrona3':
include '3.php';
break;
case 'podstrona4':
include '4.php';
break;
case 'login':

if(!isset($_SESSION['USER'])){
?>
<h1 align='center'>Niezalogowany!</h1>
<p align='center'>Podaj login oraz hasło aby zalogować i uzyskac dostęp do ukrytej zawartosci!</p>
<?php
if(isset($_POST['submit'])){
$login = strip_tags($_POST['login']);
$haslo = strip_tags($_POST['haslo']);
if($login == LOGIN && $haslo == HASLO){
$_SESSION['USER'] = TRUE;
header("Location: index.php");
}else{
echo "<p style='color: red; text-align: center;'><strong>Błąd!</strong><br />Podane dane sa nieprawidłowe!</p>";
}
}
?>
<form action='index.php?page=login' method='post'>
<table style='margin: 0 auto 0 auto;'>
<tr>
<td>Login: </td><td><input type='text' name='login' /></td>
</tr>
<tr>
<td>Hasło: </td><td><input type='password' name='haslo' /></td>
</tr>
<tr>
<td></td><td><input type='submit' name='submit' value='Zaloguj' /></td>
</tr>
</table>
</form>
<?php
}else{
echo "<h1>Niewłaściwa akcja</h1><p>Jesteś już zalogowany</p>";
}
break;
case 'logout':
$_SESSION['USER'] = false;
session_destroy();
header("Location: index.php");
exit;
break;
default:
include 'glowna.php';
}

foot();

?>

Link do komentarza
Udostępnij na innych stronach

Nie jest pełny, bo w kodzie jest sporo include'ów, które nie wiadomo co zawierają. Problem najpewniej jest to, że plik glowna.php jest icludowany tylko wtedy, gdy wejdziesz do switcha, czyli by trzeba było zrobić coś takiego:

if (isset($_GET['page']))
{
$page = $_GET['page'];
switch($page){
(i tu ciało switcha)
}
}
else
include 'glowna.php';

Link do komentarza
Udostępnij na innych stronach


<?php
session_start();


define("LOGIN", 'user');
define("HASLO", 'haslo');

function head($title){
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<title><?php echo $title;?></title>
<style type='text/css'>
body{
margin: 0;
padding: 0;
font-family: ARIAL;
}
td.przycisk a{
color: white;
text-decoration: none;
}
td.przycisk a:hover{
color: orange;
}
table.glowna{
margin: 0 auto 0 auto;
width: 68%;
}
td.logo{
text-align: center;
padding: 0;
border: 2px solid black;
height: 150px;
padding: 8px;
margin: 5px auto 0 auto;
font-size: 30pt;
font-weight: bold;
letter-spacing: 5px;
text-transform: uppercase;
}
td.stopka{
text-align: center;
}
td.menuN{
margin: 0;
padding: 0;
}
table.menu{
margin: 0;
width: 100%;
border: 1px solid black;
background: #232A32;
}
table.menu td{
width: 16.6%;
text-align: center;
color: white;
}
td.przycisk:hover{
background: #D8DCDB;
}
td.tresc{
border: 1px solid black;
padding: 80px;
}
</style>
</head>
<body>
<table class='glowna'>
<tr>
<td class='logo'>
<!-- LOGO -->
<img src="bar.jpg">
</td>
<tr>
<tr>
<td class='menuN'>
<!-- MENU -->
<table class='menu'>
<tr>
<td class='przycisk'><a href='index.php'>Główna</a></td>
<td class='przycisk'><a href='index.php?page=podstrona1'>Podstrona 1</a></td>
<td class='przycisk'><a href='index.php?page=podstrona2'>Podstrona 2</a></td>
<td class='przycisk'><a href='index.php?page=podstrona3'>Podstrona 3</a></td>
<td class='przycisk'><a href='index.php?page=podstrona4'>Podstrona 4</a></td>
<td class='przycisk'>
<?php
if(isset($_SESSION['USER'])){
echo "<a href='index.php'>Zalogowany!</a>";
}else{
echo "<a href='index.php?page=login'>Niezalogowany!</a>";
}
?>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class='tresc'>
<?php if(isset($_SESSION['USER'])){?>
<p><font color="red">Witaj <strong><?php echo LOGIN;?></strong>! Aktualnie jest: <?php echo date('d-m-Y G:i:s');?> [<a href='index.php?page=logout'>Wyloguj</a>]</font></p>
<?php
}else{
if(strip_tags($_GET['page']) != 'login'){
header("Location: index.php?page=login");
exit;
}
}
}

function foot(){
?>
</td>
</tr>
<tr>
<td class='stopka'>
<!-- STOPKA -->
© 2013 by something
</td>
</tr>
</table>
</body>
</html>
<?php
}

head("STRONA");
if (isset($_GET['page']))
{
$page = $_GET['page'];
switch($page){
case 'podstrona1':
include '1.php';
break;
case 'podstrona2':
include '2.php';
break;
case 'podstrona3':
include '3.php';
break;
case 'podstrona4':
include '4.php';
break;
case 'login':

if(!isset($_SESSION['USER'])){
?>
<h1 align='center'>Niezalogowany!</h1>
<p align='center'>Podaj login oraz hasło aby zalogować i uzyskac dostęp do ukrytej zawartosci!</p>
<?php
if(isset($_POST['submit'])){
$login = strip_tags($_POST['login']);
$haslo = strip_tags($_POST['haslo']);
if($login == LOGIN && $haslo == HASLO){
$_SESSION['USER'] = TRUE;
header("Location: index.php");
}else{
echo "<p style='color: red; text-align: center;'><strong>Błąd!</strong><br />Podane dane sa nieprawidłowe!</p>";
}
}
?>
<form action='index.php?page=login' method='post'>
<table style='margin: 0 auto 0 auto;'>
<tr>
<td>Login: </td><td><input type='text' name='login' /></td>
</tr>
<tr>
<td>Hasło: </td><td><input type='password' name='haslo' /></td>
</tr>
<tr>
<td></td><td><input type='submit' name='submit' value='Zaloguj' /></td>
</tr>
</table>
</form>
<?php
}else{
echo "<h1>Niewłaściwa akcja</h1><p>Jesteś już zalogowany</p>";
}
break;
case 'logout':
$_SESSION['USER'] = false;
session_destroy();
header("Location: index.php");
exit;
break;
default:
include 'glowna.php';
}
else {
include 'glowna.php';
}
foot();

?>

Link do komentarza
Udostępnij na innych stronach



  • Kto przegląda   0 użytkowników

    • Brak zalogowanych użytkowników przeglądających tę stronę.
×
×
  • Utwórz nowe...