To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

Portal - Przekierowanie do portalu po wejsciu na strone

Przemo - 21-03-2005, 14:51
Temat postu: Przekierowanie do portalu po wejsciu na strone
Jezeli chcemy aby po wejsciu na nasza domene, czy tez do katalogu forum kierowalo nas najpierw do portalu musimy stworzyc odpowiedni plik index.html z taka zawartoscia:
Kod:
<html>
<head>
  <meta http-equiv="Refresh" content="0; url=portal.php">
</head>
</html>

Jezeli nie zadziala, oznacza to, ze nasz serwer czyta najpierw pliki .php a pozniej html, w takiej sytuacji musimy edytowac dwa pliki na naszym forum:
Kod:
/includes/sessions.php
Znajdz:

            if ($error)
            {
                message_die(CRITICAL_ERROR, "Error creating new session", "", __LINE__, __FILE__, $sql);
            }


Pod tym dodaj:

$userdata['new'] = true;

Otworz index.php

Znajdz:

init_userprefs($userdata);

Pod tym dodaj:

if ( $userdata['new'] )
{
    redirect("portal.$phpEx");
}


Prosze o informacje na temat dzialania tego drugiego sposobu, nie byl jeszcze dokladnie testowany.

Drugi sposob przenosi do portalu tylko podczas "nowej" wizyty. Jak uruchomimy przegladarke i wpiszemy adres zostaniemy przeniesieni do portalu lecz gdy na wlaczonej przegladarce jeszcze raz wpiszemy adres, wejdziemy na forum.

UWAGA!
Centurion znalazł inny sposób na przekierowanie do portalu po wejściu na forum.
Cytat:
Jest bardziej banalny sposób na sprawienie żeby portal był stroną główną

w index.php po
Kod:
<?php

dodajemy linijkę:
Kod:
if($_SERVER['REQUEST_URI'] == '/') include('portal.php');


/ xlesiu

Pasja - 21-03-2005, 16:08

Przemo napisał/a:
<html>
<head>
<meta http-equiv="Refresh" content="0; url=portal.php">
</head>
</html>

Brama nie jest zbyt dobrze tolerowana przez google

nasedo - 22-03-2005, 01:52

Cytat:
2 pliki to razem z index.html !? Wink

Przeciez Przemo napisal o dwoch :)

Przemo napisał/a:
/includes/sessions.php


Przemo napisał/a:
Otworz index.php

-=mrock=- - 22-03-2005, 11:00
Temat postu: Re: Przekierowanie do portalu po wejsciu na strone
Przemo napisał/a:
Prosze o informacje na temat dzialania tego drugiego sposobu, nie byl jeszcze dokladnie testowany.

Drugi sposob przenosi do portalu tylko podczas "nowej" wizyty. Jak uruchomimy przegladarke i wpiszemy adres zostaniemy przeniesieni do portalu lecz gdy na wlaczonej przegladarce jeszcze raz wpiszemy adres, wejdziemy na forum.


Niestety, nie działa. Testowane na IE i Operze, uwzględniajac wyrzucanie cookies i plików tymczasowych.
Serwer: Netlook :x

azwel - 05-05-2005, 20:16

Ja zrobiłem to u siebie nieco inaczej...
W index.php po:
Kod:
//end count unread posts
wstawiłem to:
Kod:
if (!$HTTP_COOKIE_VARS['pf']){
    @setcookie('pf', 1, (time() + 600), $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
    header('Location: portal.php');
}

Tyle na ten temat...

EDIT:
Zrobiłem małą poprawkę. Pierwsza rzecz zauważyłem, że po mimo zaznacznia przy logowaniu opcji pamiętaj mnie (czy jakoś tak, wiadomo o co chodzi) po ponownym wejściu wylogowywało. Druga dodałem czas żywotności ciasteczka.

-=mrock=- - 06-05-2005, 16:36

Pomogło, wielkie dzięki azwel :D
azwel - 07-05-2005, 20:14

Znalazłem inne roziwązanie. Zainspirował mnie kolega Vertigo, który prosił mnie o pomoc. Ci co znają php wiedzą co ten skrypt robi, a dla mniej zaawansowanych tłumaczę: sprawdza przy wejściu na index.php czy wszedłeś z portalu czy bezpośrednio. Jeśli bezpośrednio to przerzuć na portal. I tyle... kod poniżej, a wrzucić go najlepiej za tym:
Kod:
//end count unread posts

Kod (krótki, ale za to ile radości :wink: ):
Kod:
if( !eregi('\w*portal.php\w*', $_SERVER["HTTP_REFERER"]) ){
    header('Location: portal.php');
}

-=mrock=- - 08-05-2005, 00:11

Ten pomysł jest prosty, ale niezbyt dobry, bo za każdym razem gdy klikniesz na link do strony głównej, to przenosi Cię do portalu.
azwel - 08-05-2005, 16:43

Oczywiście, że nie! Przecież wyraźnie napisałem co on robi. Jak wchodzisz z portalu to Cię nie przenosi!
kermit - 10-05-2005, 14:44

można jeszcze w cpanel ustawić redirect
pozdro

NoVy - 17-05-2005, 15:50

noo jak ustawilem ten piersy kof z portal.php... to byl problem bo forum jest na index.php.. i gdy probowalem wejsc na forum. to przenosilo mnie na portal. .. troche bez sens.. dlatego.. ustawil zamaist portal.php -> index.html.. osobna stronka html jako stronka startowa.. ktora nie koliduje z cala reszta ;) wyglada to tak :

Kod:

if (!$HTTP_COOKIE_VARS['pf']){
    @setcookie('pf', 1, (time() + 600), $board_config['cookie_path'], $board_config['cookie_domain'], $board_config['cookie_secure']);
    header('Location: index.html');

azwel - 17-05-2005, 18:36

No kurna NoVy, przecież taka była tego idea, żeby po wejściu na index wpierw przenosiło na portal!!!
NoVy - 18-05-2005, 18:51

no dobra... ale jak chce pozniej wejsc na forum to wywala mnie znow na portal.. :/ troche bez sens ...
azwel - 19-05-2005, 08:04

Przez 600 sekund nie będzie Cię wywalać....
Sylwia - 20-05-2005, 18:56

azwel, Przy pierwszej wersji tego kodu co podałeś pokazuje błąd:
Kod:
Fatal error: Call to a member function on a non-object in /home/erodzina/ftp/index.php on line 453


A przy drugiej to samo tylko linie 454. Oczywiście przy wersji forum 1.9.4. Propozycje Przema mi nie działają.

Te linie co błąd mi pokazuje to:
Kod:
    $template->assign_vars(array(
        'L_WHOSBIRTHDAY_WEEK' => ($board_config['birthday_check_day'] > 1) ? sprintf((($birthday_week_list) ? $lang ['Birthday_week'] . $birthday_week_list : $lang['Nobirthday_week']), $board_config['birthday_check_day']) : '',
        'BIRTH' => $birth,
        'L_WHOSBIRTHDAY_TODAY' => ($board_config['birthday_check_day']) ? ($birthday_today_list) ? $lang['Birthday_today'] . $birthday_today_list : $lang['Nobirthday_today'] : '')
    );
}



Powered by phpBB modified by Przemo © 2003 phpBB Group