Avatar billede flashnoob Nybegynder
02. november 2005 - 21:32 Der er 1 kommentar

Login-script virker ikke på server

Hej.
Jeg har en side med en iframe. I Iframen har jeg har en adminside hvor det er muligt at logge ind og redigere i "hovedsidens" indhold. Det hele virker som det skal på min localhost, men når jeg smider siden op på webserveren virker login scriptet ikke. 

Jeg logger ind via denne kode:

======================START KODE======================

<?php
    include_once("includes/common_db.php");
?>
<?php
function auth_user($user, $password) {
  global $default_dbname;

  $query = "SELECT user FROM storegade_user
                            WHERE user= '$user'
                            AND password = '$password'";
  $result = mysql_query($query);

  if(!mysql_num_rows($result)) return 0;
  else {
        $query_data = mysql_fetch_row($result);
      return $query_data[0];
  }
}

function login_form() {
  global $PHP_SELF;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Administrationsside.</title>
<link rel="stylesheet" type="text/css" href="style.css"> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body>
<table border="0">
    <tr>
        <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
        <tr>
            <td>Brugernavn</td>
            <td></td>       
        </tr>
        <tr>
            <td colspan="2"><input class="inputfield" type="text" name="user" size="25"></td>
        </tr>
        <tr>
            <td>Password</td>
            <td></td>
           
        </tr>
        <tr>
            <td colspan="2"><input class="inputfield" type="password" name="password" size="25"></td>
        </tr>   
        <tr>
            <td></td>
            <td align="right"><input class="button" type="submit" value="Log ind"></td>
        </tr>
        </form>
    </tr>
</table>

</body>
</html>

<?
}
session_start();
if(!isset($user)) {
  login_form();
  exit;
}
else {
  $HTTP_SESSION_VARS ['logget_in'] = 1;
  session_register("user", "password");
  $username = auth_user($user, $password);
  if(!$username) {
      session_unregister("user");
      session_unregister("password");
      header ("location: login_fail.php");
            exit;
  }
  else echo "<script>top.location.href='index.php'</script>";
}
?>

======================SLUT KODE======================

På de andre sider hvor jeg skal chekke om der er logget ind har jeg denne kode i toppen af php filen:

======================KODE START======================

<?php

session_start();

if(!$HTTP_SESSION_VARS['logget_in'] == 1) {//Hvis brugeren ikke er logget ind
echo "Du skal være logget ind for at få adgang til denne side.<br><br><a href='../admin.php'>Gå til login</a>";
exit;//Sørger for at resten af koden, ikke bliver udført
}
?>

======================KODE SLUT======================


Koden ligger i iframen, og opdaterer "hovedsiden" til index.php hvis login er rigtigt, alt dette virker lokalt her ved mig, men ikke på webserveren.

Hvad er der galt siden det ikke virker på webserveren?
Avatar billede wuggawugga Nybegynder
03. november 2005 - 09:52 #1
Får du ikke nogle fejlbeskeder?
Prøv evt med ini_set('display_errors', 1)
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