PHP bawie sie dopiero kilkanascie dni.... Akurat mam duzo wolnego czasu wiec postanowilem zrobic prosta gre.... Zaczalem szukac o logowaniu, rejestracji i znalazlem dwa tutoriale...
http://www.webtips.pl/index.php?showtopic=5820&st=0 logowanie
http://www.webtips.pl/post6012.html rejestracja
Przeczytalem wszystkie komentarze do tych tutkow i narazie skopiowalem kody logowania, a jak sie poducze to je troszke ulepsze
Przechodzac do problemu.....
kod logged.php
<?php include "auth.inc.php" ?> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <title>Darkness</title> <link rel="Stylesheet" href="css.css" type="text/css" /> </head> <body> <div id="BANER"> </div> <div id="menu"><dl> <dt>Profil</dt> <dd id="postac"><a href="?id=postac">Postac</a></dd> <dd id="ustawienia"><a href="?id=ustawienia">Ustawienia</a></dd> <dd id="walka"><a href="?id=fight">Walka</a></dd> <dd id="akademia"><a href="?id=akademia">Akademia</a></dd> <dd id="ranking"><a href="?id=ranking">Ranking</a></dd> <dd id="tutorial"><a href="?id=tutoria;">Tutorial</a></dd> <dd id="faq"><a href="?id=faq">Faq</a></dd> <dd id="poczta"><a href="?id=poczta">Poczta</a></dd> <dd id="logout"><a href="?id=logout">Wyloguj</a></dd> </dl></div> <div id="TRESC"> <br><br> <center><h1>Witam..tresc</h1></center><br><br><br> <?php switch($_GET['id']) { case akademia:include("akademia.php");break; case faq:include("faq.php");break; case logout:include("logout.php");break; case poczta:include("poczta.php");break; case postac:include("postac.php");break; case ranking:include("rank.php");break; case tutorial:include("tut.php");break; case ustawienia:include("ustawienia.php");break; case fight:include("walka.php");break; default :include("poczta.php");break; } ?> </div> <div id="STOPKA"> <center>Copyright 2008 by Grzegorz Makowski--Makosoft</center> </div> </body> </html>
1)Dostep do zawartosci strony po zalogowaniu
http://snakesvsspiders.ovh.org/ wchodzac na ta strone mozesz przejsc na logowanie i zalogowac sie tymi danymi:
LOGIN: Kingus
HASLO:adidas
Zostaniesz przekierowany na strone http://snakesvsspiders.ovh.org/logged/logged.php
jednak zaraz(ok.10sek) potem znowu bedzie trzeba sie zalogowac....
wydaje mi sie ze to wszystko przez plik auth.inc.php(ponizej) poniewaz skrypt logowania i auth sa z dwoch zrodel
<?php //nic nie rob jak zalogowany } else{ $redirect = $_SERVER['PHP_SELF']; echo "Musisz być zalogowany, aby mieć dostęp do tych funkcji.Za chwile zostaniesz przekierowany na stronę logowania!<br>"; echo "Jeśli twoja przegladarka nie obsluguje przekierowan... <a href=\"http://snakesvsspiders.ovh.org/logging.php\">Klikni tutaj</a>"; } ?>
tylko nie wiem co zrobic zeby po zalogowaniu nie wywalalo znowu na logowanie.... pewnie cos bedzie trzeba zmienic w kodzie logowania wiec daje go na wszelki wypadek....
logging.php
<? require_once('configlogging.php'); // załaczamy plik config.php function usun($data){ } } $message .= '<font class="blad">Nie podałe¶ loginu</font><br />'; $l = FALSE; }else{ $l = usun($_POST['login']); } $message .= '<font class="blad">Nie podałe¶ hasła</font><br />'; $h = FALSE; }else{ $h = usun($_POST['haslo']); } if ( $l && $h ){ $query = "SELECT username, access FROM user WHERE username='$l' AND haslo=password('$h')"; if($row){ $_SESSION['username'] = $row['username']; $_SESSION['access'] = $row['access']; $_GET['cmd'] = 'ok'; }else{ $message .= '<font class="blad">Błędne hasło lub login</font><br />'; } }else{ $message .= '<font class="blad">Spróbuj jeszcze raz</font>'; } } ?> <table align="center" border="0"> <tr> <td align="right" class="uni_01">Login:</td> <td><input type="text" name="login" size="30"></td> </tr> <tr> <td align="right" class="uni_01">hasło:</td> <td><input type="text" name="haslo" size="30"></td> </tr> <tr> <td align="right" class="uni_01"> </td> <td> <p align="center"><input style="font-weight: bold;" type="submit" name="submit" value="loguj"> </td></tr> </table> </form> <div align="center"> } ?> </div>
2)Includowanie
Wydaje mi sie ze ta czesc bedzie mozna naprawic dopiero po 1 problemie....
Plik logged.php na samej gorze..
Zrobilem includowanie, w pliku logged.php w <div id="TRESC"> jest cos takiego:
"Witam..tresc"(to powitanie zaraz po zalogowaniu) ponizej jest incudowanie, czyli pliki ktore maja uruchamiac sie gdy nacisniemy link w menu... problem tkwi w tym iz "Witam..tresc" jest wszedzie.... czyli niewazne na ktory odnosnik nacisniesz to i tak ta tresc bedzie na kazdej podstronie...
Troche zagmatwane ale mam nadzieje ze zrozumiecie(nie denerwowac sie bo jestem poczatkujacy)
Pozdrawiam