Ja se z toho fakt uz po...
Hledam chybu uz asi 3dny a porad ne a ne najit.
Pritom skript nehlasi zadnou chybu,ale proste se neprihlasim:(
Jestli mate chwilku tak se prosim mrknete kde je zakopanej pes,anebo me poslete nakej Login+Registr script ktery pouziva Sql.
Dik.
<?php
/*
Login k chatu
Dewil
*/
/*
Re?imy:
- úvodní, logovací stránka
- stránka s registrací
- přihlá?ení u?ivatele
- odhlá?ení u?ivatele
- zobrazení framesetu
*/
require "chat_head.php";
function ZobrazFormular($registrace) {
if ($registrace) {
$subt = "<b>Registrace nového u?ivatele</b>";
$check = "<tr><td><b>Ověření:</b><td><input type='password' name='heslo2'></tr>";
$button = "Registrovat";
} else {
$button = "Přihlásit se";
$reg = "<tr><td colspan=2 align='center'><hr width='70%'><a href='{$GLOBALS["PHP_SELF"]}?reg=on'>Zaregistrovat</a></tr>";
}
echo <<<FRM
<form action="{$GLOBALS["PHP_SELF"]}" method="post">
<table align="center" valign="center" border="1" bgcolor="#f0f0f0">
<tr><td><table><tr><td colspan=2 align="center"><h1>PHP Chat 1.0</h1>$subt</td></td>
<tr><td><b>Jméno:</b><td><input type="text" name="jmeno"></tr>
<tr><td><b>Heslo:</b><td><input type="password" name="heslo"></tr>
$check
<tr><td><td><input type="submit" name="ok" value="$button"></tr>
$reg
</table></td></tr>
</table>
</form>
FRM;
}
function Prihlas($jm, $uz) {
/
nastaví session proměnné, přesměruje na frameset s chatem
/
$_SESSION["username"] = $jm;
$_SESSION["roomid"] = 0;
if (is_array($uz))
$_SESSION["userid"] = $uz["id"];
Header("Location: {$GLOBALS["PHP_SELF"]}");
}
if ($_SESSION["username"]) {
// u?ivatel je přihlá?en
if ($out) {
// chce odhlásit
mysql_query("update users set aktivni=0, naposled=" . time() . " where id = {$_SESSION["userid"]}");
mysql_query("insert into chat values({$_SESSION["roomid"]}, 0, " . time() . ", '+++ u?ivatel {$_SESSION["username"]} ode?el z místnosti +++',0)");
session_unset($_SESSION["username"]);
session_unset($_SESSION["userid"]);
echo "<p align=\"center\">Byl jste odhlá?en</p>";
ZobrazFormular(false);
}
else {
// nastaví u?ivatele jako aktivního
mysql_query("update users set aktivni = 1, naposled = " . time() . " where id = {$_SESSION["userid"]}");
// vlo?í informaci o jeho příchodu do místnosti
mysql_query("insert into chat values({$_SESSION["roomid"]}, 0, " . time() . ", '* u?ivatel {$_SESSION["username"]} vstoupil do místnosti *',0)");
// a zobrazí frameset:
?>
<frameset cols="*,200" frameborder="0" border="0" framespacing="0">
<frameset rows="*,50" frameborder="0" border="0" framespacing="0">
<frame name="chat" src="<?php echo $chat_chat ?>" frameborder="0" border="0" framespacing="0" marginheight="0" marginwidth="0">
<frame name="vstup" src="<?php echo $chat_main ?>" frameborder="0" border="0" framespacing="0" scrolling="no">
</frameset>
<frame name="stats" src="<?php echo $chat_stat ?>" frameborder="0" border="0" framespacing="0" scrolling="no">
</frameset>
<?php
}
} elseif (!$ok) {
ZobrazFormular($reg);
}
else {
if ($heslo2) {
// registrace nového u?ivatele
if ($heslo==$heslo2 && $jmeno && $heslo) {
$sql = "INSERT INTO users VALUES (0, '$jmeno', '" . md5($heslo) . "', ' ', " . time() . ", 0, 'uzivatel')";
if (mysql_query($sql))
Prihlas($jmeno, array("id" => mysql_insert_id(),"prava" => "uzivatel", "nastaveni" => ""));
else {
// záznam se nepodařilo vlo?it:
echo "<p style='color: red' align='center'>Toto u?ivatelské jméno ji? existuje.</p>";
ZobrazFormular(true);
}
}
else {
echo "<p style='color: red' align='center'>U?ivatele nelze zaregistrovat. Je třeba vyplnit jméno i heslo a heslo navíc zopakovat ve druhém poli.</p>";
ZobrazFormular(true);
}
}
else {
// ověření přihlá?ení
$sql = "SELECT * FROM users WHERE jmeno LIKE '$jmeno'";
$query = mysql_query($sql);
$uzivatel = mysql_fetch_array($query);
if ($uzivatel && (md5($heslo) == $uzivatel["heslo"]))
Prihlas($jmeno, $uzivatel);
else {
echo "<p style='color: red' align='center'>?patné u?ivatelské jméno nebo heslo</p>";
ZobrazFormular(false);
}
}
}
?>