Avatar billede kattefarmer Nybegynder
07. juni 2002 - 12:23 Der er 14 kommentarer og
1 løsning

Login script...

Hejsa...jeg er ret ny mht. php-programmering. Jeg vil gerne lave et loginscript, der tjekker i en mysql database om vedkommende har adgang til siden. Desuden vil jeg lave sådan at man, hvis man først har logget ind en gang, ikke behøver at skrive user/pass hver eneste gang, men at den huskes automatisk...nedenstående er mit første spæde forsøg på at få det til at virke...der kommer dog en fejl i linie 37, hvor den siger at det ikke er en gyldig mysql sætning...hjælp!

<?
if ($loggedin) setcookie("loggedin",$loggedin,time()+1209600)
?>

<html>
<body>

<?
if ($loggedin)
{
echo "<head>";
echo "<title>Velkommen</title>";
echo "</head>";
echo "Velkommen til $user";
}

else
{
?>

<head>
<title>Login</title>
</head>

<form method=post action=index.php>
Username: <br>
<input type=text name=user> <br>
Password <br>
<input type=password name=pass> <br>
<input type=submit value=login>

<?
}

$link=mysql_connect("localhost","´brugernavn","kodeord");
mysql_select_db("Kattefarmer",$link);
if (mysql_num_rows(mysql_query("SELECT FROM login WHERE user='$user' AND pass='$pass')",$link)) == 0)
    {
    echo "Du har ikke adgang til denne del af siden";
    }
else
    {
    return $loggedin="true";
    }

?>


</body>
</html>
Avatar billede shjorth Nybegynder
07. juni 2002 - 12:31 #1
select HVAD from ?
Avatar billede kattefarmer Nybegynder
07. juni 2002 - 12:41 #2
ups...der skal vist stå SELECT*FROM...har lige prøvet at uppe den nye fil, men det virker stadig ikke...
Avatar billede aslan Nybegynder
07. juni 2002 - 12:47 #3
login.php:

<?
session_start();
?>
<html>
<head>
<title>Rahber</title>
  <link rel="stylesheet" type="text/css" href="../../style/style2.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body >
<?
if($adgang)
{
    echo "<META HTTP-EQUIV='Refresh' CONTENT='1;URL=adgang.php'>";
}
else{
?>
<div align="center">
  <p>&nbsp;</p>
  <h3>Forum'da konu acmak icin email rahbere üye olmalisiniz</h3>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <table>
<form action="tjeck.php" method="post">
<tr><td>Isim</td>
<td><input type="text" name="isim"></td>
</tr>
<tr>
<td>kod</td>
<td><input type="password" name="kod"></td>
</tr>
<tr><td></td><td><input type="submit" value="Gönder"></td></tr>
</form>
</table>
</div>
</body>
</html>
<?
}
?>

----------------------------------------------------------------------
tjeck.php

<?
session_start();
session_register("adgang");
session_register("email");
include("../config.php");
$connection = mysql_connect("$server",
                            "$user",
                            "$pass");
mysql_select_db("$db", $connection) or die (mysql_error());

$result = mysql_query("SELECT * FROM emailrahber WHERE isim ='$isim' AND kod='$kod'");
$row = mysql_fetch_array($result);

if (mysql_num_rows($result) == 1)
{
    $email = $row[email];
    $adgang = $isim;
    echo "<META HTTP-EQUIV='Refresh' CONTENT='1;URL=adgang.php'>";

}
else echo"Fejl";
?>




Taget ud af min hjemmeside så du skal redigere i det hvis du skal bruge det til noget..... Husk at lave filen adgang.php som er filen man bliver smidt over til hvis man bliver accepteret...
Avatar billede shjorth Nybegynder
07. juni 2002 - 12:48 #4
prøv at erstatte:
if (mysql_num_rows(mysql_query("SELECT FROM login WHERE user='$user' AND pass='$pass')",$link)) == 0)
med
$a = mysql_query("SELECT * FROM login WHERE user='$user' AND pass='$pass'")or die (mysql_error());
if(!mysql_num_rows($a)) {
print("du har ikke adgang");
}else{
print("lalalal");
}
Avatar billede jakoba Nybegynder
07. juni 2002 - 12:49 #5
sæt  or die  på hvor du kan.

$link=mysql_connect("localhost","´brugernavn","kodeord") or die( "connect fejl: ".mysql_error() );
mysql_select_db("Kattefarmer",$link) or die( "select BD fejl: ".mysql_error() );
$tmp =  mysql_query("SELECT * FROM login WHERE user='$user' AND pass='$pass')",$link) or die( "select fejl: ".mysql_error() );
if ( mysql_num_rows($tmp) == 0)

Sådan noget 'smart' noget med at bygge 14 funktionskald ind i hinanden bør man holde sig fra indtil man er helt færdig med at debugge.

mvh JakobA
Avatar billede kattefarmer Nybegynder
07. juni 2002 - 13:09 #6
hovsa....jeg er også ny på de her forums...hvordan fordeler jeg pointene??? Jeg kom til at give dem allesammen til en....
Avatar billede shjorth Nybegynder
07. juni 2002 - 13:23 #7
hold ctrl nede og marker dem der skal have :)
Avatar billede Slettet bruger
07. juni 2002 - 14:20 #8
Hvad ialverden betyder dette:

Forum'da konu acmak icin email rahbere üye olmalisiniz
Avatar billede shjorth Nybegynder
07. juni 2002 - 14:23 #9
Che realmente non so.  Potete dire a med?
Avatar billede Slettet bruger
07. juni 2002 - 14:27 #10
;-) nu begynder det at blive sjovt.
Avatar billede shjorth Nybegynder
07. juni 2002 - 14:30 #11
:o)
Avatar billede Slettet bruger
07. juni 2002 - 14:31 #12
Det står i det script aslan har sendt, og det var da sjovt at vide hvad det betyder.
Avatar billede aslan Nybegynder
07. juni 2002 - 15:21 #13
Det er tyrkisk og betyder at man skal være medlem før man må benytte sig af forumet... Så kan du selv regne ud hvor jeg er fra:)
Avatar billede Slettet bruger
07. juni 2002 - 15:25 #14
Ja ja :-) Det er fint nok. Jeg lurede bare noget da jeg så teksten, og blev grufuld nysgerrig :-)  Tak.
Avatar billede shjorth Nybegynder
07. juni 2002 - 17:29 #15
lol betyder det det... hehehehe
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