Avatar billede artico Novice
01. september 2003 - 23:43 Der er 1 løsning

Login på én side

Jeg har en startside med dette script i topppen:

<?php
  session_start();
    include("config.php");
      $res = mysql_query("SELECT brugernavn FROM gruppe WHERE brugernavn = '$_SESSION[brugeren]' AND kode = '$_SESSION[passworden]' AND status='0' " )or die (mysql_error());
  if( mysql_num_rows( $res ) == 1 )
  {
      $r = mysql_fetch_row($res);
      $brugerNavnet=$r[0];   
    }
  if( $task == "logout" )
  {
      $_SESSION = array(); 
      session_unset();
    session_destroy();
   
      header( "Location: $PHP_SELF" );
  }   
?>

Nu vil jeg så gerne have dette script til at køre i samme side. (idag er der en link fra forsiden til filen check.php men jeg vil gerne have det på samme siden, men kan ikke få det til at fungere :-)

Her kommer indholdet af check.php

<?
session_start();

if( $task == "login" )
{
  $lr = mysql_query("SELECT brugerId FROM gruppe WHERE brugernavn ='$navn' AND kode='$password' AND status='0'")or die (mysql_error());
 
  if( mysql_num_rows($lr) == 1)
  {
      $_SESSION['brugeren'] = $navn;
        $_SESSION['passworden'] = $password;
       
        header( "Location: $PHP_SELF" );
  }
}

$res = mysql_query("SELECT brugerId,type,id,brugernavn FROM gruppe WHERE brugernavn = '$_SESSION[brugeren]' AND kode = '$_SESSION[passworden]' AND status='0' " )or die (mysql_error());

if( mysql_num_rows( $res ) == 1 )
{
    $r = mysql_fetch_row($res);
    $brugerId=$r[0];
    $brugerType=$r[1];
    $brugerNavnet=$r[3];
   
    // Indsæt i loggen
    if($brugerType==1)
    mysql_query( "INSERT INTO gruppeLog VALUES( NULL, '$REMOTE_ADDR', '".session_id()."', $r[2], NOW() )" ) or die( mysql_error() );
}
else
{

?>

+ en form i htmlén med indput felterne:
navn og password og efterføgende denne php kode:


  exit();
}

Kan det samles ?
Avatar billede bigo Nybegynder
02. september 2003 - 07:40 #1
prøv dette


<?php
  session_start();
if ($_SESSION[brugeren] && $_SESSION[passworden])
{
    include("config.php");
      $res = mysql_query("SELECT brugernavn FROM gruppe WHERE brugernavn = '$_SESSION[brugeren]' AND kode = '$_SESSION[passworden]' AND status='0' " )or die (mysql_error());
  if( mysql_num_rows( $res ) == 1 )
  {
      $r = mysql_fetch_row($res);
      $brugerNavnet=$r[0];   
    }
  if( $task == "logout" )
  {
      $_SESSION = array(); 
      session_unset();
    session_destroy();
   
      header( "Location: $PHP_SELF" );
  }   
} // end if session

if( $task == "login" )
{
  $lr = mysql_query("SELECT brugerId FROM gruppe WHERE brugernavn ='$navn' AND kode='$password' AND status='0'")or die (mysql_error());
 
  if( mysql_num_rows($lr) == 1)
  {
    $_SESSION['brugeren'] = $navn;
    $_SESSION['passworden'] = $password;

        $res = mysql_query("SELECT brugerId,type,id,brugernavn FROM gruppe WHERE brugernavn = '$_SESSION[brugeren]' AND kode = '$_SESSION[passworden]' AND status='0' " )or die (mysql_error());
   
        if( mysql_num_rows( $res ) == 1 )
        {
        $r = mysql_fetch_row($res);
        $brugerId=$r[0];
        $brugerType=$r[1];
        $brugerNavnet=$r[3];
       
        // Indsæt i loggen
        if($brugerType==1)
        mysql_query( "INSERT INTO gruppeLog VALUES( NULL, '$REMOTE_ADDR', '".session_id()."', $r[2], NOW() )" ) or die( mysql_error() );
   
        header( "Location: $PHP_SELF" );
      }
    }
}
else
{
echo "
<table>
    <tr>
        <td>
            <form action=$_SESSION[PHP_SELF] method=post name=loginform>
            Brugernavn: <input type=text name=brugeren size=10>
            Adgangskode :<input type=password name=passworden>
            </form>
        </td>
    </tr>
</table>
";
}
?>
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