/ 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
Hjælp!
Fra : Aksel Spandet


Dato : 01-05-03 21:46

Hey!

Jeg har et problem og jeg fatter bare ikke hva der er galt....

Mit php dokument ser således ud:

<?php

$side = $_GET["side"];

function img($navn,$link) {

if ($side == $link) {
$aktiv = 2;
echo "aktiv= $aktiv";
} else {
$aktiv = 1;
echo "aktiv= $aktiv";
}
}

img(hej,hej)
?>

Problemet er at den ikke vil bruge variablen $side i funktionen.... Altså i
"if"... Hvis jeg i "if" udskifter $side med hej.... så får jeg aktiv 2 men
ellers får jeg aktiv 1 lige meget hvad....

Jeg kan heller ikke udskrive variablen $side i funktionen... men uden for
funktionen kan jeg godt....

HJÆLP! jeg forstår det ikke!!!

Mvh
Aksel



 
 
Morten Toft (01-05-2003)
Kommentar
Fra : Morten Toft


Dato : 01-05-03 22:57

Prøv med

funtion img ($navn, $link) {
global $side
.....osv resten af dit halløj...

/Morten

"Aksel Spandet" <akselspandet@hotmail.com> wrote in message
news:b8s12c$3s3$1@sunsite.dk...
> Hey!
>
> Jeg har et problem og jeg fatter bare ikke hva der er galt....
>
> Mit php dokument ser således ud:
>
> <?php
>
> $side = $_GET["side"];
>
> function img($navn,$link) {
>
> if ($side == $link) {
> $aktiv = 2;
> echo "aktiv= $aktiv";
> } else {
> $aktiv = 1;
> echo "aktiv= $aktiv";
> }
> }
>
> img(hej,hej)
> ?>
>
> Problemet er at den ikke vil bruge variablen $side i funktionen.... Altså
i
> "if"... Hvis jeg i "if" udskifter $side med hej.... så får jeg aktiv 2 men
> ellers får jeg aktiv 1 lige meget hvad....
>
> Jeg kan heller ikke udskrive variablen $side i funktionen... men uden for
> funktionen kan jeg godt....
>
> HJÆLP! jeg forstår det ikke!!!
>
> Mvh
> Aksel
>
>



Jens Tønnesen (01-05-2003)
Kommentar
Fra : Jens Tønnesen


Dato : 01-05-03 23:03

"Aksel Spandet" <akselspandet@hotmail.com> skrev i
dk.edb.internet.webdesign.serverside.php:

>Problemet er at den ikke vil bruge variablen $side i funktionen.... Altså i
>"if"... Jeg kan heller ikke udskrive variablen $side i funktionen... men uden for
>funktionen kan jeg godt....

Variable i PHP er pr. definition lokale, dvs. en funktion kender ikke
til variable defineret uden for funktionen. Hvis du vil have variablen
$side gjort kendt af funktionen img(), så skal du definere den som en
global variabel inde i funktionen:

function img($navn,$link) {
global $side;

if ($side == $link) {
$aktiv = 2;
echo "aktiv= $aktiv";
} else {
$aktiv = 1;
echo "aktiv= $aktiv";
}
}


--
Jens Tønnesen - http://www.pressefoto.dk

Aksel Spandet (01-05-2003)
Kommentar
Fra : Aksel Spandet


Dato : 01-05-03 23:17

Tak ska i ha det virkede!

Mvh
Aksel



Tonni Aagesen (02-05-2003)
Kommentar
Fra : Tonni Aagesen


Dato : 02-05-03 00:11

Aksel Spandet wrote:

> Tak ska i ha det virkede!

Jeg vil lige tillade mig at komme med et andet bud på en løsning:

<?php

function img($navn,$link,$side) {

   if ($side == $link) {
      $aktiv = 2;
      echo "aktiv= $aktiv";
   } else {
      $aktiv = 1;
      echo "aktiv= $aktiv";
   }
}

img(hej,hej,$_GET["side"]);

?>

I mine øjne er globale variabler generelt skidt og dårlig kodeskik, som
man lige så godt lære at undgå med det samme.


--
Mvh
Tonni Aagesen
<agent29 AT stofanet DOT dk>


Jens Tønnesen (02-05-2003)
Kommentar
Fra : Jens Tønnesen


Dato : 02-05-03 07:17

Tonni Aagesen <use.my@signature.please> skrev i
dk.edb.internet.webdesign.serverside.php:

>Jeg vil lige tillade mig at komme med et andet bud på en løsning:

(...)

>img(hej,hej,$_GET["side"]);

(...)

>I mine øjne er globale variabler generelt skidt og dårlig kodeskik, som
>man lige så godt lære at undgå med det samme.

Fuldstændig enig.

Men faktisk behøver han jo slet ikke at define $side som global i
koden, da $side jo kommer fra $_GET['side']. Og $_GET er jo allerede
global 'fra fødslen'. I stedet for at kopiere indholdet af
$_GET['side'] over i $side, så kunne han jo bare have brugt
$_GET['side'] direkte.

--
Jens Tønnesen - http://www.pressefoto.dk

Aksel Spandet (02-05-2003)
Kommentar
Fra : Aksel Spandet


Dato : 02-05-03 09:09

> Fuldstændig enig.
>
> Men faktisk behøver han jo slet ikke at define $side som global i
> koden, da $side jo kommer fra $_GET['side']. Og $_GET er jo allerede
> global 'fra fødslen'. I stedet for at kopiere indholdet af
> $_GET['side'] over i $side, så kunne han jo bare have brugt
> $_GET['side'] direkte.
Ja det gør det endnu lettere.... Tak for hjælpen!



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

Månedens bedste
Årets bedste
Sidste års bedste