Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: automatyczne przeniesienie do adresu
Forum PHP.pl > Forum > PHP
mikael_s
witam. mam strone do ktorej trzeba sie zalogowac. Mam skrypt do logowania, ktory dziala super, tylko ze po zalogowaniu nie otwiera mi sie od razu moja strona, tylko pokazuje sie link do niej. Jak zrobic, zeby zamist linku od razu przechodzic do konkretnej strony. Dodam, ze otwierana jest rozna strona, w zaleznosci od podanego loginu.
Ponizej podaje kod, odpowiedzialny za wyswietlenie sie linku do strony:

if(login()){
$text = 'Witaj '.$_SESSION['nick'].'!<br>
<br>
<a href='.$_SESSION['login'].'\index.php>Przejdz do albumu ze zdjęciami</a>';
die($text);
}
gsk
Możesz tak, tutaj po 3 sek Cie przekieruje:
  1. <?php
  2. echo '<meta http-equiv="Refresh" content="3; url='.$_SESSION['login'].'" />'
  3. ?>


Albo tak:
  1. <?php
  2. header('Location: '.$_SESSION['login'].'')
  3. ?>
mikael_s
nie pomoglo. moze zle napisalem. ponizej wklejam caly kod logowania. ostatnie linijki dotycza tego co skrypt ma robic gdy login i haslo sa poprawne (a jest tam, ze powinien pojawic sie link do strony - a ja zamiast tego linka chce zeby byla instrukcja otwarcie tej strony) /pogrubilem linijke, ktora chce zmienic/.

jezeli nie ma takiej instrukcji, to jak to moge rozwiazac inaczej?
CODE

<?php
include('tajne/config.php');

/* Jeśli funkcja zwróciła nieprawdę (false) znaczy, że gość nie jest zalogowany I jeśli forumularz nie został wyslany czyli nie ma $_POST['logowanie'] to wyswietlamy formularz do logowania */

if(!login() AND !isset($_POST['logowanie'])) {
$text = '
<br>
<center>
<table width="100%" cellpadding="5" cellpadding="0">
<th class="h">Logowanie!</th>
<tr>
<td align="center">
<br>

<br>
<form action="" method="post" name="loguj">
<input type="hidden" name="logowanie" value="k">
<table cellpadding="0" cellspacing="0">
<tr>
<td>Login:&nbsp;</td>
<td><input type="text" style="width: 250px" name="login"></td>
</tr>
<tr><td><img src="" width="1" height="3"></td></tr>
<tr>
<td>Hasło:&nbsp;</td>
<td><input type="password" style="width: 250px" name="haslo"></td>
</tr>
</table>

<br>
<table cellspacing="7"><tr><td>
<input type="submit" value="Loguj!">
</td><td>&nbsp;</td></tr></table>
</form>
</td>
</tr>
</table>
';
die($text);
}


/* Podobnie jak wyżej, ale inaczej: jesli nie jesteśmy zalogowani, a forularz został wysłany! czyli istnieje
$_POST['logowanie'] to znaczy, że ktoś wpisał złe dane*/
if(!login() AND isset($_POST['logowanie'])) {
$text = '
<br>
<center>
<table width="100%" cellpadding="5" cellpadding="0">
<th class="h">Logowanie!</th>
<tr>
<td align="center">
<font color="red"><b>Zły Login lub Hasło!</b></font><br>
<br>
<form action="" method="post" name="loguj">
<input type="hidden" name="logowanie" value="k">
<table cellpadding="0" cellspacing="0">
<tr>
<td>Login:&nbsp;</td>
<td><input type="text" style="width: 250px" name="login"></td>
</tr>
<tr><td><img src="" width="1" height="3"></td></tr>
<tr>
<td>Hasło:&nbsp;</td>
<td><input type="password" style="width: 250px" name="haslo"></td>
</tr>
<tr>
<td colspan="2">
<input type="checkbox" name="pamietaj" value="ok"> - Zapamiętaj mnie!<br>
</td>
</tr>
</table>
<br>
<table cellspacing="7"><tr><td>
<input type="submit" value="Loguj!">
</td><td>&nbsp;</td></tr></table>
</form>
</td>
</tr>
</table>
';
die($text);
}


/* Jeśli jesteśmy zalogowani to w sesji powinieny się pojawić jakieś informacje o zalogowanym np nick*/
if(login()){
$text = 'Witaj '.$_SESSION['nick'].'!<br>
<br>
<a href='.$_SESSION['login'].'\index.php>Przejdz do albumu ze zdjęciami</a>';
die($text);
}

?>
erix
Używaj bbcode.
gsk
bbcode...

  1. <?php
  2. if(login()){
  3. $text = 'Witaj '.$_SESSION['nick'].'!<br>
  4. <br>
  5. <a href='.$_SESSION['login'].'index.php>Przejdz do albumu ze zdjęciami</a>';
  6. die($text);
  7. }
  8. ?>


zamien na:
  1. <?php
  2. if(login()){
  3. echo '<meta http-equiv="Refresh" content="3; url='.$_SESSION['login']." />;
  4. }
  5. ?>


toz to cala filozofia
mikael_s
niby tak, ale jak to zmienie, tak jak mowisz, to przy probie wejscia w formularz logowania wyskakuje mi, ze taka strona nie istnieje (przed wyswietleniem formularza).
gsk
no to przekieruj na taka jaka istnieje... pytales tylko jak przejsc do innej strony, wiec Ci napisalem... a co masz w $_SESSION['login'] to ja nie wiem.. rownie dobrze moze byc tez:


  1. <?php
  2. <meta http-equiv="Refresh" content="3; url=jakas_strona.html" />
  3. ?>
mikael_s
nie zrozumiales mnie. nie chodzi mi o to ze przekierowuje mnie do strony, ktora nie istnieje, lecz wyswietla mi, ze strona z tym skryptem nie istnieje. Troche to dziwne ale tak jest.

skrypt mam zapisany w pliku logowanie.php i przed zmiana mi go otwiera, a po zmianie twierdzi, ze go nie ma. Jeszcze przed proba logowania.

wiem ze tam mam wpisac adres swojej strony ale to nie w tym rzecz.

zeby bylo jasniej: aby sie zalogowac wpisuje jakistamadres/logowanie.php i tam jest formularz po wypelnieniu ktorego ma mnie przekierowac do innej strony. Ale gdy wpisze to co mi podales, to wpisujac
jakistamadres/logowanie.php wyswietla mi sie w przegladarce ze taki adres nie istnieje.
Dla mnie to bardzo dziwne.
gsk
bo Ciebie nie loguje tak jakby... wyswietlal sie ten tekst tylko bo bylo die($tekst). Pokaz ta funkcje login(). Ewentualnie radzilbym Ci to jeszcze raz napisac nie patrząc na to winksmiley.jpg Napewno Ci wyjdzie.
mikael_s
znalazlem. problem byl nie w twoim skrypcie ale w braku doctype. dzieki za pomoc
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.