Avatar billede -veile- Nybegynder
21. september 2005 - 22:12 Der er 12 kommentarer og
1 løsning

Hvorfor Kan jeg ikke logge ind imit system!

Jeg har i gennem længere tid siddet med et login system, som jeg gerne vil have op og kører, alle mine underisdder og det er lavet til logind system, men den lukker bare ikke ind. Her er alt mit kode

<?
include "config.php";

$tjek_afvist = mysql_query("SELECT * FROM eplay_ban WHERE IP = '$ip'") or die (mysql_error());
if(mysql_num_rows($tjek_afvist) != "") {
print "<script language\"javascript\">parent.location.replace('fejl.php?mode=ban');</script>";
}
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>[E-playcity.dk]</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="style/main.css">
</head>

<body>

<div id="top"><img src="image/logo.png">
    <div align="center">
        <div class="banner"><a href="http://www.partner-ads.com/dk/klikbanner.php?partnerid=2675&bannerid=3675" target=_blank>
        <img src="http://www.partner-ads.com/dk/visbanner.php?partnerid=2675&bannerid=3675" border=0></a>
        </div>
    </div>
</div>

<div id="left">
    <div class="menuheader1"><div align="center"><strong>Generelt</strong></div></div>
       
        <div class="menubox">
        <a href="?page=forside">&nbsp;Home</a>
        <a href="?page=spil">&nbsp;Spil</a>
        <a href="?page=forum">&nbsp;Forum</a>
        <a href="?page=chat">&nbsp;Chat</a>
        <a href="?page=kontakt">&nbsp;Kontakt</a>
        </div>
    <div class="menuheader"><div align="center"><strong>Community</strong></div></div>
   
<div align="center">    <p>
    <a href="http://jigsaw.w3.org/css-validator/">
      <img style="border:0;width:88px;height:31px"
          src="http://jigsaw.w3.org/css-validator/images/vcss"
          alt="Valid CSS!">
    </a>
    </p></div>
</div>


    <div id="middle">
<?
if($_GET[page] == "") {
$fil = "forside.php";
}else{
$fil = "$_GET[page].php";
}
if(file_exists($fil)) {
print "<br/>";
include "$fil";
print "<br/><br/>";
}else{
print "Siden <strong>$_GET[page].php</strong> kunne ikke findes på ";
print $_SERVER[HTTP_HOST];
print "<br/><br/>";
print "<strong>HUSK: </strong><strong>Informere os om problemmet!</strong>";
print "<br/><br/>";
}
?>
</div>
       

<div id="right">
    <div class="menuheaderright"><div align="center"><strong>Login</strong></div></div>
<?

if($_POST[login]){

if($_POST["brugernavn"] =="") {
print "Du mangler dit brugernavn";
print "<br/><br/>";

}elseif($_POST["kodeord"] =="") {
print "du mangler dit kodeord";
print "<br/><br/>";
}else{

$brugernavn = $_POST["brugernavn"];
$kodeord = $_POST["kodeord"];

$tjek_bruger = mysql_query("SELECT * FROM eplay_brugere WHERE brugernavn = '$brugernavn' AND kodeord = '$kodeord'") or die (mysql_error());
if(mysql_num_rows($tjek_bruger) =="") {
print "<div align=center><strong>Brugerernavn eller kodeord er forkert</strong></div";
print "";
}else{

$_SESSION[brugernavn] = $_POST[brugernavn];
$_SESSION[kodeord] = $_POST[kodeord];
$_SESSION[logintid] = time();

mysql_query("UPDATE eplay_brugere SET online = 'ja' WHERE brugernavn = '$_SESSION[brugernavn]'") or die (mysql_error());
print "<script language\"javascript\">parent.location.replace('hemmelig/index.php');</script>";

}
}
}
?>
        <form action="" method="post">
        <div align="center">Brugernavn:
        <input name="bruger" type="text" style="background-color:#CCCCCC; color:#000000; font-size:11px; font-weight:bold; border:0px;" size="20" maxlength="255">
       
        Password:
        <input name="kodeord" type="password" style="background-color:#CCCCCC; color:#000000; font-size:11px; font-weight:bold; border:0px;" size="20" maxlength="255">
       
        <input type="submit" name="login" value="- Log ind -" style="background-color:#EEEEEE; color:#000000; font-family:Tahoma; border:1px solid silver; font-size:11px;"></div>
<div align="center"><a href="?page=opretbruger">Opret profil</a></div></form>
</div>
</body>
</html>

