Код:
<?php
include ("conf/conf.php");
include ("classes/dbhelper.php");
$conf = new Dbconf();
$dbURL = $conf->get_databaseURL();
$dbUName = $conf->get_databaseUName();
$dbPword = $conf->get_databasePWord();
$dbName = $conf->get_databaseName();
$nameOfDbWithWorkers = $conf->get_nameOfDbWithWorkers();
if($_POST['auth']){
$login = trim(($_POST['login']));
$pass = trim($_POST['pass']);
$dbHelp = new DbHelper($dbURL, $dbUName, $dbPword, $dbName, $nameOfDbWithWorkers);
$userType = $dbHelp->getUser($login, $pass);
switch ($userType){
case "admin":
startSession($login, $pass);
header("Location: adminpage.php");
break;
case "user":
startSession($login, $pass);
header("Location: operatorpage.php");
break;
case "nomatch":
echo
'<html>
<body>
<table width=100% height=100% border=0 cellpadding=0 cellspacing=0>
<tr valign="center" align="center">
<td>
<form action="authorize.php" method="post">
Логин:<input type="text" name="login"><br>
Пароль:<input type="password" name="pass"><br>
<input type="submit" name="auth">
<font color = red> Неправильный пароль или логин</font>
</td>
</tr>
</table>
</form>
</body>
</html>';
break;
}
}
else{
header("Location: index.php");
}
function startSession($login, $pass){
session_start();
$_SESSION['login'] = $login;
$_SESSION['pass'] = $pass;
$_SESSION['usr_id'] = md5(crypt($login,$pass));
}
Когда я ввожу правильный логин и передаю информацию, у меня появляются следующие ошибки.
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\ecl.ru\www\classes\dbhelper.php:24) in Z:\home\ecl.ru\www\authorize.php on line 20
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at Z:\home\ecl.ru\www\classes\dbhelper.php:24) in Z:\home\ecl.ru\www\authorize.php on line 53
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\ecl.ru\www\classes\dbhelper.php:24) in Z:\home\ecl.ru\www\authorize.php on line 53
Как это решить?