Avatar billede alizweb Nybegynder
08. juni 2003 - 12:59 Der er 27 kommentarer og
1 løsning

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> &gt; 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> &gt; Elev-zone &gt; 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.
Avatar billede fangel Nybegynder
08. juni 2003 - 13:04 #1
hvad kommer der af fejl?

Morten
Avatar billede fangel Nybegynder
08. juni 2003 - 13:04 #2
og har du noget med at lave en .zip fil så jeg kan hente scriptet og teste det på egen server?

Morten
Avatar billede alizweb Nybegynder
08. juni 2003 - 13:06 #3
hmm...
Ikke logget ind...
Nej så skidt da...
Zipper lige...
Avatar billede alizweb Nybegynder
08. juni 2003 - 13:07 #4
Email?
Avatar billede fangel Nybegynder
08. juni 2003 - 13:09 #5
tja...så skidt da: mfa@desi-dev.dk
Avatar billede tipsen Nybegynder
08. juni 2003 - 13:11 #6
Mener faktisk at $_SESSION-arrayet er understøttet fra v. 4.1 og opefter...
Avatar billede tipsen Nybegynder
08. juni 2003 - 13:14 #7
Synd at folk stadig "optimerer til IE"...
Avatar billede fangel Nybegynder
08. juni 2003 - 13:18 #8
tipsen => jep

alizweb => godt for dig at jeg er en holder på hemmeligheder, for du har ikket kryteret ET password ;) men bare rolig... siger det ik' til nogen ;)

Morten
Avatar billede fangel Nybegynder
08. juni 2003 - 13:32 #9
tjek lige om det virker nu:

http://exp.mfa.ath.cx/spm362001/

Morten
Avatar billede alizweb Nybegynder
08. juni 2003 - 15:18 #10
Okay morten... Det ser ud til at virke...
Det med hemmeligheden gør skam intet, for alle passwords bliver lavet om...
Hvad har du gjort?
Avatar billede alizweb Nybegynder
08. juni 2003 - 15:21 #11
Tipsen og Morten: stadig?
Jeg bliver nød til at optimere til IE da alle mennesker bruger det.
Jeg ville være mega glad for at optimere til Netscape, men vi er kun 2 på min skole der bruger netscape. Desværre.
Avatar billede fangel Nybegynder
08. juni 2003 - 15:22 #12
tja, min server står til at vise ALLE fejlmed. der var en masse NOTICEs fra PHP, jeg lavede bare koden om så disse ikke kom frem... har lige lavet en .zip fil, så kan du se,

http://exp.mfa.ath.cx/spm362001.zip

laver også lige et svar...

---

hovedsageligt var det mangel af isset() til at tjekke om variabler var sat før du arbejde videre med dem...

Morten
Avatar billede fangel Nybegynder
08. juni 2003 - 15:23 #13
PS, jeg har ikke spor ændret "Optimeret til"... kunne ikke lade være... der står nu "Optimeret til Mozilla og Lynx"

Morten
Avatar billede fangel Nybegynder
08. juni 2003 - 15:24 #14
og man skal ikke optimere til en browser, man skal lave det så alle browsere forstår...
Avatar billede alizweb Nybegynder
08. juni 2003 - 15:29 #15
Linux :D
Jamen tak for hjælpen da...
Koden er da ellers meget fin ikke?
Husk lige at slette den fra din serv...
Du kan ikke skrive en liste over ændringer vel?
Vil også lære lidt af det.

-Rasmus
Avatar billede tipsen Nybegynder
08. juni 2003 - 15:30 #16
Jeg læser "optimeret til IE i xxx*yyy" - jeg tænker "lavet i frontpage af newbie uden forstand på hverken html eller css"... - men det er nok bare mig...
Avatar billede tipsen Nybegynder
08. juni 2003 - 15:30 #17
Notice: Undefined variable: PHP_INFO in c:\htdocs\exp\spm362001\info.php on line 2
Avatar billede fangel Nybegynder
08. juni 2003 - 15:31 #18
tipsen => hvornår, så retter jeg det...
Avatar billede fangel Nybegynder
08. juni 2003 - 15:33 #19
alizweb => det hedder "echo phpinfo();" og ikke "echo $PHP_INFO;"

Morten
Avatar billede alizweb Nybegynder
08. juni 2003 - 15:35 #20
hmm... Skidt af mig...
Avatar billede alizweb Nybegynder
08. juni 2003 - 15:37 #21
Og får du lavet den der liste, og lavet Zip igen med rettelser?
Forresten, de der apache conf's du snakkede om, så den viste alle fejl.
Kan jeg få dem?
Avatar billede fangel Nybegynder
08. juni 2003 - 15:38 #22
kan ikke huske alt jeg ændrede, men her er lidt af det:

---
1) ændrede login til at bruge header("LOCATION: side.ext"); til at komme til main.php?l=ok
2) tilføjede en masse if(isset(...)) i login, main og (muligvis flere)
3) rettede phpinfo sagen...
---

og jeg bruger faktisk WinXP og Mozilla 1.5a... Lynx var en joke da det jo er en tekstbrowser

Morten
Avatar billede fangel Nybegynder
08. juni 2003 - 15:39 #23
det er en PHP ting der skal sættes, i php.ini filen skal error reporting til E_ALL

og .zip filen er opdateret...

Morten
Avatar billede alizweb Nybegynder
08. juni 2003 - 16:07 #24
Jamen så siger jeg da tusind tak for hjælpen.
Avatar billede alizweb Nybegynder
08. juni 2003 - 16:10 #25
Warning: Cannot modify header information - headers already sent by (output started at /web/www/frac/users/humble/login.php:7) in /web/www/frac/users/humble/login.php on line 55


Derfor havde jeg brugt et Javascript
Avatar billede fangel Nybegynder
08. juni 2003 - 16:20 #26
tja... men det kan ændres... kigger lige

header() er bedre, da man så ikke bryder tilbage-knappen

Morten
Avatar billede fangel Nybegynder
08. juni 2003 - 16:23 #27
rettet og .zip filen er opdateret...

Morten
Avatar billede fangel Nybegynder
08. juni 2003 - 16:27 #28
ang header vs js/meta redirect : http://www.w3.org/2001/06tips/reback
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester