У меня есть система входа в систему AJAX - все данные формы проверяются с использованием PHP, и если есть совпадение для имени пользователя и пароля, он устанавливает определенные файлы cookie.Настройка Cookies AJAX/PHP
Я знаю, что файлы cookie должны быть установлены до НИЧЕГО, но как это возможно с моделью, которую я использую. Я хочу, чтобы весь журнал не обновлялся.
Я получаю сообщение об ошибке: «Не удается изменить информацию в заголовке - заголовки уже отправленную .....»
Кто-нибудь есть какие-либо советы?
Благодаря
EDIT: форма проверяется с помощью оператора IF, то, если условия будут выполнены куки установлены там
код: alllll его
<?php
session_start();
include "connect.php";
if ($_POST) {
$loginuser = mysql_escape_string($_POST['loginuser']);
$loginpass = mysql_escape_string($_POST['loginpass']);
$rememberme = mysql_escape_string($_POST['rememberme']);
if ($rememberme = 1) {
$time = time()+60*60*24*365;
} else {
$time = time()+3600;
}
$salt = changedsalt";
$hashed_password = sha1($loginpass).sha1($salt);
$getUser_sql = "SELECT * FROM acts WHERE username = '$loginuser' AND hashed_password = '$hashed_password'";
$getUser = mysql_query($getUser_sql);
$getUser_RecordCount = mysql_num_rows($getUser);
if($getUser_RecordCount == 1) {
$rowLogin = mysql_fetch_array($getUser);
$user_id = $rowLogin['id'];
$emailad = $rowLogin['email'];
$activated = $rowLogin['activated'];
if ($activated == 1) {
$hash = "changedthistoo";
$randstring = rand(5, 10);
$code = sha1($hash . $randstring);
mysql_query("UPDATE `acts` SET `key` = '$code' WHERE `id` = '$user_id' AND `email` = '$emailad'");
setcookie('AHkey', $code, $time, '/');
setcookie('AHid', $user_id, $time, '/');
setcookie('AHem', $emailad, $time, '/');
setcookie('AHty', 'acts', $time, '/');
setcookie('AHtr', 1, time()+3600, '/');
$data['success'] = true;
$data['message'] = "Act Login - Activated";
$data['message'] = $code;
echo json_encode($data);
exit;
} else {
$data['success'] = false;
$data['message'] = "Act Login - Not Activated";
echo json_encode($data);
exit;
}
} elseif ($getUser_RecordCount == 0) {
$getUser_sqlp = "SELECT * FROM promoter WHERE username = '$loginuser' AND hashed_password = '$hashed_password'";
$getUserp = mysql_query($getUser_sqlp);
$getUser_RecordCountp = mysql_num_rows($getUserp);
$rowLogin = mysql_fetch_array($getUserp);
$user_id = $rowLogin['id'];
$emailad = $rowLogin['email'];
$activated = $rowLogin['activated'];
if($getUser_RecordCountp == 1) {
if ($activated == 1) {
//generate random string
$hash = "49ebva09afbh";
$randstring = rand(5, 10);
$code = sha1($hash . $randstring);
mysql_query("UPDATE `promter` SET `key` = '$code' WHERE `id` = '$user_id' AND `email` = '$emailad'");
setcookie('AHkey', $code, $time, '/');
setcookie('AHid', $user_id, $time, '/');
setcookie('AHem', $emailad, $time, '/');
setcookie('AHty', 'promoter', $time, '/');
setcookie('AHtr', 1, time()+3600, '/');
$data['success'] = true;
$data['message'] = "Act Login - Activated";
$data['message'] = $code;
echo json_encode($data);
exit;
} else {
$data['success'] = false;
$data['message'] = "Promoter Login - Not Activated";
echo json_encode($data);
exit;
}
} else {
$data['success'] = false;
$data['message'] = "Wrong Username or Password";
}
}
echo json_encode($data);
}
?>
показать нам код. мы не можем вам помочь без этого! –
Две секунды - добавит его сейчас –
, вы не можете отправлять контент до функции 'header()'. – mkjasinski