/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Fejlmeddelelse
Fra : Torben Olsen


Dato : 16-06-03 15:24

Hej NG,

Først vil jeg lige sige, at jeg ikke har det store kendskab til
programmering. Der opstår en fejlmeddelelse i bunden af forsiden på portalen
www.hvadskerhvor.dk.

"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"

Det må været noget med sessions, da den forsvinder når man klikker opdater.
Det er ikke mig der har programmeret siden, men jeg vil meget gerne have
teksten til at forsvinde. Hvordan kan jeg løse problemet?

På forhånd mange tak!

/TO



 
 
Martin Sveegaard (16-06-2003)
Kommentar
Fra : Martin Sveegaard


Dato : 16-06-03 17:29

On Mon, 16 Jun 2003 16:24:25 +0200, "Torben Olsen" <to@olsengroup.dk>
wrote:

>Hej NG,
>
>Først vil jeg lige sige, at jeg ikke har det store kendskab til
>programmering. Der opstår en fejlmeddelelse i bunden af forsiden på portalen
>www.hvadskerhvor.dk.
>
>"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"
>
>Det må været noget med sessions, da den forsvinder når man klikker opdater.
>Det er ikke mig der har programmeret siden, men jeg vil meget gerne have
>teksten til at forsvinde. Hvordan kan jeg løse problemet?
>
>På forhånd mange tak!
>
>/TO
>
Spørgsmålet hører klart ind under php-kategorien.
Det ser til at koden er en forældet version med register_globals=on.
I nyere versioner af php, skal du tilgå variablerne på en anden måde,
så det rigtige vil nok være at rette koden til med de rette variabler,
som fx: $_SESSION['foo']
MVH Martin S

Torben Olsen (16-06-2003)
Kommentar
Fra : Torben Olsen


Dato : 16-06-03 21:10


"Martin Sveegaard" <sveegaard@tdcadslFJERN:DETTE.dk> skrev i en meddelelse
news:5lrrevo0ec05f3t83emg9te3eq43njvq2v@4ax.com...
> Spørgsmålet hører klart ind under php-kategorien.
> Det ser til at koden er en forældet version med register_globals=on.
> I nyere versioner af php, skal du tilgå variablerne på en anden måde,
> så det rigtige vil nok være at rette koden til med de rette variabler,
> som fx: $_SESSION['foo']

Hej Martin,

Tak for svaret. Jeg har dog ikke fundet en løsning endnu. Hvad er det helt
præcis der skal ændres. (Jeg kender ikke noget til PHP) Se venligst
nedenstående som er fra en header.php.

<?
// noget latterligt som skal køres for at variablerne virker på serveren
// post variablerne

foreach($HTTP_POST_VARS AS $key => $value){
$$key = $value;
}

// get variablerne
foreach($HTTP_GET_VARS AS $key => $value){
$$key = $value;
}

require_once("class.mysql.php");
require_once("functions.inc.php");
require_once("class.opinion.php");
require_once("class.session.php");
$database;

$session = new session($database);

