Avatar billede mrbs Nybegynder
19. februar 2006 - 17:17 Der er 7 kommentarer og
1 løsning

Opbygning med if eller?

Hej!

Er det den rigtige metode at gøre det på, hvis man laver en forgrening der ser nogenlunde sådan ud (der er tale om en login med sessions):

IF der IKKE ER noget i sessions {
  IF der ER noget i request {
    IF require passer med database
    - gem som sessions
    - vis siden
    ELLERS
    - udskriv form og exit
  ELLERS
  - udskriv form og exit
ELLERS
- vis siden
Avatar billede webstuff Nybegynder
19. februar 2006 - 17:31 #1
Denne skulle være rigtig nok :-)
--------------------------
if($_SESSION[login] != 'true'){
  if(!empty($_POST[user]) && !empty($_POST[kode])){
  //Tjek med databasen
    if($antal_fra_db == 1){
      //$_SESSION[login] == 'true';
      // Vis siden
    } else {
      //Form
    }
  } else {
  //Form
  }
} else {
// Vis siden
}
Avatar billede nielle Nybegynder
19. februar 2006 - 17:32 #2
Ville selv gøre det på denne måde:

IF (der IKKE ER noget i session)
{
    IF (der ER noget i request) && (request passer med database)
    {
        - gem som sessions
    }
    ELSE
    {
        - vis login form
        - exit();
    }
}

- vis siden
Avatar billede mrbs Nybegynder
19. februar 2006 - 18:23 #3
nielle - det er god!
Smid et svar!
Avatar billede mrbs Nybegynder
19. februar 2006 - 18:53 #4
Kan dette lade sig gøre?
if (isset("username") && isset("password") && $row["username"] == $_SESSION["username"] && $row["password"] == $_SESSION["password"])
Avatar billede mrbs Nybegynder
19. februar 2006 - 18:55 #5
Ups - det var den forkerte - det her kan jo ikke lade sig gøre!
Avatar billede mrbs Nybegynder
19. februar 2006 - 18:59 #6
Men kan for en ordens skyld bekræfte at denne virker:

if (isset($_REQUEST["username"]) && isset($_REQUEST["password"]) && $row["username"] == $_REQUEST["username"] && $row["password"] == $_REQUEST["password"]) {

Mads
Avatar billede nielle Nybegynder
19. februar 2006 - 19:17 #7
Du kan jo passende placere denne blok:

IF (der IKKE ER noget i session)
{
    IF (der ER noget i request) && (request passer med database)
    {
        - gem som sessions
    }
    ELSE
    {
        - vis login form
        - exit();
    }
}

- i en include-fil som du så includer i toppen på alle de sider, der skal være password-beskyttet.
Avatar billede mrbs Nybegynder
19. februar 2006 - 19:22 #8
Ja, det er det jeg gør! :) Ellers tak... Har strikket denne kode sammen:

<?php
header("Content-type: text/html; charset=iso-8859-1");
session_start(); //starting session
require_once('../config.php');

$db_url = ""; //db url
$db_user = ""; //db user
$db_pass = ""; //db password
$db_name = ""; //db name
$table_prefix = "edito_"; //table prefix

//connect to db and choose table
$conn = mysql_connect("$db_url", "$db_user", "$db_pass") or die(mysql_error());
mysql_select_db("$db_name") or die(mysql_error());

//get rows from db
$query = mysql_query("SELECT username, password FROM {$table_prefix}users WHERE username='".$_REQUEST["username"]."'");

$row = mysql_fetch_array($query);

//if no session registered
if (!isset($_SESSION["password"]) or !isset($_SESSION["username"])){
//if
    if (isset($_REQUEST["username"]) && isset($_REQUEST["password"]) && $row["username"] == $_REQUEST["username"] && $row["password"] == $_REQUEST["password"]) {
    //save as sessions
    $_SESSION["password"] = $_REQUEST["password"];
    $_SESSION["username"] = $_REQUEST["username"];
    }
    else{
    //loginform
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="da">
<head>
    <title>Editorial Login</title>
    <link rel="stylesheet" type="text/css" href="<?php echo "$stylesheet"; ?>" />
</head>
<body>
    <div id="loginframe">
    <div id="loginlogo">
    <img src="../images/editorial_logo.jpg" alt="" />
    </div>
    <div id="loginform">
    <form action="" method="post" name="loginform">
        <input type="text" name="username" /><br />
        <input type="password" name="password" /><br />
        <input type="submit" value="LOGIN" />
    </form>
    </div>
    <div style="clear:both;">
    </div>
</body>
</html>
<?php
    exit();
    }
};
//if sessions registered
//show site
?>
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