Проблем

c3c0

Registered
Здравейте !
Искам да ви помоля за една услуга.
Значи целта ми е да направя
' http://site.com/index.php?action=links ' или 'index.php?action=mail"
Дадоха ми един код но нещо не става.
Ето го и кода:
Код:
<?php
 if ($HTTP_GET_VARS['action'] == 'links' ) {
include('n1.php');
}
if ($HTTP_GET_VARS['action'] == 'mail' ) {
include('n2.php'); 
}
<?php
}
?>
Ако може да ми помогнете ще съм ви благодарен
 
Код:
<?php
$action = $_GET['action'];
if ($action == "links")
{
include('n1.php');
}elseif ($action == "mail")
{
include('n2.php');
}
?>

ако линка е
http://site.com/index.php?action=links скрипрта ще отвори файл n1.php
а ако линка е http://site.com/index.php?action=mail ще отвори n2.php

edit: jooorooo имаш право
 
Какво точно искаш да направиш???...а иначе кода, който си дал е с много грешки :?
 
mizarck каза:
Код:
<?php
$action = $_GET['action'];
if ($action == "links")
{
include('n1.php');
}elseif ($action == "mail")
{
include('n2.php');
}
?>

ако линка е
http://site.com/index.php?action=links скрипрта ще отвори файл n1.php
а ако линка е http://site.com/index.php?action=mail ще отвори n2.php

Няма да е лошо да се добави и едно else

Код:
<?php
$action = $_GET['action'];
if ($action == "links")
{
include('n1.php');
}elseif ($action == "mail")
{
include('n2.php');
}
else
{
include('defoult.php');
}
?>
 
mizarck каза:
Код:
<?php
$action = $_GET['action'];
if ($action == "links")
{
include('n1.php');
}elseif ($action == "mail")
{
include('n2.php');
}
?>

ако линка е
http://site.com/index.php?action=links скрипрта ще отвори файл n1.php
а ако линка е http://site.com/index.php?action=mail ще отвори n2.php

edit: jooorooo имаш право
Ще те помоля само да ми кажеш как трябва да стои в html-to.Смисъл както къде почва и къде свършва.
Примерно:
<html>
Моята 1-ва страница
<?php
$action = $_GET['action'];
if ($action == "links")
{
include('n1.php');
}elseif ($action == "mail")
{
include('n2.php');
}
?>
</html>
Предполагам, че ме разбра :))
п.с. Опитвам се да направя следното:
http://site.com/index.php
като натиснат на игри да води до index.php?action=games
следователно и за линкове action=links :)
 
ами скрипта трябва да е в файл с разширение php и да е на сървър подържащ php

а го слагаш там кадето изкаш да ти се появи съдържанието от даденият файл
 
Код:
<?php
$action = $_GET['action'];
if ($action == "links")
{
include('n1.php');
}elseif ($action == "mail")
{
include('n2.php');
}
?>
Това го мушкаш някъде, където искаш в м/у <body> </body> в страницата ти и после я запазваш като име.php
 
porostorm а какво ще стане ако реша да си поиграя с линка?
Ето един по хубав метод.

Код:
<?php
      switch($_GET['action']) {
      default: include("default.php"); break;
	  case "links"; include("n1.php"); break;	  
	  case "mail"; include("n2.php"); break;
      }
?>

ако някои напише в линка ?action=gdfgsdf ще му се зареди default.php, но ако линка е верен, ще се отворят правилните файлове.
 
jooorooo каза:
porostorm а какво ще стане ако реша да си поиграя с линка?
Ето един по хубав метод.

Код:
<?php
      switch($_GET['action']) {
      default: include("default.php"); break;
	  case "links"; include("n1.php"); break;	  
	  case "mail"; include("n2.php"); break;
      }
?>

ако някои напише в линка ?action=gdfgsdf ще му се зареди default.php, но ако линка е верен, ще се отворят правилните файлове.
Дам, така е, не помниш ли, че аз съм го направил точно по този начин :)
 
Много съм благодарен, но има един малък проблем.
Когато отворя index.php и ми отваря index.php (всичко) и каквото има в default.php
Когато отворя първият линк вместо да ми отворми само n1.php ми отваря n1.php+ index.php и е доста неприятно.
Каквото има в index.php + n1.php/n2.php |
Ако може да ми помогнете да ми отваря само n1.php и n2.php ще съм ви благодарен :)
Поздрави !
 
За първия въпрос, когато се извиква индекса и няма изпратен гет, може да направиш така (допълвам кода, който ти е дал Жоро):

накратко проверяваме дали е изпратена променлива с ГЕТ (функцията isset(); ), ако не - задаваме на $екшън първата стойност, в противен случай (имаме изпратена променлива) получаваме я и се изпълнява частта на Жоро.

<?php
if(!isset($_GET['action']))
{
$action= "links";
}
else
{
$action = $_GET['action'];
}


if ($action == "links")
{
include("n1.php");
}
elseif ($action == "mail")
{
include("n2.php");
}
else
{
include("defoult.php");
}
?>

За втория проблем (доколкото успях да схвана), трябва да знаеш, че include(); е функция, която включва съдържанието на един файл, да го наречем вторичен в друг - основен, така че получаваш общото им съдържание/действие, а не изолираното съдържание/действие от включения файл.
Ако искаш да използваш включване и да се изпълнява само включения файл, поне в този случай трябва да оставиш индекса без допълнително съдържание освен по-горното, което определя кой файл да бъде включен. Все пак отчасти и това е идеята на подобна навигация, нали?

Дано съм помогнал.
Успех!
 

Back
Горе