BDG
Mitglied
Hey Leute, bei mir kommt wenn ich einen Cookie setzen will immer das Problem, dass die Headers already gesendet wurden...
Aber ich komme nicht drauf was da falsch ist. Der Fehler tritt in Zeile 11 auf:
Und hier nochmal die includete klasse und die login funktion die aufgerufen wird:
Ich hoffe jemand kann mir helfen. Es wird doch vorher garkein output oder so gemacht! Und auch kein html! Warum kommt der Fehler? :/
Aber ich komme nicht drauf was da falsch ist. Der Fehler tritt in Zeile 11 auf:
PHP:
<?php
include "core/functions.php";
if (!isset ($_COOKIE["user_id"]))
{
if (isset ($_POST["mail"]) && isset ($_POST["pass"]))
{
$user_id = login($_POST["mail"], $_POST["pass"]);
if ($user_id == -1) header('Location: login.php?fail');
else {
setcookie("user_id", $user_id, time()+60*60*24*420);
}
}
else $user_id = -1;
}
else $user_id = $_COOKIE["user_id"];
Und hier nochmal die includete klasse und die login funktion die aufgerufen wird:
PHP:
<?php
$conn;
connect();
function connect ()
{
global $conn;
try {
$conn = new PDO('...;dbname=...', '....', '....');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
}
function login ($mail, $pass) //Login wird versucht, bei success wird user_id returned
{
global $conn;
$query = $conn->prepare('SELECT `id` FROM `user` WHERE `mail` = :m AND `pass` = :p');
$query->execute(array(
':m' => $mail,
':p' => md5(md5($pass))
));
$result = $query->fetchAll();
if (count($result)) { foreach($result as $row){ return $row["id"]; } }
else return -1;
}
Ich hoffe jemand kann mir helfen. Es wird doch vorher garkein output oder so gemacht! Und auch kein html! Warum kommt der Fehler? :/