tja! jag har suttit o pillat lite och gav mig på att göra en inloggings funktion till min hemsida. Allt funkar väll som det ska men jag får detta medelandet när jag har loggat in med rätt användar namn o pass:
så her ser det konstiga medelandet ut:
# Put this code in first line of web page.
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /customers/djdragonfly.se/djdragonfly.se/httpd.www/login_success.php:3) in /customers/djdragonfly.se/djdragonfly.se/httpd.www/login_success.php on line 4
Login Successful
session_start() måste stå innan n¨å¨gon some helst data skickas ut från sidan. Om du exempelvis har en include-sida som ser ut så här:
<?PHP
$variabel = "Värde";
?>
så kan blankraderna först och/eller sist skapa det problemet. Mina råd är följande:
- För rena include-filer: Se till att filen börjar med <?PHP utan blankrader eller mellanslag eller annat innan. Du kan strunta i att ha med ?> i slutet av filen, om det inte finns någon text där.
- Se till att att du inte skriver ut något med echo/print innan session_start körs.
- Se till att inga andra fel sker innan session_start(), eftersom dessa skriver ut något och orsakar detta fel.
så här ser själva login_success.php ut
Om inloggningen är lyckad så visas login_success.php
koden till login_success.php ser du nedan. Vad ska jag fixa till på den för att inte få det konstiga medelandet?
// Check if session is not registered , redirect back to main page.
// Put this code in first line of web page.
<?
session_start();
if(!session_is_registered(myusername)){
header("location:main_login.php");
}
?>
<html>
<body>
Login Successful
</body>
</html>
Ta bort allt mellan filens början och <? så att <? är det absolut först som står i filen.
tack det funkade bara fint ^^