if ($HTTP_POST_VARS["vote"] == "go") {
$opinion->vote();
}
function makeHeader($navigationbar) {

foreach($navigationbar AS $key => $value){
$navi .= " > <a class='navi' href='$key'>$value</a>";
}

?>


<!-- Webproduction: OlsenGroup.dk -->
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="description" content="HvadSkerHvor.dk er Danmarks
arrangementsportal med oversigt over alle større kommende events i
Danmark.">
<meta name="keywords" content="hvadskerhvor hvad sker hvor hvorskerhvad
arrangementer sport event cirkus kalender kultur billetter arrangører">
<meta http-equiv="Content-Language" content="da">

<html>
<head>
<link rel='stylesheet' type='text/css' href='styles/style.css'>
<LINK REL='SHORTCUT ICON' HREF='images/favicon.ico'>
<title>HvadSkerHvor.dk - Danmarks arrangementsportal</title>
</head>

<body>

<?
function upcommingEvents() {
global $database;
$start = time();
$slut = time() + 30 * 24 * 60 * 60;

// den rigtige som virker
$sql = "SELECT id,titel,start FROM data WHERE start > '$start' AND start <
'$slut' ORDER BY start";

if (!$database->doQuery($sql)) {
printError($database->getError());
return false;
}
if ($database->getNumRows() < 1) {
printError("Ingen arrangementer");
return false;
}

while (list($id,$title,$start) = $database->getFetchArray()){
print "<div class='small'>".date("d-m-Y",$start)."<br><a
href='events.php?mode=read&id=$id'>$title</div></a>";
}
}

if ($HTTP_POST_VARS["friend"] == 1) {
$subject = "Besøg HvadSkerHvor";
$body = "Hej $HTTP_POST_VARS[navn],

$HTTP_POST_VARS[navn_fra] har anbefalet dig at besøge Hvad Sker Hvor. Det er
stedet på Internettet, hvor du finder information om kommende arrangmenter i
Danmark. Du har mulighed for at lave din egen kalender og meget mere.
Betragt derfor denne anbefalding som et tegn og besøg os på
http://www.hvadskerhvor.dk.

Med venlig hilsen,


HvadSkerHvor
Planlæg din fritid hos os";
if (sendMail($HTTP_POST_VARS["email"],$subject,$body)) {
printOk("E-mailen er blevet sendt til $HTTP_POST_VARS[navn]");
}
else {
printError("E-mailen blev desværre ikke sendt til
$HTTP_POST_VARS[navn]");
}
}

function nyesteIndtastninger() {
global $database;
$name = "NYESTE EVENTS";
$sql = "SELECT id,titel,start FROM data ORDER BY id DESC LIMIT 0,3";

if (!$database->doQuery($sql)) {
$html = $database->getError();
makeSection($name, $html);
return false;
}
if ($database->getNumRows() < 1) {
$html = "Ingen arrangementer";
makeSection($name, $html);
return false;
}
while (list($id,$title,$start) = $database->getFetchArray()){
$html .= "<tr><td><div class='small'>".date("d-m-Y",$start)."<br><a
href='events.php?mode=read&id=$id'>".substr($title,0,22)."...</div></a></td>
</tr>";
}
makeSection($name, $html);
}

?>


<center>
<table bgcolor='white' cellspacing='0' cellpadding='0' border='0'
width='750' height='100%' border='1' style='border-collapse: collapse;
border-style: solid; border-left-width: 1; border-right-width: 1;
border-top-width: 1; border-bottom-width: 1;' bordercolor='#111111'>
<tr valign='bottom'>
<td align='center' height='122' class='menu' background='images/main.png'>
::&nbsp;<a href='index.php'
class='menu'>Forside</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
::&nbsp;<a href='events.php' class='menu'>Find
Arrangementer</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
::&nbsp;<a href='annoncor.php'
class='menu'>Annoncer</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
::&nbsp;<a href='about.php' class='menu'>Om
HvadSkerHvor</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
::&nbsp;<a href='arrangor.php' class='menu'>Tilføj
Arrangement</a></div></td>
</tr>
<tr valign='top'>
<td class='text'>
<table height='100%'>
<tr valign='top'>
<td width='200' style='border-left-width: 0; border-right-style: dotted;
border-right-width: 1; border-top-width: 0; border-bottom-width: 0'
bordercolor='C5C5C5'>

<?
statusBox();
?>

<table border='0'>
<tr valign='top'>
<td><img src='images/bullet.png'></td>
<td class='header'>KOMMER SNART</td>
</tr></table>
<? upcommingEvents(); ?>
<br><br><br>

<? nyesteIndtastninger(); ?>
</table>
<br><br><br>
</td>
<td style="padding-left: 20" width="550">


<?
}

function statusBox() {
global $session;
switch ($session->level){
case 1:
showUserBox();
break;
case 2:
showFirmBox();
break;
case 8;
showAdminBox();
break;
default:
showLoginBox();
break;
}
}
##############################################
# Standard boxen som vil fremkomme til alle #
# besøgende som ikke er logget ind #
##############################################
function showLoginBox() {
?>

<form action='login.php' method='post'>
<input type='hidden' name='mode' value='login'>
<table border='0'>
<tr valign='top'>
<td><img src='images/bullet.png'></td>
<td class='header'>ARRANGØR LOGIN</td>
</tr></table>
<br><div class='small'>Brugernavn:<br>
<input type='text' name='uname'><br>
Adgangskode:<br>
<input type='password' name='password'><br><br><input class='buttons'
value='Login' type='submit'>&nbsp;&nbsp;&nbsp;<a href='new_firm.php'>Opret
konto (gratis)</a></div>
</form><br><br>

<?
}

##############################################
# boxen som alle medlemmer vil se #
##############################################
function showUserBox() {
global $session;
print "<table border='0'>
<tr valign='top'>
<td><img src='images/bullet.png'></td>
<td class='header'>VELKOMMEN</td>
</tr></table>
<br><div class='small'>Brugernavn: $session->uname<br>
<br><br>";

}

##############################################
# boxen som alle arrangørerne vil se #
##############################################
function showFirmBox() {
global $session;
print "

<table border='0'>
<tr valign='top'>
<td><img src='images/bullet.png'></td>
<td class='header'>VELKOMMEN</td>
</tr></table>
<br><div class='small'>Brugernavn: $session->uname<br>
<a href='edit_profile.php'>Rediger Profil</a><br>
<a href='add_event.php'>Tilføj Arrangement</a></div>
<br><br>";

}

##############################################
# boxen som admin vil se #
##############################################
function showAdminBox() {
global $session;
?>
<table border='0'>
<tr valign='top'>
<td><img src='images/bullet.png'></td>
<td class='header'>VELKOMMEN</td>
</tr></table>
<br><div class='small'>Brugernavn: <? print $session->uname; ?><br>
<a href='admin.php?page=show_firms'>Slet Arrangør</a><br>
<a href='admin.php?page=show_users'>Slet Bruger</a><br>
<a href='admin.php?page=show_events'>Slet Arrangmenter</a><br>
<a href='add_event.php'>Tilføj Arrangment</a><br>
<a href='admin.php?page=show_news'>Nyheder</a><br>
<a href='admin.php?page=show_all_opinions'>Afstemninger</a><br>
<a href='admin.php?page=show_facilities'>Faciliteter</a><br>
<a href='admin.php?page=show_categories'>Kategorier</a><br>
<a href='admin.php?page=show_regions'>Regioner</a><br>
<a href='admin.php?page=show_targetgroups'>Målgrupper</a><br>
<a href='admin.php?page=show_types'>Typer</a></div>
<br><br>

<?

}

?>



Martin Sveegaard (16-06-2003)
Kommentar
Fra : Martin Sveegaard


Dato : 16-06-03 23:12

On Mon, 16 Jun 2003 22:10:09 +0200, "Torben Olsen" <to@olsengroup.dk>
wrote:
>"Martin Sveegaard" <sveegaard@tdcadslFJERN:DETTE.dk> skrev i en meddelelse
>news:5lrrevo0ec05f3t83emg9te3eq43njvq2v@4ax.com...
>> Spørgsmålet hører klart ind under php-kategorien.
>> Det ser til at koden er en forældet version med register_globals=on.
>> I nyere versioner af php, skal du tilgå variablerne på en anden måde,
>> så det rigtige vil nok være at rette koden til med de rette variabler,
>> som fx: $_SESSION['foo']
>
>Hej Martin,
>
>Tak for svaret. Jeg har dog ikke fundet en løsning endnu. Hvad er det helt
>præcis der skal ændres. (Jeg kender ikke noget til PHP) Se venligst
>nedenstående som er fra en header.php.
>
><?
>// noget latterligt som skal køres for at variablerne virker på serveren
>// post variablerne
>
>foreach($HTTP_POST_VARS AS $key => $value){
> $$key = $value;
<snip>
Jeg vil anbefale dig at se i manualen under Predefined variables:
<http://dk2.php.net/manual/en/language.variables.predefined.php#language.variables.superglobals>
I nyere versioner af php (siden 4.2.3) har man slået globale variabler
fra og man skal så tilgå dem ved hjælp af nogle superglobale array's.
Det er angiveligt gjort for at øge sikkerheden i php. Så enten må du
sætte register_globals=on, rette din kode til med de nye koder eller
følge anvisningen i den warning du får (som jeg dog ikke er helt
sikker på, hvordan man gør).
MVH Martin S

HvadSkerHvor.dk (17-06-2003)
Kommentar
Fra : HvadSkerHvor.dk


Dato : 17-06-03 16:43


"Martin Sveegaard" <sveegaard@tdcadslFJERN:DETTE.dk> skrev i en meddelelse
news:9dfsevg03gkjcg9tcg19jgt1s0joah4fri@4ax.com...
> Jeg vil anbefale dig at se i manualen under Predefined variables:
>
<http://dk2.php.net/manual/en/language.variables.predefined.php#language.var
iables.superglobals>

Hej igen Martin,

Jeg fatter desværre ikke noget af det. Jeg ved ikke hvad det er jeg skal
ændre helt præcist. Jeg kender intet til variabler.

Jeg vil bare gerne have den warning-text væk.

/TO





HvadSkerHvor.dk (17-06-2003)
Kommentar
Fra : HvadSkerHvor.dk


Dato : 17-06-03 16:49


"Martin Sveegaard" <sveegaard@tdcadslFJERN:DETTE.dk> skrev i en meddelelse
news:9dfsevg03gkjcg9tcg19jgt1s0joah4fri@4ax.com...
> Jeg vil anbefale dig at se i manualen under Predefined variables:
>
<http://dk2.php.net/manual/en/language.variables.predefined.php#language.var
iables.superglobals>

Hej Martin,

Jeg fatter bare stadig ikke hvad det er jeg skal ændre helt præcist. Jeg
kender intet til variabler m.v.

Jeg vil bare gerne have den warning-text til at forsvinde.

/TO



Martin Sveegaard (17-06-2003)
Kommentar
Fra : Martin Sveegaard


Dato : 17-06-03 22:17

On Tue, 17 Jun 2003 17:48:38 +0200, "HvadSkerHvor.dk"
<info@hvadskerhvor.dk> wrote:

>Hej Martin,
>
>Jeg fatter bare stadig ikke hvad det er jeg skal ændre helt præcist. Jeg
>kender intet til variabler m.v.
>
>Jeg vil bare gerne have den warning-text til at forsvinde.
>
>/TO
>
Ja, det kan jeg godt forstå, den er da osse irriterende. Jeg har
fundet et indslag her der beskriver dit problem:
http://bugs.php.net/bug.php?id=21312%22
Så vidt jeg forstår hænger det sammen med at man tildeler en global
variabel til en session.
(global $my_session_variable;
session_register("my_session_variable");)
Der er flere løsninger; rette koden, opgradere php, eller sætte
warnings i php.ini til fx: error_reporting =
E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR.
Det sidste kan du gøre ved at tilføje denne linie øverst i dine
scripts:
error_reporting (E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR);
Håber det kan hjælpe.
MVH Martin S

Torben Olsen (17-06-2003)
Kommentar
Fra : Torben Olsen


Dato : 17-06-03 22:28


"Martin Sveegaard" <sveegaard@tdcadslFJERN:DETTE.dk> skrev i en meddelelse
news:c60vevse3vk121uu1ert8ndnppbbh4o8hc@4ax.com...
> MVH Martin S

Hej Martin,

Det virker bare perfekt nu. Mange tusind tak for din hjælp og at du ikke
opgav.

/TO



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408946
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste