Man kommer så lång att den skriver ut raden echo("Du är inloggad, du förflyttas till startsidan..."); felet är att du inte kan starta en session efter att du har skickat output till webläsaren, alltså det får inte finnas någon echo eller print eller liknande, eller html-kod som ska visas innan du kör session_start();Session problem
Men sedan skickas man till ouch.php
Andra gången man loggar in så fungerar det.
Någon som ser felet?
Första sidan där man skriver in användarnamn+lösen ser ut såhär:
<form method="POST" action="/bklugnet/login/validate.php?login=user">
<span class="brodtext">Användarnamn</span><br>
<input type="text" name="username" size="40" class="formularinput">
<br>
<span class="brodtext">Lösenord</span><br>
<input type="password" name="password" size="40" class="formularinput">
<p>
<input type="submit" value="Logga in" size="40" class="formularinput">
<p class="brodtext">
Nästa sida:
validate.php =
<?php // Skapar användarsession för inloggad användare
session_start();
session_register("bkuser");
session_register("bkpass");
@$bkuser = $username;
@$bkpass = $password; ?>
//html.body...
<?php if(@$login = "user") {
$open = mysql_connect("localhost", "användare", "lösen");
$sql = mysql_db_query("databas", "SELECT * FROM bkusers WHERE username = '$username'", $open);
$rad = mysql_fetch_array($sql);
if($username == $rad["username"] & $password == $rad["password"]) {
$antalbesok = $rad["antalbesok"] + 1;
$senast = date("Y-m-d");
$oppna = mysql_connect("localhost", "användare", "lösen");
$sqlq = mysql_db_query("databas", "UPDATE bkusers SET senast = '$senast', antalbesok = '$antalbesok' WHERE username = '$username'", $oppna);
mysql_close($oppna);
echo("Du är inloggad, du förflyttas till startsidan...");
echo("<script language=JavaScript>");
echo("self.location.replace('http://xxxxxxx/default.php')");
echo("</script>");
OSV.
Sista sidan. Det är här det "korkar" ihop sig?????
default.php =
<?php @session_start();
@$user = $bkuser;
@$pass = $bkpass;
if(!$user) {
echo("<script language=JavaScript>");
echo("self.location.replace('http://xxxxxxx/ouch.php')");
echo("</script>");
}
$open = mysql_connect("localhost", "användare", "lösen");
$info = mysql_db_query("databas", "SELECT * FROM bkusers WHERE username = '$user'", $open);
$rad = mysql_fetch_array($info);
if($user == $rad["username"] & $pass == $rad["password"]) { ?>Sv: Session problem
<code><?
if (!isset($_POST[hejhopp]))
{
header("Location: goaway.php");
exit;
}
session_start();
?></code>
ovanstående funkar, men inte nedanstående
<code><?
echo "hallå du";
session_start();
?></code>
och inte heller nedanstående
<code>
<html>
<?
session_start();
?></code>