Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z pobieraniem adresu strony
Forum PHP.pl > Forum > PHP
sebap123
Witam

Napisałem skrypt logownania do strony. Strony zabezpieczone haslem znajdują sie w takich "kalmerkach":
  1. <?php
  2. //session_register('zalogowany');
  3. if ( isset( $_SESSION['zalogowany'] ) && $_SESSION['zalogowany'] == '1' )
  4. {
  5. ?>
  6. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  7. <html xmlns="http://www.w3.org/1999/xhtml">
  8. <head>
  9. <meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
  10. <title>Untitled Document</title>
  11. ....
  12. jakiś kod strony
  13. ....
  14. </body>
  15. </html>
  16.  
  17. <?
  18. }
  19. else
  20. {
  21. $adres = 'http://www.domena.com.pl/index.php?er=1';
  22. Header('HTTP/1.1 301 Moved Permanently');
  23. Header('Location: '.$adres);
  24. }
  25. ?>

Na stronie index.php znajduje się formularz logowania, ktory ma sprawdzać czy jest błąd i wyświetlić ewentualny komunikat:
  1. <?
  2. $blad=$_GET['er']
  3. if ($blad != 0)
  4. {
  5. print "<b>Musisz być zalogowany jako administrator</b><br>";*/
  6. ?>
  7. <form method="post" action="sprawdz.php">
  8. Login:
  9. <input type="text" name="login" />
  10. Hasło:
  11. <input type="password" name="password" />
  12. <input type="submit" value="zaloguj sie" />
  13. </form>
  14. <?
  15. }
  16. else{
  17. ?>
  18. <form method="post" action="sprawdz.php">
  19. Login:
  20. <input type="text" name="login" />
  21. Hasło:
  22. <input type="password" name="password" />
  23. <input type="submit" value="zaloguj sie" />
  24. </form>
  25. <?
  26. }?>

Jednak czegos tutaj brakuje bo nie jest rozpatrzina opcja gdy w ogole nie ma bledu czyli jest sam domena.com.p np. w czasie wejscia na strone poprzez wpisanie jej adresu.
Czy może mi ktos powiedziec co należy wpisać żeby to działalo?
Andaramuxo
  1. if (!isseet $_GET['er'])
? Jeżeli nie o to chodzi to możesz sprawdzić stronę przez "Referer".
sebap123
No pobieranie juz dziala wlasciwie wielkie dzięki, ale teraz mam inny problem bo nie chce mi wybrać odpowiedniej opcji. Tak wygląda kod:
  1. <?
  2. if (!isset ($_GET['er'])){
  3. $blad=$_GET['er'];
  4. switch($blad)
  5. {
  6. case "1":
  7. print "<b>Musisz być zalogowany jako administrator</b><br>";
  8. break;
  9. }
  10. }
  11. else{
  12. print "NIC";
  13. }?>
  14. <form method="post" action="walidate_l.php">
  15. Login:
  16. <input type="text" name="login" />
  17. Hasło:
  18. <input type="password" name="password" />
  19. <input type="submit" value="zaloguj sie" />
  20. </form>

Napisze co to ma robić bo może cos w składni jest źle.
Więc jak w adresie jest er=1 wtedy powienien pokazać tekst "Musisz być zalogowany jako administrator" i pod nim wyświetlić formularz logowania.
Jeśli takiego er nie ma wtedy powinien pokazać tekst NIC i wyświetlić forulrasz logowania.

Jednak nie zależnie czy er jest czy tez go nie ma cały czas wyświetla "NIC' i formularz logowania.
Jak to naprawić, żeby działało?
Andaramuxo
Bezmyślnie to skopiowałeś:
  1. if (!isset ($_GET['er'])){

usuń "!" z tego i powinno działać.

Bezmyślnie to skopiowałeś:
  1. if (!isset ($_GET['er'])){

usuń "!" z tego i powinno działać.
sebap123
Ok. Tera zwszystko działa. No juz na początku myślałem, że z tym ! jest cos nie tak ale nie miałem pewności czy to nie jest jakaś metoda której nie znam:D
Wielkie dzięki za pomoc.
Andaramuxo
Ten ! oznacza "przeciwieństwo" i to nie była literówka ;P. Poczytaj trochę o tym.
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.