Skocz do zawartości


Zdjęcie

[PHP] Problem z przekierowaniem menu.


  • Zaloguj się, aby dodać odpowiedź
4 odpowiedzi w tym temacie

#1 andrzejlechniak

andrzejlechniak

    Nowy

  • 4 postów

Napisano 14 09 2008 - 21:12

Witam mam taki problem. Piszę stronę w php i nie mogę uruchomić żadnego z plików z menu. Mam trzy pliki: poz. 1, poz. 2 i poz. 3. Co robię źle, pomóżcie. Chodzi mi o to aby na każdej stronie pokazywało się menu w takiej samej postaci a tu nie chodzi. A kiedy klikam na jakiś link wychodzi mi pusta strona i błąd 404. Co robić. Pomocy.

fragmenyt pliku menu.html:
...
<b>
<a href="index.php">HOME</a> |
<a href="main.php?id=2">AUTOR</a> |
<a href="main.php?id=3">TEKSTY</a> |
<a href="main.php?id=4">GALERIA ZDEC</a> |
<a href="main.php?id=5">DODATKI</a> |
<a href="main.php?id=51">MOJE KONTO</a>
</b>...


Część pliku main.php:
<?php

extract($_REQUEST);

if(! isset($submit_id)){
exit
}

switch($id)
{
case 1: 'index.php'; break;

case 2: 'pages/personal/author.html'; break;
case 21: 'pages/personal/poetry.html'; break;
case 22: 'pages/personal/interested.html'; break;
case 23: 'pages/personal/contact'; break;

case 3: 'pages/words/projects.html'; break;
case 31: 'pages/words/articles.html'; break;
case 32: 'pages/words/links.html'; break;
case 33: 'pages/words/forum.php'; break;
}

?>

Proszę o pomoc

  • 0

#2 Ugol.pl

Ugol.pl

    Początkujący

  • 26 postów

Napisano 16 09 2008 - 17:09

Proponuję zastosować $_GET, czyli w pliku main.php do którego wysyłasz zmienną id przez adres, zapisz:

$id = $_GET['id'];

i wtedy odpowiednio switch


Pozdrawiam

  • 0

#3 Kai

Kai

    Stały użytkownik

  • 237 postów

Napisano 17 09 2008 - 16:20

$id = (int)$_GET['id'];

switch ( $id )
{
   case 1:
	  header('Location: http://strona_internetowa.pl/pierwszy.html'); // może być także np. include, to zależy co chcesz robić
	  break;
   case 2:
	  header('Location: http://strona_internetowa.pl/drugi.html');
	  break;
   default:
	  print 'failed, nie ma czego załadować!';
	  break;
}
Pisałem o tym na forum już raz.

Użytkownik Kai edytował ten post 17 09 2008 - 16:23

  • 0

#4 kurio

kurio

    Pan

  • 282 postów

Napisano 17 09 2008 - 19:28

U mnie to wyglada tak (nieco inaczej, bo przesylam dane do tego samego pliku, jedynie div inny):

HTML:
<a href="index.php?id=link">Newsy</a><br>
<a href="index.php?id=dodaj">Dodaj</a><br>
<a href="index.php?id=edycja">Edytuj</a><br>
...

PHP:
switch($_GET['id'])
{
case 'dodaj':
include('dodaj.php');
break;
case 'link':
include('link.php');
break;
case 'edycja':
include('edycja.php');
break;
case 'stronywww':
include('www.php');
break;

default:
echo 'Zly parametr;(';
break;

Oczywiscie mozna to rowniez zrobic za pomoca instrukcji warunkowych:
PHP:
$id = $_GET['id'];

function adres($id) {
if ($id == link){
include('./link.php');
 }
elseif ($id == dodaj){
include('./dodaj.php');
 }
elseif ($id == edytuj){
include('./edycja.php');
 }
else {
echo('Zly parametr...');
 }
}
adres($id);

  • 0

#5 Ziele

Ziele

    Biblioteka Zielińskiego

  • 1 812 postów

Napisano 24 09 2008 - 17:29

Nazwa tematu poprawiona. Na przyszłość stosuj codebox, bo warn

  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych