Avatar billede spidr Nybegynder
10. september 2003 - 14:46 Der er 3 kommentarer og
1 løsning

Intigrere login med database.

Jeg har et login script hvor at der bliver sendt Navn og pass til, men hvordan kan jeg intigere det med en database??

Mit tjek bruger script ser sådan ud:

<?php

session_start();

//hvis form er submittet
if (isset($_POST['logind'])) {

    if ($_POST['brugernavn'] == "sukos" && $_POST['password'] == "sukos" || $_POST['brugernavn'] == "test" && $_POST['password'] == "test") {

$_SESSION['brugernavn'] = $_POST['brugernavn'];

    if(isset($_POST['auto']) && strlen($_POST['auto']) != 0) {

setcookie("brugernavn", $_POST['brugernavn'], time()+3600);

        }

header("Location:autologind.php");
exit;
}else{
$_SESSION['error'] = 1;
header("Location:autologind.php");
exit;
    }

}else{

}

?>

Som i kan se er det fra sukos scriptet, men hvad hvis jeg gerne vil have den skal tjekke i en database om brugere kan logge ind istedet for det kun er test og sukos der kan??
Avatar billede -xyz- Nybegynder
10. september 2003 - 15:07 #1
<?php

session_start();

//hvis form er submittet
if (isset($_POST['logind'])) {

mysql_connect("server", "brugernavn", "pass");
mysql_select_db("gb0065");

$query = "SELECT id, user, pass FROM login WHERE user = '".$_POST['bruger']."' AND pass= '".$_POST['pass']."'";
$result = mysql_query($query)or die("MySQL fejl: " . mysql_error());
$log = mysql_fetch_array($result);    if ($_POST['brugernavn'] == $log['brugernavn'] && $_POST['password'] == $log['password']
$_SESSION['brugernavn'] = $_POST['brugernavn'];

    if(isset($_POST['auto']) && strlen($_POST['auto']) != 0) {

setcookie("brugernavn", $_POST['brugernavn'], time()+3600);

        }

header("Location:autologind.php");
exit;
}else{
$_SESSION['error'] = 1;
header("Location:autologind.php");
exit;
    }

}else{

}

?>
Avatar billede -xyz- Nybegynder
10. september 2003 - 15:08 #2
mysql_select_db("DB"); skal self se sådan ud ;)
Avatar billede spidr Nybegynder
10. september 2003 - 16:03 #3
<?php
session_start();
if (isset($_POST['logind'])) {

include("db_ind.inc");
$navn = $_POST['navn'];
$pass = $_POST['pass'];
$auto = $_POST['auto'];
$query = "SELECT * FROM googlogin WHERE navn = '$navn' AND pass= '$pass'";
$result = mysql_query($query)or die("MySQL fejl: " . mysql_error());
$log = mysql_fetch_array($result);   

if ($navn == $log['navn'] && $pass == $log['pass']) {
$_SESSION['navn'] = $navn;

if(isset($auto) && strlen($auto) != 0) {
setcookie("navn", $navn, time()+1209600);
}

header("Location:index.php");
exit;
} else {
$_SESSION['error'] = 1;
header("Location:index.php");
exit;
}
} else {
echo "Siden kan ikke kaldes direkte!<br><a href=http://www.goog.dk/login>Til login siden</a>";
}

?>
<---Hvad har jeg så gjort galt??
Den viirker fint, den vil bare ikek logge ind selv om jeg skriver login navn og pass der passer med et i databasen?
Avatar billede -xyz- Nybegynder
14. september 2003 - 02:21 #4
Jeg har haft nogle problemer med de der headers, så derfor plejer jeg at erstatten dem med denne kode:
echo <<<REDIRECT
<script language='javascript' location.href='side.php'; </script>
REDIRECT;
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