Hi all.
Otóz mam taki problem, tworze sobie w PHP coś a la CMS, problem jest przy skrypcie który ma umożliwiać czytanie wybranych artykułów tylko użytkownikom którzy podali poprawne hasło. O to ten skrypt
art_auth.php
---CUT HERE---
<?php
if (!isset($_SERVER['PHP_AUTH_USER']))
{
header('WWW-Authenticate: Basic realm="Konieczność autoryzacji"');
header('HTTP/1.0 401 Unauthorized');
exit;
}
else if (isset($_SERVER['PHP_AUTH_USER']))
{
include 'etc/mysql.php';
include 'etc/shadow.php';
$conn=mysql_connect($server, $username, $password);
for($i=1;$i<999;$i++)
{
$username=strval($_SERVER['PHP_AUTH_USER']);
$passwd=strval($_SERVER['PHP_AUTH_PW']);
$passwd_shadow=md5($passwd);
if (($users[i][i]=$user) && ($users[i][i+1]=$passwd_shadow))
{
$auth=true;
break;
}
}
if ($auth==true)
{
$query1=mysql_query("SELECT show_name,date,text FROM articles WHERE id=".$id."", $conn);
while ($myrow=mysql_fetch_assoc($query1))
{
echo "<p align=center>".$myrow['show_name']."<br>";
echo $myrow['text'];
echo "</p>";
}
}
else
{
echo 'Brak dostępu';
}
}
?>
---CUT HERE---
Niestety efektem wykonania skryptu jest tylko głupawa informacja że strumień wyjściowy został już otwarty. Tylko że przecież nie został.
O to ten komunikat
---CUT HERE---
Warning: Cannot modify header information - headers already sent by (output started at d:\usr\apache\httpd\html\mtlnet\art_auth.php:1) in d:\usr\apache\httpd\html\mtlnet\art_auth.php on line 5
Warning: Cannot modify header information - headers already sent by (output started at d:\usr\apache\httpd\html\mtlnet\art_auth.php:1) in d:\usr\apache\httpd\html\mtlnet\art_auth.php on line 6
---CUT HERE---
Bardzo proszę o pomoc doświadczonych programistów PHP, dodam że jestem raczej średnio-zaawansowany w tym języku.
Korzystam z Krasnala 2.7 z PHP 4
Otóz mam taki problem, tworze sobie w PHP coś a la CMS, problem jest przy skrypcie który ma umożliwiać czytanie wybranych artykułów tylko użytkownikom którzy podali poprawne hasło. O to ten skrypt
art_auth.php
---CUT HERE---
<?php
if (!isset($_SERVER['PHP_AUTH_USER']))
{
header('WWW-Authenticate: Basic realm="Konieczność autoryzacji"');
header('HTTP/1.0 401 Unauthorized');
exit;
}
else if (isset($_SERVER['PHP_AUTH_USER']))
{
include 'etc/mysql.php';
include 'etc/shadow.php';
$conn=mysql_connect($server, $username, $password);
for($i=1;$i<999;$i++)
{
$username=strval($_SERVER['PHP_AUTH_USER']);
$passwd=strval($_SERVER['PHP_AUTH_PW']);
$passwd_shadow=md5($passwd);
if (($users[i][i]=$user) && ($users[i][i+1]=$passwd_shadow))
{
$auth=true;
break;
}
}
if ($auth==true)
{
$query1=mysql_query("SELECT show_name,date,text FROM articles WHERE id=".$id."", $conn);
while ($myrow=mysql_fetch_assoc($query1))
{
echo "<p align=center>".$myrow['show_name']."<br>";
echo $myrow['text'];
echo "</p>";
}
}
else
{
echo 'Brak dostępu';
}
}
?>
---CUT HERE---
Niestety efektem wykonania skryptu jest tylko głupawa informacja że strumień wyjściowy został już otwarty. Tylko że przecież nie został.
O to ten komunikat
---CUT HERE---
Warning: Cannot modify header information - headers already sent by (output started at d:\usr\apache\httpd\html\mtlnet\art_auth.php:1) in d:\usr\apache\httpd\html\mtlnet\art_auth.php on line 5
Warning: Cannot modify header information - headers already sent by (output started at d:\usr\apache\httpd\html\mtlnet\art_auth.php:1) in d:\usr\apache\httpd\html\mtlnet\art_auth.php on line 6
---CUT HERE---
Bardzo proszę o pomoc doświadczonych programistów PHP, dodam że jestem raczej średnio-zaawansowany w tym języku.
Korzystam z Krasnala 2.7 z PHP 4