Tämä kaikki siin on dpBB:n foorumista.... jota en saa toimimaan kunnolla...
Tuota prefs.php:ssä tämä sanoo että:
Warning: Cannot modify header information - headers already sent by (output started at /home/ruokakom/public_html/yla.html:17) in /home/ruokakom/public_html/include/session.php on line 5
Eli missä vika kerronko session.php:n koodin vain tuon toisen?
session.php:n koodi on tälläinen
<?php function authenticate($npage) { global $board_url; header("Location: " . $board_url . "auth.php?next=$npage"); exit; } function auth_admin_by_id($id) { $result = db_query("SELECT id FROM superusers WHERE userid=$id AND mode=1"); if(mysql_num_rows($result) != 1) return false; return db_fetch1($result); } function auth_moderator_by_id($id) { $result = db_query("SELECT id FROM superusers WHERE userid=$id AND mode=2"); if(mysql_num_rows($result) != 1) return false; return db_fetch1($result); } function auth_user($name, $password) { $pass = md5($password); $result = db_query("SELECT id FROM users WHERE name='$name' AND password='$pass'"); if(mysql_num_rows($result) == 1) return db_fetch1($result); else return false; } function auth_admin($name, $password) { $pass = md5($pasword); $result = db_query("SELECT id FROM users WHERE name='$name' AND password='$pass'"); if(mysql_num_rows($result) != 1) return false; $id = db_fetch1($result); return auth_admin_by_id($id); } function create_session($userid) { global $expire_mins; db_query("DELETE FROM sessions WHERE expire < NOW()"); db_query("DELETE FROM sessions WHERE userid=$userid"); $sid = uniqid(""); $result = db_query("SELECT id FROM sessions WHERE id=$sid"); while($result && mysql_fetch_row($result)) { $sid = uniqid(""); $result = db_query("SELECT id FROM sessions WHERE id=$sid"); } db_query("INSERT INTO sessions (id, userid, start, expire) VALUES('$sid', $userid, NOW(), NOW() + INTERVAL $expire_mins MINUTE)"); return $sid; } function delete_session($sessionid) { db_query("DELETE FROM sessions WHERE id='$sessionid'"); } function auth_session($id) { $result = db_query("SELECT userid, expire FROM sessions WHERE id='$id'"); if($session = mysql_fetch_array($result)) { $userid = $session["userid"]; $expire = $session["expire"]; $r = db_fetch1(db_query("SELECT NOW() < '$expire'")); if($r == '1') { db_query("UPDATE sessions SET expire=NOW() + INTERVAL 120 MINUTE WHERE id='$id'"); return true; } else { db_query("DELETE FROM sessions WHERE id='$id'"); return false; } } else return false; } function auth_moderator_session($id) { if(!isset($id)) return false; $result = db_query("SELECT userid, expire FROM sessions WHERE id='$id'"); if($session = mysql_fetch_array($result)) { $userid = $session["userid"]; if(auth_moderator_by_id($userid) == false) return false; $expire = $session["expire"]; $r = db_fetch1(db_query("SELECT NOW() < '$expire'")); if($r == '1') { db_query("UPDATE sessions SET expire=NOW() + INTERVAL 120 MINUTE WHERE id='$id'"); return true; } else { db_query("DELETE FROM sessions WHERE id='$id'"); return false; } } else return false; } function auth_admin_session($id) { if(!isset($id)) return false; $result = db_query("SELECT userid, expire FROM sessions WHERE id='$id'"); if($session = mysql_fetch_array($result)) { $userid = $session["userid"]; if(auth_admin_by_id($userid) == false) return false; $expire = $session["expire"]; $r = db_fetch1(db_query("SELECT NOW() < '$expire'")); if($r == '1') { db_query("UPDATE sessions SET expire=NOW() + INTERVAL 120 MINUTE WHERE id='$id'"); return true; } else { db_query("DELETE FROM sessions WHERE id='$id'"); return false; } } else return false; } ?>
ja auth.php:ssä sanoo vian:
Warning: Cannot modify header information - headers already sent by (output started at /home/ruokakom/public_html/yla.html:17) in /home/ruokakom/public_html/auth.php on line 43
Warning: Cannot modify header information - headers already sent by (output started at /home/ruokakom/public_html/yla.html:17) in /home/ruokakom/public_html/auth.php on line 46
Warning: Cannot modify header information - headers already sent by (output started at /home/ruokakom/public_html/yla.html:17) in /home/ruokakom/public_html/auth.php on line 47
Warning: Cannot modify header information - headers already sent by (output started at /home/ruokakom/public_html/yla.html:17) in /home/ruokakom/public_html/auth.php on line 48
koodi on:
<?php include("yla.html"); ?> <BR> <?php // AUTH.PHP $root_inc = ""; include($root_inc . "common.php"); if(!isset($submit)) { $title = $l_login; include($root_inc . "page_header.php"); ?> <form method="post" action="<?php echo $PHP_SELF ?>"> <input type="hidden" name="next" value="<?php echo $next ?>" /> <?php start_table_w(50); ?> <tr><td class="header" colspan="2" width="100%"><?php echo $l_login;?></td></tr> <tr> <td class="light" width="50%"><b><?php echo $l_username;?></b></td> <td class="light" width="50%"><input type="text" name="name" size="25" maxlength="32" /></td> </tr> <tr> <td class="dark"><b><?php echo $l_password;?></b></td> <td class="dark"><input type="password" name="password" size="25" maxlength="16" /></td> </tr> <tr><td class="light" colspan="2" align="center"><input type="submit" name="submit" value="<?php echo $l_login;?>" /></td></tr> <?php end_table(); } else { if(!db_connect()) { include($root_inc . "page_header.php"); dpbb_error_cdb(); } $userid = auth_user($name, $password); if($userid == false) { include($root_inc . "page_header.php"); dpbb_error($l_invalidlogin_text); } else { $user = db_fetch_user_by_id($userid, "language"); if ($user["language"] == "default") setcookie("dpbblanguage"); else setcookie("dpbblanguage", $user["language"], time()+31104000); $sid = create_session($userid); setcookie("sessionid", $sid, time() + ($expire_mins * 60)); setcookie("userid", $userid, time() + ($expire_mins * 60)); header("Location: $board_url" . (isset($next) ? $next : "index.php") . "?sessionid=$sid"); exit; } } include($root_inc . "page_footer.php"); ?> <BR> <?php include("ala.php"); ?>
Sen jälkeen kun yrittää kirjautua... :S
Sitten kun yrittää kirjautua niin se sanoo myös virheen... koodi on logout.php:ssä tälläinen
<?php // LOGOUT.PHP $root_inc = "keskustelu.php"; include($root_inc . "common.php"); if(!db_connect()) { include($root_inc . "page_header.php"); dpbb_error_cdb(); } else { if (isset($sessionid)) delete_session($sessionid); setcookie("sessionid"); setcookie("userid"); header("Location: $board_url" . "keskustelu.php"); } echo "**$root_inc**"; ?>
Tämä kaikki siin on dpBB:n foorumista.... jota en saa toimimaan kunnolla...
Edelliset virheet korjattu jo on...
Enää on virhe logout.php:ssä.
sanoo näin:
Warning: main(keskustelu.phpcommon.php): failed to open stream: No such file or directory in /home/ruokakom/public_html/logout.php on line 4
Warning: main(): Failed opening 'keskustelu.phpcommon.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/ruokakom/public_html/logout.php on line 4
Fatal error: Call to undefined function: db_connect() in /home/ruokakom/public_html/logout.php on line 6
ja koodi on tälläinen:
<?php // LOGOUT.PHP $root_inc = "keskustelu.php"; include($root_inc . "common.php"); if(!db_connect()) { include($root_inc . "page_header.php"); dpbb_error_cdb(); } else { if (isset($sessionid)) delete_session($sessionid); setcookie("sessionid"); setcookie("userid"); header("Location: $board_url" . "keskustelu.php"); } ?>
edit:
toinenkin kohta löyty:
Parse error: parse error in /home/ruokakom/public_html/reply.php on line 410
ja se koodi loppuu:
<?php end_table(); ?> </form>
riville 409 eli mitä rivillä 410 pitäis olla?
Tukeeko php noita iffejä ilman {} -merkkejä?
mietin vain, että tarvitseeko tämä: if (isset($sessionid)) delete_session($sessionid); {} -merkkejä.
Juu, kyllä tukee. Noi yksriviset menee ilman enkeleitä niin iffeissä ku foreissakin. Mut ZeBe, nyt on ainaki kymmenellä palstalla vastattu sun samaan ongelmaan... :)
jaah... no mutta nytten heitin hemmettiin sen foorumin ja väsään uuden taikka sitten hankin jostain taikka jotain...
Aihe on jo aika vanha, joten et voi enää vastata siihen.