Witam!!!!
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"
?>
<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 zalogowaniuhttp://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
if (isset($_SESSION['logged']) && $_SESSION['logged'] == 1) { //nic nie rob jak zalogowany
} else{
$redirect = $_SERVER['PHP_SELF'];
header("refresh: 5; URL=http://snakesvsspiders.ovh.org/logging.php"); 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){
}
}
if (isset($_POST['submit'])){
if (empty($_POST['login'])){ $message .= '<font class="blad">Nie podałe¶ loginu</font><br />';
$l = FALSE;
}else{
$l = usun($_POST['login']);
}
if (empty($_POST['haslo'])){ $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';
header ("Location: logged/logged.php"); // przekierowuje nas na jaka strone chcemy }else{
$message .= '<font class="blad">Błędne hasło lub login</font><br />';
}
}else{
$message .= '<font class="blad">Spróbuj jeszcze raz</font>';
}
}
?>
<form method="post" action="
<? echo $_SERVER['PHP_SELF']; ?>">
<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
Ten post edytował gylopl 12.07.2008, 13:09:21