Многофункционална страница

wwwPaykillerOrg

Registered
Трябва ми примерна страница която да може да изпълнява функции като за 3 , например имам логин система - login.php,signup.php,profile.php , но вместо да трябва да се пишат 3 файла да се ползва само 1 - index.php и да стане index.php?do=login , index.php?do=signup , index.php?do=profile . Давам +1 и успех :?:
 
Код:
<?php

switch($_GET['do']) {
      default: 
		echo "nqkaw kod da se pokazva, ako ne e izbrano nishto";
	  break;
	  case "login"; 
		echo "kod za login";
	  break;
	  case "signup";
		echo "kod za signup";
	  break;
	  case "profile";
		echo "kod za profile";
	  break;
}

?>

oXteR защо реши, че са различни?
 
Може и без switch ;)

Код:
<?php 

if($_GET['do'] == login) {
echo "login";
}
else if($_GET['do'] == register) {
echo "register";
}

else if($_GET['do'] == profile) {
echo "profile";
}

else {
echo "index";
}

?>

И бих казал, че това е много по-одачен вариант ;)
 
skatebord каза:
Може и без switch ;)

Код:
<?php 

if($_GET['do'] == login) {
echo "login";
}
else if($_GET['do'] == register) {
echo "register";
}

else if($_GET['do'] == profile) {
echo "profile";
}

else {
echo "index";
}

?>

И бих казал, че това е много по-одачен вариант ;)
тва е по-добрия варианти когато има много код в if-вете
само че трябва да има кавички
<?php

if($_GET['do'] == 'login') {
echo "login";
}
else if($_GET['do'] == 'register') {
echo "register";
}

else if($_GET['do'] == 'profile') {
echo "profile";
}

else {
echo "index";
}

?>
 
неискам да влизам в спор но варианта с много ифове изобщо не е удачен в случая, все пак switch е предназначен точно за такива случай. работи без кавички защото php ти е настроено така интересно ще стане ако имаш константа login примерно
 
Би могъл да използваш и масив, а вместо имена - цифри:

<?
$m[1]="login.php";
$m[2]="register.php";
$m[3]="profile.php";

if(isset($_GET['go']))
{
$go=intval($_GET['go']);
}

if($go!=0 || $go<=3)
{
include($m[$go]);
}
else
{
//kod po podrazbirane, mozhe i s include();

include(kod.php);
}
?>

Предимството е, че се използват числа, които лесно се валидират, броя на връзките може да бъде разширяван до безкрай като се допише масива без да се пипа базовата конструкция, а ако се дублира с втори масив с имена на линковете, лесно може да се направи като динамично меню с различно оцветяване на активния линк...

Кода разбира се може да се опрости значително...
 

Back
Горе