Avatar billede Jonaslt Nybegynder
11. december 2010 - 14:12 Der er 4 kommentarer

hvordan gør jeg dette

Jeg har dette :
        $_SESSION['user'] = $user;
        echo "<h3>Welcome, ".$_SESSION['user']."</h3>";
        echo "<br>";
        echo "Your content here";

Hvordan gør jeg sådan at når de er login så kan de gå vidre til en anden side så de kan gøre noget som man ikke kan hvis man ikke er login?

er det ikke bare at link noget tekst som i html?
Eller hvordan foregår det?
Avatar billede nomak Nybegynder
11. december 2010 - 14:39 #1
sæt dette i de filer som skal være beskyttet af login:

session_start();
if( !isset($_SESSION[user]) )
  header("location: login.php");
Avatar billede danco Nybegynder
11. december 2010 - 16:30 #2
<?php
session_start();
if(!isset($_SESSION['user'])) {
  header("location:login.php");
}
?>
// al html her
Avatar billede Jonaslt Nybegynder
12. december 2010 - 18:27 #3
<?php

// Edit your mssql info here
// BEGIN MSSQL INFO
$CONFIG['host'] = "localhost";
$CONFIG['user'] = "sa";
$CONFIG['pass'] = "1234";
// END MSSQL INFO

//----------------------------- DO NOT EDIT ANYTHING BELOW HERE !!!!! ------------------------------------

$CONFIG['conn']  = mssql_connect( $CONFIG['host'], $CONFIG['user'], $CONFIG['pass']);

function anti_injection($sql) {
  $sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/"),"",$sql);
  $sql = trim($sql);
  $sql = strip_tags($sql);
  $sql = addslashes($sql);
  return $sql;
}
//----------------------------------------------------------------------------------------------------------

if(isset($_GET['action']) && ($_GET['action'] == "login")){

    $user = anti_injection($_POST['user']);
    $pass = anti_injection($_POST['pass']);
    $crypt_pass = md5($pass);
       
    $result1 = mssql_query("SELECT * FROM account.dbo.user_profile WHERE user_id = '".$user."'");
    $count1 = mssql_num_rows($result1);

    $result2 = mssql_query("SELECT user_pwd FROM account.dbo.user_profile WHERE user_id = '".$user."'");
    $row2 = mssql_fetch_row($result2);

    if($count1 == '0') {
        echo '<br>This game account is not found in the database.';
    }
    elseif($row2[0] != $crypt_pass) {
        echo '<br>Wrong password. Try again.';
    }
    elseif($_GET['login'] != 'login' && $count1 == '0') {
        echo '<br>Login Error, Please login again.';
    } else {
   
    // Begin secure content
        $_SESSION['user'] = $user;
        echo "<h3>Welcome, ".$_SESSION['user']."</h3>";
        echo "<br>";
        echo "Your content here";
    // Dont forget to and your session
    // session_destroy();
    // End secure content
    }
} else {
 
echo '<h2>Login here</h2><br />
    <form name="" action="'.$_SERVER['php_self'].'?action=login" method="post">
        Name: <input type="text" name="user" maxlength="30"><br />
        Password: <input type="password" name="pass" maxlength="16"> <br />
        <input type="submit" value="Login!">
    </form>';
}
?>


Kan i fortælle mig hvordan jeg gør sådan så nå man logger in så har man forskellige muligheder.
En slags liste.
Avatar billede danco Nybegynder
13. december 2010 - 01:15 #4
jamen det skal du jo lave i HTML osv. og det skal så indsættes der hvor der nu står   
    // Begin secure content
        $_SESSION['user'] = $user;
        echo "<h3>Welcome, ".$_SESSION['user']."</h3>";
        echo "<br>";
        echo "Your content here";
    // Dont forget to and your session
    // session_destroy();
    // End secure content

Jeg vil dog anbefale dig at du undlader at bruge session_destoy() i såfald vil brugeren jo ikke have mulighed for at gøre mere end én ting pr. login, i stedet bør du lave et log ud dokument hvor du udfører alle de handlinger der skal udføres i forbindelse med log ud.
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