Avatar billede doktoren001 Juniormester
23. august 2006 - 18:00 Der er 15 kommentarer og
1 løsning

login script

Nogle der kan se hvad der er galt her, den åbner bare denne fil som jo bare en en blank fil for browsere login.php
Jeg har fedtet med det et stykke tid nu er og er ved at gå amok over det ikke vil virke som jeg vil have det til.

kan det være forbindensen til DB som der er noget galt med??? Der kommer jo ikke nogen fejl meddelse op!!

<?
//Forbind til DB
$link=mysql_connect("localhost","****","****") or die("Kunne ikke forbinde til DB");
//vælg DB
mysql_select_db("perro_dk", $link) or die ("Kunne ikke finde databasen");   
   
$result=mysql_query("SELECT * FROM login WHERE name ='$_POST[user]'");
   
$data=mysql_fetch_object($result);
   
   
if($data->pass == $_POST['pass'])
    {
        if($data->user == $_POST['user'])
        {
        header("Location:login.htm");
        }else{
        header("Location:fejl_login.htm");
        }
    }
   
mysql_close($link);
?>
Avatar billede mcgoat Nybegynder
23. august 2006 - 18:04 #1
$result=mysql_query("SELECT * FROM login WHERE name ='". $_POST['user']."'");

prøv det engang
Avatar billede mcgoat Nybegynder
23. august 2006 - 18:22 #2
er da også en lille fejl i din if løkke. Der vil sket ingenting overhoved hvis man taster et forkerte password.

Ville nok lave det sådan:

if($data->user == $_POST['user']) // user exists
    {
        if($data->pass == $_POST['pass']) // and password is right
        {
        header("Location:login.htm");
        }else{
        header("Location:fejl_login.htm");
        }
    }
else
{
header("Location:fejl_login.htm"); // bruger findes ikke
}
Avatar billede doktoren001 Juniormester
23. august 2006 - 19:54 #3
Hejsa,

Det virker bare ikke det lort!!! Jeg aner ikke hvad der er galt med det, jeg har brugt det på en anden side uden problemer. Vidste godt fejlen med løkken men kunne ikke lige lure den smarteste løsning så det får du helt sikkert point for, hvis du lige gide fortælle mig hvordan man gør det :-)
Avatar billede Slettet bruger
23. august 2006 - 20:15 #4
Men alt i alt er din løsning der ikke sikker, for du vider stiller bare til en htm side.
Du skal viderstille til en PHP siden:
session_start(); // starter session, skal på alle sider, hvor du vil trække på session
if($data->user == $_POST['user']) // user exists
    {
        if($data->pass == $_POST['pass']) // and password is right
        {
          $_SESSION['login'] = "ok";
          header("Location: loginok.php");
        }else{
          header("Location:fejl_login.htm");
        }
    }
else
{
header("Location:fejl_login.htm"); // bruger findes ikke
}


-----------------------------
loginok.php
session_start();
if($_SESSION['login'] == "ok") {
  echo "Du er logget ind.";
} else {
  echo "Ikke snyde!";
}
Avatar billede mcgoat Nybegynder
23. august 2006 - 20:47 #5
<?
//Forbind til DB
$link=mysql_connect("localhost","****","****") or die("Kunne ikke forbinde til DB");
//vælg DB
mysql_select_db("perro_dk", $link) or die ("Kunne ikke finde databasen");   
   
$result=mysql_query("SELECT * FROM login WHERE name ='$_POST[user]'");
   
$data=mysql_fetch_object($result);
echo "POST USER: " . $_POST['user'] . "<br>";   
echo "POST PASS: " . $_POST['pass'] . "<br>";   
echo "DB USER: " . $data->user . "<br>";   
echo "DB PASS: " . $data->pass . "<br>";   
     
mysql_close($link);
?>


Prøv lige om den får de rigtige info
Avatar billede doktoren001 Juniormester
23. august 2006 - 21:29 #6
ok, god idé. Jeg får infoen fra forms men ikke fra DB, men jeg kan ikke finde ud af hvorfor den ikke henter de informationer felterne user og pass er de rigtige variabler, og tror heller ikke det har noget at gøre med forbindelsen til DB da jeg lige lavede en test på om jeg kunne skrive til den og det er ikke noget problem. kan det have noget at gøre med hvordan DB er lavet??
Der er kun de to felter i DB nemlig user og pass
Avatar billede mcgoat Nybegynder
23. august 2006 - 21:55 #7
<?
//Forbind til DB
$link=mysql_connect("localhost","****","****") or die("Kunne ikke forbinde til DB");
//vælg DB
mysql_select_db("perro_dk", $link) or die ("Kunne ikke finde databasen");   
   
$result=mysql_query("SELECT * FROM login WHERE name ='$_POST[user]'");

echo $result . "<br><br>";
   
$data=mysql_fetch_object($result);
echo "POST USER: " . $_POST['user'] . "<br>";   
echo "POST PASS: " . $_POST['pass'] . "<br>";   
echo "DB USER: " . $data->user . "<br>";   
echo "DB PASS: " . $data->pass . "<br>";   
     
mysql_close($link);
?>


er $result rigtig nok?
Avatar billede mcgoat Nybegynder
23. august 2006 - 21:55 #8
nvm. mente noget andet.
Avatar billede mcgoat Nybegynder
23. august 2006 - 21:59 #9
<?
//Forbind til DB
$link=mysql_connect("localhost","****","****") or die("Kunne ikke forbinde til DB");
//vælg DB
mysql_select_db("perro_dk", $link) or die ("Kunne ikke finde databasen");   
   
$result=mysql_query("SELECT * FROM login WHERE name ='$_POST[user]'");
 
echo mysql_num_rows($result) . "<br><br>";
 
$data = mysql_fetch_assoc($result);
echo "POST USER: " . $_POST['user'] . "<br>";   
echo "POST PASS: " . $_POST['pass'] . "<br>";   
echo "DB USER: " . $data['user'] . "<br>";   
echo "DB PASS: " . $data['pass'] . "<br>";   
     
mysql_close($link);
?>

hvad med den?
Avatar billede Slettet bruger
23. august 2006 - 22:01 #10
jeg ville mere:
<?PHP
session_start();
if(isset($_POST['login'])) {
  $sql = "SELECT * FROM table WHERE brugernavn = '".$_POST['bruger']."' AND kodeord = SHA('".$_POST['kode']."')";
  $query = mysql_query($sql);
  $r = mysql_fetch_array($query);
  $count = mysql_num_rows($query);

if($count == 0) {
  echo "brugeren findes ikke";
} else {
  $_SESSION['login'] = "ok";
  header("LOCATION: loginok.php");
}
}
?>

<form action="" method="post">
Bruger: <input type="text" name="bruger" /><br />
Kode: <input type="pass" name="kode" /><br />
<input type="submit" name="login" value="login" />
</form>
Avatar billede doktoren001 Juniormester
23. august 2006 - 22:07 #11
hold da op. Det er sku det dummeste jeg har gjort et stykke tid. du ramte sømmet lige på hovedet med  $result. Det var ikke name jeg skulle sammenligne med DOH.

Men mange tak for hjælpen chef. gider du ikke lige fortælle mig hvordan jeg giver dig point så skal jeg sende dem til dig ;-) tak igen.
Avatar billede mcgoat Nybegynder
24. august 2006 - 08:56 #12
hvem ?
Avatar billede Slettet bruger
24. august 2006 - 09:59 #13
Ved ikke hvem det er han mener mcgoat.
Men jeg lægger da et svar, så er det op til ham.
Avatar billede Slettet bruger
24. august 2006 - 09:59 #14
svar
Avatar billede doktoren001 Juniormester
24. august 2006 - 13:05 #15
McGoat, det er dig som gav mig det svar som fandt fejlen, så pointene er til dig. Læg et svar!!
Avatar billede mcgoat Nybegynder
24. august 2006 - 17:20 #16
:) lad os dele så
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