Непознато warning message
13 отговора
267 прегледа
Непознато warning message
Някой знае ли за какво се отнася по принцип?
Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0
Става въпрос за този скрипт:
<?php
session_register("view1count");
session_register("view2count");
session_register('view3count');
session_register('view4count');
?>
<?php
//page_count.php
if (isset($_REQUEST['whichpage']))
$whichpage = $_REQUEST['whichpage'];
else
$whichpage = false;
$PHP_SELF=$_SERVER['PHP_SELF'];
for ($i=1; $i<=4; $i++) {
if (isset($_SESSION["view${i}count"]))
${"view${i}count"} = $_SESSION["view${i}count"];
else
${"view${i}count"} = 0;
}
echo "<HTML><HEAD><TITLE>Web Page Hit Counter</TITLE></HEAD><BODY>";
if ($whichpage) {
echo "<B>You are currently on page $whichpage.</B><BR><BR>\n";
$_SESSION["view${whichpage}count"]++;
}
for ($i = 1; $i <= 4; $i++) {
$string = strip_tags (SID);
if ($whichpage == $i) {
echo "<B><A HREF=\"$PHP_SELF?".$string."&whichpage=$i\">Page $i</A></B>";
} else {
echo "<A HREF=\"$PHP_SELF?".$string."&whichpage=$i\">Page $i</A>";
}
echo ", which you have chosen ".$_SESSION["view${i}count"]." times.<BR>\n";
}
echo "\n\n<BR><BR>\n\n";
echo "</BODY></HTML>";
?>
Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0
Става въпрос за този скрипт:
<?php
session_register("view1count");
session_register("view2count");
session_register('view3count');
session_register('view4count');
?>
<?php
//page_count.php
if (isset($_REQUEST['whichpage']))
$whichpage = $_REQUEST['whichpage'];
else
$whichpage = false;
$PHP_SELF=$_SERVER['PHP_SELF'];
for ($i=1; $i<=4; $i++) {
if (isset($_SESSION["view${i}count"]))
${"view${i}count"} = $_SESSION["view${i}count"];
else
${"view${i}count"} = 0;
}
echo "<HTML><HEAD><TITLE>Web Page Hit Counter</TITLE></HEAD><BODY>";
if ($whichpage) {
echo "<B>You are currently on page $whichpage.</B><BR><BR>\n";
$_SESSION["view${whichpage}count"]++;
}
for ($i = 1; $i <= 4; $i++) {
$string = strip_tags (SID);
if ($whichpage == $i) {
echo "<B><A HREF=\"$PHP_SELF?".$string."&whichpage=$i\">Page $i</A></B>";
} else {
echo "<A HREF=\"$PHP_SELF?".$string."&whichpage=$i\">Page $i</A>";
}
echo ", which you have chosen ".$_SESSION["view${i}count"]." times.<BR>\n";
}
echo "\n\n<BR><BR>\n\n";
echo "</BODY></HTML>";
?>
Re: Непознато warning message
Пропуснах да кажа, че използвам php4.3.4/Apache 2.0.48
Re: Непознато warning message
По принцип - махни Апаче 2 и си сложи нещо по-старо, но изпитано и работещо.
Относно твоя код, ето някой забележки:
това тук:
view${i}count
не трябва ли да е:
view{$i}count
Малко по-надолу имаш нещо подобно със същата грешка.
Относно твоя код, ето някой забележки:
това тук:
view${i}count
не трябва ли да е:
view{$i}count
Малко по-надолу имаш нещо подобно със същата грешка.
Re: Непознато warning message
В отговор на:махни Апаче 2 и си сложи нещо по-старо, но изпитано и работещо.
Кво му има на тва апаче2? Аз го ползвам под линукс и уиндоус и не съм си чупил главата още.
--
"Agile is a mindset, not a set of practices, rules, or tools."
Tom Poppendieck
Re: Непознато warning message
Никога не съм го ползвал, но честно казано ти си първия който чувам да не се оплаква от Апаче 2 под Windows.
Редактирано от $burov на
Re: Непознато warning message
абе и аз от месец и половина съм с Apache 2 на Win2000Pro, и засега нямам оплаквания специално от него... иначе си го инсталирах от FoxServ, ама в последствие смених MySQL-a и PHPMyAdmin-a, щото с тях имаше проблем... ама самия Апач си работи екстра...
Just a genius
Re: Непознато warning message
Проблема със сигурност не е в апача, а в пхп-то. Доколкото си спомням същият скрипт не ми издаваше това съобщение с версия 4.3.3. Претърсих няколко форума, ама и те се чудят за какво става дума. Появява се при използването на сесии, ама при какви условия точно не разбрах. В документацията не открих нищо. Ще пробвам тез дни с петицата да видя какво става.
Относто за заблежката за ${"view${i}count"} си бачка без проблеми, пробвай ако искаш.
Относто за заблежката за ${"view${i}count"} си бачка без проблеми, пробвай ако искаш.
Re: Непознато warning message
Що не пробваш просто да направиш това което ти пише в уорнинга:
You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off
----------
Кирилица Forever
You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off
----------
Кирилица Forever
Re: Непознато warning message
Ами защото аз търся първо проблема в кода, а след това в компилатора.
Re: Непознато warning message
Тва добре ама аз не разбрах, кода всъщност работи ли? Ако си работи не виждам за какво се тормозиш. То си казва "possibly relies" т.е. аз както го разбирам може и да нямаш никакъв бъг в кода, а пък най-кошмарното нещо което може да се случи на някой е търси несъществуващ бъг 
----------
Кирилица Forever
----------
Кирилица Forever
Re: Непознато warning message
ами то си пише за какво става въпрос ...
"PHP versions 4.2.0 and lower have an undocumented feature/bug that allows you to to initialize a session variable in the global scope, albeit register_globals is disabled. PHP 4.3.0 and later will warn you, if this feature is used by enabling both session.bug_compat_42 and session.bug_compat_warn."
т.е. не използвай session_register (вече е deprecated), а $_SESSION
"PHP versions 4.2.0 and lower have an undocumented feature/bug that allows you to to initialize a session variable in the global scope, albeit register_globals is disabled. PHP 4.3.0 and later will warn you, if this feature is used by enabling both session.bug_compat_42 and session.bug_compat_warn."
т.е. не използвай session_register (вече е deprecated), а $_SESSION
Re: Непознато warning message
@Dolorian:
Problema veroiatno ti idva ot tezi 4 reda
session_register("view1count");
session_register("view2count");
session_register('view3count');
session_register('view4count');
v novite versii na php tova neshto ne se pravi taka triabva da se napishe:
$_SESSION['view1count'] = 'niakakva stoinost'; - analogichno i za ostanalite 3
@$burov:
ne poznavash dobre sintaksisa na php - vzemi procheti malko dokumentacia
$_SESSION["view${i}count"]; e analogichno na $_SESSION["view" . $i . "count"];
a puk ${"view${i}count"} e kato $view#count; kadeto # e suotvetnata stoinost na $i
@Dolorian:
skripta koito izpolzvash e pisan za stara versia na php i ima dupki v nego
preporuchvam ti da go dadesh na niakogo koito da ti go prenapishe
Problema veroiatno ti idva ot tezi 4 reda
session_register("view1count");
session_register("view2count");
session_register('view3count');
session_register('view4count');
v novite versii na php tova neshto ne se pravi taka triabva da se napishe:
$_SESSION['view1count'] = 'niakakva stoinost'; - analogichno i za ostanalite 3
@$burov:
ne poznavash dobre sintaksisa na php - vzemi procheti malko dokumentacia
$_SESSION["view${i}count"]; e analogichno na $_SESSION["view" . $i . "count"];
a puk ${"view${i}count"} e kato $view#count; kadeto # e suotvetnata stoinost na $i
@Dolorian:
skripta koito izpolzvash e pisan za stara versia na php i ima dupki v nego
preporuchvam ti da go dadesh na niakogo koito da ti go prenapishe
Re: Непознато warning message
Прочетох какво пише в документацията по въпроса и съм съгласен с твоята забележка. И въпреки това не мога да разбера как трябва да постъпа, не мога да дам някакви стойности на view.$i.count още в началото, защото скрипта се самоизвиква и става безсмислена употребата на сесиите. Ако исползвам само session_start() при стартирането ми дава, че променливите view.$i.count не са дефинирани. Между другото скрипта си работи направо така както съм го paste-нал, ако не ти е проблем можеш да го прекараш през апача набързо (извинявам се за нахалството).
Re: Непознато warning message
Това последното дето го питах беше тъпо. Считам си проблема за решен и съм благодарен на всички, които отговориха на постинга ми. За сведения, бях пуснал въпроса в някои чуждестранни форуми, посещавани много повече от нашия, но никой не се помръдна. Явно се мърдат само в платените или пък толкоз рабират и те.