17. oktober 2007 - 19:06Der er
7 kommentarer og 1 løsning
Stylesheet i php
Har et php dok som indenholde kode til login, når man logger ind skal den gå videre til en admin side. Hvis jeg ikke har stylesheet for oven, sender den mig videre som den skal, men indsætter jeg stylesheet, så sker der det at, når jeg logger ind, så kommer der en sort side fra. Hvis jeg så vælger vis kilde, står der min kode til stylesheet og ´sender mig ikke videre til den korrekte side. Kan man ikke indæt stylesheet i php? Håber i forstår mit spørgsmål
<?php // Connects to your Database mysql_connect("dbserver", "brugernvn", "adgangskode") or die(mysql_error()); mysql_select_db("databasenavn") or die(mysql_error());
//Checks if there is a login cookie if(isset($_COOKIE['ID_my_site']))
//if there is, it logs you in and directes you to the members page { $username = $_COOKIE['ID_my_site']; $pass = $_COOKIE['Key_my_site']; $check = mysql_query("SELECT * FROM admin WHERE username = '$username'")or die(mysql_error()); while($info = mysql_fetch_array( $check )) { if ($pass != $info['password']) { } else { header("Location: /opret.php");
} } }
//if the login form is submitted if (isset($_POST['submit'])) { // if form has been submitted
// makes sure they filled it in if(!$_POST['username'] | !$_POST['pass']) { die('Allefelter er ikke udfyldt.'); } // checks it against the database
if (!get_magic_quotes_gpc()) { $_POST['email'] = addslashes($_POST['email']); } $check = mysql_query("SELECT * FROM admin WHERE username = '".$_POST['username']."'")or die(mysql_error());
//Gives error if user dosen't exist $check2 = mysql_num_rows($check); if ($check2 == 0) { die('That user does not exist in our database. <a href=add.php>Click Here to Register</a>'); } while($info = mysql_fetch_array( $check )) { $_POST['pass'] = stripslashes($_POST['pass']); $info['password'] = stripslashes($info['password']); $_POST['pass'] = md5($_POST['pass']);
//gives error if the password is wrong if ($_POST['pass'] != $info['password']) { die('Forkert brugernavn eller adganskode.'); } else {
// if login is ok then we add a cookie $_POST['username'] = stripslashes($_POST['username']); $hour = time() + 3600; setcookie(ID_my_site, $_POST['username'], $hour); setcookie(Key_my_site, $_POST['pass'], $hour);
//then redirect them to the members area header("Location: opret.php"); } } } else {
// if they are not logged in ?> <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post"> <table border="0"> <tr><td colspan=2><h1>Login</h1></td></tr> <tr><td>Brugernavn:</td><td> <input type="text" name="username" maxlength="40"> </td></tr> <tr><td>Adgangskode:</td><td> <input type="password" name="pass" maxlength="50"> </td></tr> <tr><td colspan="2" align="right"> <input type="submit" name="submit" value="Login"> </td></tr> </table> </form> <?php }
Problemet ligger i at du har noget html før en header funktion. Du må ikke have sendt noget til browseren inden en header funktion. Du bliver nød til at rykke dit css ned under header("Location: /opret.php");
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.