Avatar billede anielsen Nybegynder
03. august 2004 - 10:13 Der er 5 kommentarer og
1 løsning

Login fejl i php script

Hej alle sammen
Jeg har problemer med at få min login til at virke korrekt. De kan ikke parse videre til loggedin.php. Det ville være en stor hjælp hvis i gider at se på det.  Det er på login_tjek.php, hvor problemerne opstår.

Fejlen ser sådan ud:
Warning: Cannot modify header information - headers already sent by (output started at /customers/hi-tower.dk/hi-tower.dk/httpd.www/admin/login_tjek.php:3) in /customers/hi-tower.dk/hi-tower.dk/httpd.www/admin/login_tjek.php on line 16


Her er koden på login.php

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Login - Administration</title>
<link href="../styles.css" rel="stylesheet" type="text/css">
</head>

<body>
<form name="login" method="post" action="login_tjek.php">
  <table width="175" height="70" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td width="175" height="20" align="left" valign="middle"><input name="brugernavn" type="text" class="felt1" id="brugernavn"></td>
    </tr>
    <tr>
      <td width="175" height="20" align="left" valign="middle"><input name="password" type="password" class="felt1" id="password"></td>
    </tr>
    <tr>
      <td width="175" height="30" align="left" valign="middle"><input type="submit" name="login" value="Login"></td>
    </tr>
  </table>
</form>
</body>
</html>
</body>
</html>



Her er koden til login_tjek.php, hvor problemerne opstår:

<?php
include("config.php");
if($_POST[brugernavn] == ""){
    echo"Du kan ikke komme ind uden et brugernavn"; // checker om brugernavnet er skrefet.
}
if($_POST[password] == ""){
    echo"Du kan ikke komme ind unden et password"; // checker om password er skrevet.
}
if($_POST[brugernavn] == "$bruger"){ // checker om brugernavn passer.

if($_POST[password] == "$pass"){ // checker om password passer.

// hvis alt passer s sendes brugeren til index.php.
    header("Location: index.php?brugernavn=$_POST[brugernavn]_&_password=$_POST[password]");
}
}
else {
    // Hvis brugernavn eller password ikke s kommer denne besked.
    echo"DesvÊrre dit brugernavn eller password var forkert.";
}
?>

Her er koden til config.php

<?php

$bruger = "xxxxxx"; // Her skal du skrive dit brugernavn i stedet for test.
$pass  = "xxxxxx"; // Her skal du skrive dit password i stedet for test.

?>


Her er koden til loggedin.php, som er hvor man skal komme hen efter korrekt indtastet brugernavn og password;

<?php
if($_GET[brugernavn]) { // Hvis den finder brugernavn s viser den siden.
?>
<html>

<head>
<title>Administration af hi-tower.dk</title>
</head>

<body bgcolor="#DDDDDD">

<?php
    echo" Du er logget p&Oslash; som $_GET[brugernavn]"; // Her udskriver vi brugernavn :)
?>

</body>
</html>

<?php
}
else { // Hvis den ikke finder brugernavn s kommer denne besked.
echo"Du har ingen rettigheder til at se denne side";
}
?>
Avatar billede dcheng Novice
03. august 2004 - 10:45 #1
Jeg foirstår ikke hvorfor det lange script men prøv at erstatte

header("Location: index.php?brugernavn=$_POST[brugernavn]_&_password=$_POST[password]");

med

echo "<meta http-equiv=refresh content='0; url=index.php?brugernavn=".$_POST['brugernavn']."&password=".$_POST['password']."'>";

Jeg er usikekr på om det virker men hvis det er så er det vil den letteste løsning uden at gøre noget ved opbygningen af scriptet... btw jeg har også n00b til php
Avatar billede th1 Nybegynder
03. august 2004 - 10:52 #2
Prøv det sådan her i "login_tjek.php"


<?php
include("config.php");
header("Location: index.php?brugernavn=$_POST[brugernavn]_&_password=$_POST[password]");

if($_POST[brugernavn] == ""){
    echo"Du kan ikke komme ind uden et brugernavn"; // checker om brugernavnet er skrefet.
}
if($_POST[password] == ""){
    echo"Du kan ikke komme ind unden et password"; // checker om password er skrevet.
}
if($_POST[brugernavn] == "$bruger"){ // checker om brugernavn passer.

if($_POST[password] == "$pass"){ // checker om password passer.

// hvis alt passer s sendes brugeren til index.php.
    }
}
else {
    // Hvis brugernavn eller password ikke s kommer denne besked.
    echo"DesvÊrre dit brugernavn eller password var forkert.";
}
?>
Avatar billede anielsen Nybegynder
03. august 2004 - 10:56 #3
Det ser ud til at virke. Tak for det. Der er dog et lille problem, som jeg håber du kan se i koden. Når jeg indtaster det rigtige brugernavn men forkert password, så vises login_tjek.php bare blank. Ved du hvorfor den gør det? Når jeg tester den med de andre ting, så kommer den godt nok med en fejlmelding som den skal.
Avatar billede th1 Nybegynder
03. august 2004 - 10:58 #4
hmmm  nej desværre men hvis kommer til at vide det skal jeg nok ligge en kommentar ;)
Avatar billede anielsen Nybegynder
03. august 2004 - 11:01 #5
dcheng - Gider du at ligge et svar, hvis du vil have nogle point. Det var din kommentar jeg benyttede, så tak for hjælpen. Nu virker det som det skal.
Avatar billede dcheng Novice
03. august 2004 - 11:03 #6
Velbekomme :D
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