Underlig session fejl. HJÆÆÆLP!
Mit smukke community er nu kommet til beta 1 og er derfor parat til at blive lagt ud. Men på frac.dk's server dur det ikke... Og jeg forstår det ikke... Jeg har skiftet mine session koder ud til $_SESSION['VARIABEL']; som PHP 4.3.0 og op efter understøtter (frac bruger 4.3.1).Og i går virkede det på min egen. Jubii!! Får 2 beta testere til at afprøve det, men de kan ikke komme ind. Og det kan jeg heller ikke i dag.
prøv selv:
humble.lir.dk/humble.frac.dk
Brugernavn: exp
kode: exp
efter at have oprettet exp prøvede jeg lige at logge ind på den og den virkede. Plus at min admin bruger så også lige pludselig virkede.
Men prøv I lige om I kan.
Kode:
login.php:
<?php
session_start();
$susername = $_SESSION["username"];
if (isset($susername)){
echo "<script language=\"javascript\">\n";
echo "window.setTimeout(\"document.location='main.php?l=ok', 1\");\n";
echo "</script>\n";
}
echo "<script>";
echo "top.changesite('<A href=\"index.php\">Humble</A> > Login');";
echo "</script>";
include("config.php");
$username = $HTTP_POST_VARS['username'];
$password = $HTTP_POST_VARS['password'];
$conn = mysql_connect('localhost', $dbuser, $dbpass) or die(mysql_error());
mysql_select_db($db, $conn) or die(mysql_error());
if (isset($username) && isset($password)) {
$username = strtolower($username);
$password = strtolower($password);
$sql = "SELECT brugernavn FROM users WHERE brugernavn = '" . $username . "' and PASSWORD = '" . $password . "'";
$result = mysql_query($sql, $conn);
$success = false;
if (@mysql_result($result, 0, 0) == $username) {
$success = true;
}
if ($success) {
$sql = "SELECT * FROM users WHERE brugernavn = '" . $username . "' and password = '" . $password . "'";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)) {
$sstatus = $row[status];
$ssenestelogin = $row[senesteLogin];
$skaldenavn = $row[kaldenavn];
$srnavn = $row[rnavn];
$ssid = $row[id];
session_register(username);
session_register(password);
session_register(sstatus);
session_register(ssenestelogin);
session_register(skaldenavn);
session_register(srnavn);
session_register(ssid);
}
$dt = date("Y-m-d H:i");
mysql_query("UPDATE users SET senesteLogin='$dt', remoteIP='$REMOTE_ADDR' WHERE brugernavn='$username'", $conn) or die (mysql_error());
echo "Bruger godkendt. vent venligst...";
mysql_close($conn);
echo "<script language=\"javascript\">\n";
echo "window.setTimeout(\"document.location='main.php?l=ok', 0\");\n";
echo "</script>\n";
}
}
?>
<html>
<head>
<title>HUmble efterskole - Login</title>
<LINK href="inc/style.css" type=text/css rel=stylesheet>
<script language="javascript">
function subm() {
if((document.login.username.value == "") || (document.login.password.value == "")){
alert("Brugernavn eller password mangler.");
return false;
}
else
document.login.submit();
}
</script>
</head>
<body bgcolor="#ffffff" text="#000000">
<?php if (isset($success) && !$success): ?>
<div style="color: #cc0000"><b>Logind fejl!</b></div>
<?php endif; ?>
<form action="<?=$PHP_SELF?>" onsubmit="subm()" method="POST" name="login">
Brugernavn: <input name="username" type="text" lenght="20"><br>
Kodeord: <input name="password" type="password" lenght="20"><br>
<input type="image" src="dot.jpg" width="1" height="1">
<input type="button" value="Login" onClick="subm()">
</form>
</body>
</html>
main.php: (nogle funktioner er taget fra.)
<?PHP
session_start();
include("config.php");
?>
<script>
top.changesite('<A href="index.php">Humble</A> > Elev-zone > Forside');
top.ShowMenu();
</script>
<LINK href="inc/style.css" type=text/css rel=stylesheet>
<?
$susername = $_SESSION['username'];
echo $susername;
if (isset($susername)){
$conn = mysql_connect('localhost', $dbuser, $dbpass) or die(mysql_error());
mysql_select_db($db, $conn) or die(mysql_error());
?>
<script src="inc/functions.js" type="text/javascript" language="javascript"></script>
<?
//øøøøøøøøøøøøøøøø logind øøøøøøøøøøøøøøøø
if ($l == "ok"){
// Tjekker for ny post
$post_res = mysql_query("SELECT * FROM post where modtager='$susername' AND laest='0'");
$post = mysql_num_rows($post_res);
if ($sstatus == "admin") {
$adm_lnk = "admin";
}
echo "<table align=\"right\"><tr><td><a href=\"admin.php\"> $adm_lnk<a/></td></tr></table>";
echo "Velkommen til siden <b>$srnavn / $skaldenavn</b><br>Du var her sidst: $ssenestelogin <br><br>";
if ($post == 1){
echo "Du har <b>1</b> ulæst brev";
} else if ($post > 0){
echo "Du har <b>$post</b> ulæste breve.";
} else {
echo "Du har ingen ulæste breve.";
}
$result = mysql_query("SELECT * FROM nyheder ORDER BY id DESC LIMIT 0, 2");
echo "<h2>Nyheder:</h2>";
echo "<table border=\"0\" width=\"500\" cellpadding=\"5\">";
while($row = mysql_fetch_array($result)){
$nyhed_txt = nl2br($row[tekst]);
echo "<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" bordercolorlight=\"black\" bordercolordark=\"black\"><tr onmouseover=\"setPointer(this, 0, 'over', '#DDDDDD', '#CCFFCC', '#FFCC99');\" onmouseout=\"setPointer(this, 0, 'out', '#DDDDDD', '#CCFFCC', '#FFCC99');\"><td class=\"nsub\" bgcolor=\"#DDDDDD\" width=\"81%\"><b><font color=\"green\">$row[overskrift]</font></td><td class=\"ntime\" align=\"right\" bgcolor=\"#DDDDDD\"></b>$row[tid]</td></tr></table>";
echo "<table cellpadding=\"3\" cellspacing=\"0\" bordercolorlight=\"black\" bordercolordark=\"black\" width=\"100%\"><tr width=\"100%\"><td bgcolor=\"lightgreen\" width=\"100%\" class=ntxt>$nyhed_txt</td></tr></table>";
echo "<table cellpadding=\"1\" cellspacing=\"0\" bordercolorlight=\"black\" bordercolordark=\"black\"><tr onmouseover=\"setPointer(this, 0, 'over', '#DDDDDD', '#CCFFCC', '#FFCC99');\" onmouseout=\"setPointer(this, 0, 'out', '#DDDDDD', '#CCFFCC', '#FFCC99');\"><td bgcolor=\"#DDDDDD\" class=\"nfor\"><font color=\"gray\">Forfatter: <a href=\"main.php?l=info&id=$row[afid]\" class=\"forfatter\" target=\"_self\">$row[af]<br></a></font></td></tr></table><br>";
}
echo "</table>";
// Tømmer "parpir" kurv
mysql_query("delete from post WHERE aslet='1' AND mslet='1'") or die(mysql_error());
mysql_close($conn);
}
// ikke logget ind
} else {
echo "Du er ikke logget ind!";
}
?>
Min Mysql database (tabellen Users):
CREATE TABLE `users` (
`id` int(10) unsigned NOT NULL auto_increment,
`email` varchar(50) default NULL,
`kaldenavn` tinytext,
`rnavn` tinytext NOT NULL,
`brugernavn` varchar(30) NOT NULL default '',
`PASSWORD` varchar(20) NOT NULL default '',
`senesteLogin` text,
`remoteIP` varchar(15) default NULL,
`status` tinytext NOT NULL,
`adr` text,
`mobil` int(12) default NULL,
`tlf` int(12) default NULL,
`evtinf` text,
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`),
UNIQUE KEY `brugernavn` (`brugernavn`)
) TYPE=MyISAM AUTO_INCREMENT=122 ;
Jeg er bare mega lost, da jeg simpelthen ikke kan finde fejlen. Og jeg går udfra at der virkelig skal nogle eksperter til at få denne ting til at du.
(Også kun derfor der er så mange point.)
Hilsen Rasmus Lundsgaard Christiansen.
