Avatar billede proman Nybegynder
21. juli 2005 - 21:42 Der er 17 kommentarer og
1 løsning

Hvad er fejlen?

<?php
    session_start();
?>
<html>
<head>
      <title>Indstillinger</title>
<style type="text/css">
    p, ul, h3 {font-family: verdana, helvetica, sans-serif;}
    .ja {font-weight: bold, color: green;}
    .nej {font-weight: bold, color: red;}
</style>
</head>
<body>
<h3>Indstillinger</h3>
<p>Hej <b><?$first?> <?$last?></b>,
<p>E-mail: <?$email?>
<p>Dine valg:<ul>
<?php
while(list($key,$value) = each(news_prefs)) {
    if($value) {
        $value = "Ja";
    } else {
        $value = "Nej";
    }
    print("<li class=$value>$key: $value</li>
}
?>
</ul>       
</body>
</html>



Hvad er fejlen deri?
Fejl:

Fatal error: Only variables can be passed by reference in /web/www/frac/users/happychat/track_prefs2.php on line 19

Håber i kan hjælpe mig :)
Avatar billede proman Nybegynder
21. juli 2005 - 21:44 #1
Glemte lige at skrive link:
www.HappyChat.frac.dk = Forside (som virker)
www.HappyChat.frac.dk/track_prefs2.php = side nr. 2 (som ikke virker)

I kan også bare trykke jer vej gennem forsiden :)
Avatar billede nielle Nybegynder
21. juli 2005 - 21:56 #2
Hvor er din variavel news_prefs defineret henne?
Avatar billede proman Nybegynder
21. juli 2005 - 21:59 #3
huh?
Avatar billede proman Nybegynder
21. juli 2005 - 21:59 #4
Der er 2 filer i alt
Denne fil er den anden
Skriver den første i næste kommentar
Avatar billede proman Nybegynder
21. juli 2005 - 22:00 #5
<?php
session_start();
session_register("first");
session_register("last");
session_register("email");
session_register("news_prefs");
?>
<html>
<head>
      <title>Velkommen</title>
<style type="text/css">
    p, ul, h3 {font-family: verdana, helvetica, sans-serif;}
    .enabled {font-weight: bold; color: green;}
    .disabled [font-weight: bold; color: red;}
</style>
</head>
<body>
<?php
function load_user_data(){
    global $first, $last, $email, $news_prefs;
    $first = "Leo";
    $last = "Bak-Kristensen";
    $email = "OpiumDog@Hotmail.com";
    $news_prefs = array(
        "Habbo" => 1,
        "MSN" => 1,
        "Hjemmeside" => 1,
        );
}
load_user_data();
?>
<h3>Velkommen</h3>
<p>Velkommen tilbage <b><?=$first?></b>
<p>Dine indstillinger er indl&aelig;st.
<p><a href=track_prefs2.php>Se oversigt over dine valg</a>
</body>
</html>
Avatar billede proman Nybegynder
21. juli 2005 - 22:00 #6
Det er den første side :D
Avatar billede nielle Nybegynder
21. juli 2005 - 22:00 #7
Din løkke:

while (list($key,$value) = each(news_prefs))

- giver kun mening hvis news_prefs er en variabel defineret på samme side.
Avatar billede proman Nybegynder
21. juli 2005 - 22:01 #8
Ved ikk rigtig så meget om PHP.. Er igang med at lære det og det der script er noget fra en bog jeg skulle prøve at skrive
Avatar billede nielle Nybegynder
21. juli 2005 - 22:03 #9
Variable huskes ikke sådan udenvider når man hopper fra side til side. Din news_prefs er ukendt på den side hvor du har din while-løkke og det giver dig en fejl.
Avatar billede proman Nybegynder
21. juli 2005 - 22:03 #10
Okay? Hvordan skal jeg så rette det?
Avatar billede nielle Nybegynder
21. juli 2005 - 22:15 #11
Jeg er bestemt ikke sikker, men det skal vist nok være sådan her:

<?php
session_start();
session_register("news_prefs");
?>
<html>
<head>
    <title>Indstillinger</title>
    <style type="text/css">
    p, ul, h3 {font-family: verdana, helvetica, sans-serif;}
    .ja {font-weight: bold, color: green;}
    .nej {font-weight: bold, color: red;}
    </style>
</head>
<body>
<h3>Indstillinger</h3>
<p>Hej <b><?$first?> <?$last?></b>,
<p>E-mail: <?$email?>
<p>Dine valg:<ul>
<?php
while (list($key, $value) = each($news_prefs))
{
    if ($value)
    {
        $value = "Ja";
    }
    else
    {
        $value = "Nej";
    }
    print("<li class=$value>$key: $value</li>
}
?>
</ul>       
</body>
</html>
Avatar billede proman Nybegynder
21. juli 2005 - 22:18 #12
Der kom stadig fejl :)
Avatar billede nielle Nybegynder
21. juli 2005 - 22:22 #13
Har du bemærket at jeg har indsat et $-tegn foran news_prefs?

... each($news_prefs)) ...
Avatar billede proman Nybegynder
21. juli 2005 - 22:24 #14
nej :)

Men jeg kopirede hele teksten og satte ind
Avatar billede nielle Nybegynder
21. juli 2005 - 22:32 #15
Hvilket linjenummer?

I øvrigt var der lige nogle fejl som skulle rettes:

<?php
session_start();
session_register("news_prefs");
?>
<html>
<head>
    <title>Indstillinger</title>
    <style type="text/css">
    p, ul, h3 {font-family: verdana, helvetica, sans-serif;}
    .ja {font-weight: bold, color: green;}
    .nej {font-weight: bold, color: red;}
    </style>
</head>
<body>
<h3>Indstillinger</h3>
<p>Hej <b><?=$first?> <?=$last?></b>,
<p>E-mail: <?=$email?>
<p>Dine valg:<ul>
<?php
while (list($key, $value) = each($news_prefs))
{
    if ($value)
    {
        $value = "Ja";
    }
    else
    {
        $value = "Nej";
    }
    print("<li class=$value>$key: $value</li>");
}
?>
</ul>       
</body>
</html>
Avatar billede proman Nybegynder
21. juli 2005 - 22:37 #16
Nu virker det :D

Mange tusind tak for hjælpen..

www.HappyChat.frac.dk
Avatar billede nielle Nybegynder
21. juli 2005 - 22:37 #17
Svar :^)
Avatar billede proman Nybegynder
21. juli 2005 - 22:40 #18
Mange tak :D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester