Bardzo dziwna sprawa... Wrzuciłem pliki tego forum na inną domene, Same pliki, ale podpięte pod tą samą baze danych i o dziwo tam działa a u mnie nie.. Nie mam pojęcia o co chodzi... Ta sama baza, ten sam skrypt, a tu działa a tam nie..
Teraz całkiem wszystko się pochrzaniło;/
dodam ze to: $_SESSION['userid'] jest praktycznie w kazdym pliku tego skryptu wywoływane
@Add
Już wiem w czym tkwi błąd..
Mam stronę i tam jest wiadomo rejestracja i logowanie.. Mam też forum w osobnym folderze i aby dostać się do niego to muszę wejść poprzez adres: www.twojastrona.pl/forum
tam odpala się index gdzie przechodzi już normalnie do tematów jeśli jest się zalogoawnym, a jeśli nie to pokazuje panel logowania. Teraz tak w plikach forum mam jeszcze plik :login.php i jeśli loguję się przez niego to o dziwo wszyystko działa i pokazują się tematy, odpowiedzi, i wszystko wpisuję się do bazy danych. Czyli to znaczy, że problem jest z moim plikiem logowania na stronę. Oto on:
logowanie.php
<?php
?>
<?php include('header.php'); ?>
<h2>» Zaloguj się</h2>
<div class="content">
<?php
if (!isset($_SESSION['username'])) { // dostęp dla niezalogowanego użytkownika
if ($_POST['wyslane']) { // jeżeli formularz został wysłany, to wykonuje się poniższy skrypt
include 'inc/db.php'; // połączenie się z bazą danych
$tabela = 'uzytkownik'; // zdefiniowanie tabeli MySQL
$login = $_POST["username"];
$haslo = $_POST["password"];
$haslo = sha1($haslo); // szyfrowanie podanego hasła
username='$login' and password='$haslo' and status=0");
// jeżeli użytkownik zarejestrował się, a nie aktywował swojego konta, to wyświetla się komunikat
echo '<span class="blad">Nie aktywowałeś jeszcze swojego konta. Aby to zrobić, wejdź w swoją skrzynkę odbiorczą, a następnie znajdź wiadmość z linkiem aktywacyjnym i aktywuj swoje konto</span>'; }
// jeżeli wszystko jest dobrze, użytkownik się loguje
$wynik=mysql_query("SELECT * FROM $tabela WHERE username='$login' and password='$haslo' and status=1");
$_SESSION["username"] = $informacja["username"];
header('Location: index.php '); } else {
echo '<span class="blad">Zostały wprowadzone nieprawidłowe dane!</span>'; }
}
// tworzenie formularza HTML
<form class="form" action="logowanie.php" method="post">
<input type="hidden" name="wyslane" value="TRUE" />
<p>
<div class="label"><label for="username">Login</label></div>
<input type="text" name="username" id="username" />
</p>
<p>
<div class="label"><label for="password">Hasło</label></div>
<input type="password" name="password" id="password" />
</p>
<p class="submit2">
<input type="submit" value="Zaloguj mnie" />
</p>
<p class="przypomnij">
<a href="przypomnienie.php">Nie pamiętasz hasła?</a>
</p>
</form>
KONIEC;
} else {
header('Location: index.php'); // zalogowany użytkownik zostaje przekierowany na stronę główną }
if ($_GET["wylogowanie"] == "tak") {
// niszczenie sesji użytkownika
header('Location: index.php'); // przekierwanie na stronę główną }
?>
</div>
<?php include('footer.php'); ?>
login.php - ten z forum
<?php
//This page let log in
include('config.php');
if(isset($_SESSION['username'])) {
unset($_SESSION['username'], $_SESSION['userid']); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="
<?php echo $design; ?>/style.css" rel="stylesheet" title="Style" />
<title>Login</title>
</head>
<body>
<div class="header">
<a href="
<?php echo $url_home; ?>"><img src="
<?php echo $design; ?>/images/logo.png" alt="Forum" /></a>
</div>
<div class="message">You have successfully been logged out.<br />
<a href="
<?php echo $url_home; ?>">Home</a></div>
<?php
}
else
{
$ousername = '';
if(isset($_POST['username'], $_POST['password'])) {
{
}
else
{
$password = $_POST['password'];
}
$req = mysql_query('select password,id from users where username="'.$username.'"'); {
$form = false;
$_SESSION['username'] = $_POST['username'];
$_SESSION['userid'] = $dn['id'];
if(isset($_POST['memorize']) and
$_POST['memorize']=='yes') {
$one_year = time()+(60
*60
*24
*365
); setcookie('username', $_POST['username'], $one_year); setcookie('password', sha1
($password), $one_year); }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="
<?php echo $design; ?>/style.css" rel="stylesheet" title="Style" />
<title>Login</title>
</head>
<body>
<div class="header">
<a href="
<?php echo $url_home; ?>"><img src="
<?php echo $design; ?>/images/logo.png" alt="Forum" /></a>
</div>
<div class="message">You have successfully been logged.<br />
<a href="
<?php echo $url_home; ?>">Accueil</a></div>
<?php
}
else
{
$form = true;
$message = 'The username or password you entered are not good.';
}
}
else
{
$form = true;
}
if($form)
{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="
<?php echo $design; ?>/style.css" rel="stylesheet" title="Style" />
<title>Login</title>
</head>
<body>
<div class="header">
<a href="
<?php echo $url_home; ?>"><img src="
<?php echo $design; ?>/images/logo.png" alt="Forum" /></a>
</div>
<?php
{
echo '<div class="message">'.$message.'</div>'; }
?>
<div class="content">
<?php
$nb_new_pm = mysql_fetch_array(mysql_query('select count(*) as nb_new_pm from pm where ((user1="'.$_SESSION['userid'].'" and user1read="no") or (user2="'.$_SESSION['userid'].'" and user2read="no")) and id2="1"')); $nb_new_pm = $nb_new_pm['nb_new_pm'];
?>
<div class="box">
<div class="box_left">
<a href="
<?php echo $url_home; ?>">Forum Index</a> > Login
</div>
<div class="box_right">
<a href="list_pm.php">Your messages(
<?php echo $nb_new_pm; ?>)</a> - <a href="profile.php?id=
<?php echo $_SESSION['userid']; ?>">
<?php echo htmlentities($_SESSION['username'], ENT_QUOTES
, 'UTF-8'); ?></a> (<a href="login.php">Logout</a>)
</div>
<div class="clean"></div>
</div>
<form action="login.php" method="post">
Please, type your IDs to log:<br />
<div class="login">
<label for="username">Username</label><input type="text" name="username" id="username" value="
<?php echo htmlentities($ousername, ENT_QUOTES
, 'UTF-8'); ?>" /><br />
<label for="password">Password</label><input type="password" name="password" id="password" /><br />
<label for="memorize">Remember</label><input type="checkbox" name="memorize" id="memorize" value="yes" /><br />
<input type="submit" value="Login" />
</div>
</form>
</div>
<?php
}
}
?>
<div class="foot"><a href="http://www.webestools.com/scripts_tutorials-code-source-26-simple-php-forum-script-php-forum-easy-simple-script-code-download-free-php-forum-mysql.html">Simple PHP Forum Script</a> - <a href="http://www.webestools.com/">Webestools</a></div>
</body>
</html>
Oglądając te dwa kody myślę, że jest to problem zapisywania do cookies mojego loginu. Mógłby ktoś połączyć te dwa kody tak, aby strona się nie zniszczyła? LUB dodać do pierwszego kodu jakoś dodawanie do ciasteczek bo jak ja to robię to nic to nie pomaga:
if(isset($_SESSION['username'])) {
unset($_SESSION['username'], $_SESSION['userid']);
Dziękuję z góry za pomoc