Håbr nogle kan hjælpe, eller kender en bedre måd at gøre det på!
Avatar billede jakobdo Ekspert
21. september 2005 - 22:19 #1
Prøv lige at ret til:
$tjek_bruger = mysql_query("SELECT * FROM eplay_brugere WHERE brugernavn LIKE '".$brugernavn."' AND kodeord LIKE '".$kodeord."' LIMIT 1") or die (mysql_error());
        if(mysql_num_rows($tjek_bruger) == 0)

Omkring din linie 97.
Avatar billede jakobdo Ekspert
21. september 2005 - 22:22 #2
Lige et tillægsspørgsmål, hvorfor bruger du: parent.location.replace
Hvorfor bruger du ikke "bare"
header("location: fejl.php?mode=ban");
og:
header("location: hemmelig/index.php");

Javascript kan du ikke stole på!
header() sker på serveren, så brugeren kan ikke omgår det.
Avatar billede nielle Nybegynder
21. september 2005 - 22:22 #3
Rettelse i toppen til:

$tjek_afvist = mysql_query("SELECT * FROM eplay_ban WHERE IP = '$ip'") or die(mysql_error());
if (mysql_num_rows($tjek_afvist) != 0)
{
    print "<script language\"javascript\">parent.location.replace('fejl.php?mode=ban');</script>";
}

Husk at mysql_num_rows() returnere et tal og at dir oprindelige tjek:

mysql_num_rows($tjek_afvist) != 0

- derfor altid vil være sandt.
Avatar billede nielle Nybegynder
21. september 2005 - 22:23 #4
Korrektion: Det oprindelige tjek var:

mysql_num_rows($tjek_afvist) != ""

- og er altid sandt.
Avatar billede polle007 Nybegynder
21. september 2005 - 22:33 #5
$a = 0;

if($a != "") << vil ikke evaluere til sandt

en tom streng bliver casted til værdien 0
Avatar billede -veile- Nybegynder
21. september 2005 - 22:34 #6
okai... takkr for de hurtige svar, og vil prøve det med header i stedet, for!
#2 og #3

veile
Avatar billede -veile- Nybegynder
21. september 2005 - 22:43 #7
det samme problem er der stadig

forklar mig li lidt dybere!

en min adresse linie, står der http://www.e-playcity.dk/new/ og når jeg så skal logge skulle der jo gerne komme til at stå http://www.e-playcity.dk/new/hemmelig/index.php men det gør den bar ik, jeg tivler lidt på at den metode som jeg har brugt ikk virker.

jeg kan ikk finde fejlen, så det er derfor jeg skrev i mit spørgsmål, om i kendte en god artikel, med et loginsystem og sikkerhed. ikk den som er på eksperten, den har jeg læst! mange gange:P
Avatar billede jakobdo Ekspert
21. september 2005 - 22:46 #8
For at starte fra toppen, er din config.php fin nok?
Prøv at lav noget debug igennem din kode.
Det eneste output fra din side er: <html><body></body></html>
Hvilket ofte er tegn på der intet kommer fra php.
Avatar billede -veile- Nybegynder
21. september 2005 - 22:55 #9
okai... vil ejg prøve... men tror oz jeg givr mig til at læse en masse artikler omkring header Get POST MySql, ikk fordi jeg ikk kender til det, men for at få bedre forståelse. Fordi jeg kan ikk få det til at virke...! :( og det er trætende at sidde med i flere timr...
Avatar billede jakobdo Ekspert
21. september 2005 - 22:58 #10
Overall ser din kode fin nok ud!
Men nogle gange for at gøre det lettere at finde fejl, hvilket man altid vil komme til at lave, så skal du lære at begynde at debugge.
Inden du f.eks. sammenligner 2 værdier, som måske i dit hoved altid vil være ens, så vend dig til at lav:
echo $value1 . " og " . $value2 . "<br>";
Så kan man tage linier stille og roligt, og så vil fejlen lige pludselig springe i øjnene! :o)
Avatar billede -veile- Nybegynder
21. september 2005 - 23:14 #11
:D jae det er li det! hehe.. men prøver at arbejde videre men takkr for hjælpen, så lig et svar og jeg acceptere det!!
Avatar billede jakobdo Ekspert
21. september 2005 - 23:22 #12
Et svar!
Avatar billede jakobdo Ekspert
22. september 2005 - 09:08 #13
Takker for point!
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