Avatar billede mummikiks Nybegynder
03. november 2005 - 09:56 Der er 4 kommentarer og
1 løsning

Problemer med headers i loginscript

Hej Experter

Jeg har læst nogle forskellige tråde herinde, men har ikke fundcet et svar der kunne hjælpe mig. Jeg satte en apache server op i linux for to dage siden, hvor koden fungerede fint. Jeg har herefter være nødsaget til at installere en webserver med php på en windows maskine.

Jeg får desværre følgende fejl


Notice: Undefined index: logged in C:\www\auth.inc.php on line 3

Warning: Cannot modify header information - headers already sent by (output started at C:\www\auth.inc.php:3) in C:\www\auth.inc.php on line 6
You are being redirected to the login page!
(If your browser dosen't support this, click here


Min kode er:
<<<<<<<<<<<index.php>>>>>>>>>>>>>>>>

<?php
include 'auth.inc.php';
?>
<html>
<head>
<title>Wireless Home Control</title>
</head>
<body>
<h1>This is a restricted page for Wireless Home Control</h1>
<h2>Made by group 551</h2>
</body>
</html>

<<<<<<<<<<<auth.inc.php>>>>>>>>>>>>>>>>

<?php
session_start();
if ($_SESSION['logged'] != 1)
{
$redirect = $_SERVER['PHP_SELF'];
header("Refresh: 0.1; URL=login.php?redirect=$redirect");
echo "You are being redirected to the login page!<br>";
echo "(If your browser dosen't support this, <a
href=\"login.php?redirect=$redirect\">click here</a>";
die();
}
?>

<<<<<<<<<<<login.php>>>>>>>>>>>>>>>>

<?php
session_start();
$_SESSION['logged'] = 0;
if (isset($_POST['submit']))
{
    if ($_POST['username'] == "admin" && $_POST['password'] == "admin")
    {
    $_SESSION['logged'] = 1;
    header ("Refresh: 0.1; URL=" . $_POST['redirect'] . "");
    echo "You are being redirected to your original page request!<br>";
    echo "(If your browser doesn't support this, <a href=\"" .
$_POST['redirect']. "\">click here</a>)";
    }
    else
    {
    ?>
    <html>
    <head>
    <title>Wireless Home Control - Group 551</title>
    </head>
    <body>
    Invalid Username and/or Password<br><br>
    <form action="login.php" method="post">
    <input type="hidden" name="redirect" value="<?php echo $_POST['redirect']; ?>">
    Username: <input type="text" name="username"><br>
    Passwor: <input type="password" name="password"><br><br>
    <input type="submit" name="submit" value="Login">
    </form>
    <?php
    }
}
else
{
?>
<html>
<head>
<title>Wireless Home Control - Group 551</title>
</head>
<body>
You must be logged in to view this page<br><br>
<form action="login.php" method="post">
<input type="hidden" name="redirect" value="<?php echo $_GET['redirect']; ?>">
<table><tr>
<td>Username:</td>
<td><input type="text" name="username"><br></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="password"><br></td>
</tr>
</table>
<br>
<input type="submit" name="submit" value="Login">
</form>
<?php
}
?>
</body>
</html>


Jeg har ingen mellemrum inden <?php !!!

Håber virkelig nogen kan hjælpe mig
Avatar billede net-base.dk Nybegynder
03. november 2005 - 10:34 #1
har aldrig brugt header functionen på den måde du gør men sådan her i stedet for header("Location: dinfil.php");

ved ik om det kan hjælpe...
Avatar billede mummikiks Nybegynder
03. november 2005 - 11:24 #2
På den måde vil den jo ikke redirecte
Avatar billede showsource Seniormester
03. november 2005 - 13:55 #3
?
header("Location:http://www.exp.dk");

vil da sende dig her til siden?

Men prøv at ændre strukturen i dit script.
Ser ud som om du laver dobbeltkonfekt med html.

Og ellers, så prøv
if (!isset($_SESSION['logged']) || $_SESSION['logged'] != 1)
Avatar billede mummikiks Nybegynder
03. november 2005 - 14:28 #4
Hmm..Jeg genisntallerede apache og PHP og så virkede det!
Avatar billede mummikiks Nybegynder
03. november 2005 - 14:29 #5
Jeg kan desværre ikke give dig pointene, men ellers tak for hjælpen
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