Nej det hjælper ikke!
Jeg har prøvet at logge ind på min frmLogin.php for at se om jeg kunne komme ind på
SecurePage.php som er en foreløbig testside, hvor jeg initialiserer min Authentication class for at se det virker, ogsom jeg skal kunne komme ind på hvis login er en success. Hvis det ikke er skal jeg redirigeres til frmLogin.php
Der fik jeg at vide at den ikke kunne forbinde til server. Desuden fik jeg at vide
at nogle konstanter som jeg har defineret i Authentication classen var undefined
frmLogin.php
noget kode herfra
<?php
/**if $_GET['from'] comes from the Authentication class*/
if(isset($_GET['from']))
{
$target = $_GET['from'];
}
else
//Default URL: usually index.php
{
//$target = 'SecurePage.php'; //hvis jeg kun bruger denne får jeg ukendt filtype
$target = '
http://localhost/phpfiler/Auth/SecurePage.php'; //derfor brugt denne
}
?>
Atuthentication.php
<?php
/**name to use for login e.g. $S_POST['login']*/
@define('USER_LOGIN_VAR', 'login'); //undefined
/**name to use for password e.g. $S_POST['password']*/
@define('USER_PASSWORD_VAR', 'password'); //undefined
/**modify these constants to match your user login table*/
@define('USER_TABLE', 'user'); //name of user table
@define('USER_TABLE_LOGIN', 'login'); //name of login column in table
@define('USER_TABLE_PASSWORD', 'password'); //name of password column in table
tabllen user ligger i en database der hedder bibliotek
function login()
{
//see if we have values already stored in the session
if($this->session->get('login_hash'))
{
$this->confirmAuthentication();
return;
}
//if this is a fresh login, check $_POST variables
if(!isset($_POST[USER_LOGIN_VAR]) || !isset($_POST[USER_PASSWORD_VAR]))
{
$this->redirect();
}
if($this->md5)
{
$password = md5($_POST[$USER_PASSWORD_VAR]); //får undefined variable her
}
else
{
$password = $_POST[$USER_PASSWORD_VAR];
}
//escape the variables for the query
$login = mysql_escape_string($_POST[$USER_LOGIN_VAR]); //undefined index her
$password = mysql_escape_string($password);
//query to count users with this combination
$sql = "SELECT COUNT(*) AS num_users
FROM " . USER_TABLE . "
WHERE " . USER_TABLE_LOGIN . "='$login' AND
" . USER_TABLE_PASSWORD . "='$password'";
$result = $this->db->query($sql); //jeg får en undefinded fejl på query
$row = $result->fetch();
//if there isn't exactly one entry redirect
if($row['num_users'] != 1)
{
$this->redirect();
}
else
{
//else is a valid user, set session variables
$this->storeAuthentication($login, $password);
}
}
?>
<?php
$serverHostName = 'localhost'; //hostname of MySQL server
$dbUserName = 'root'; //username for MySQL
$dbPassword = ''; //password for user
$dbName = 'bibliotek'; //name of database
//instantiate the MySQL class
$db = &new MySQL($serverHostName, $dbUserName, $dbPassword, $dbName);
//absolute url
$redirect = '
http://localhost/phpfiler/Auth/frmLogin.php';//relative url
$redirectRelative = 'frmLogin.php';
//'C:\inetpub\wwwroot\php\Authentication\frmLogin.php'
//instantiate the Authentication class
$authentication = &new Authentication($db, '
http://localhost/phpfiler/Auth/frmLogin.php', 'secret');
?>
Jeg ved ikke om du udfra denne kode kan pejle dig ind på hvad der er i vejen. Men jeg kan hverken komme fra login formen ind på testsiden secure page eller omvendt. Det må da være et eller andet med min server eller database den ikke kan forbinde til.