Avatar billede overgreat Forsker
08. september 2004 - 16:41 Der er 8 kommentarer og
1 løsning

Når man ikke må bruge globale variabler, hvad så?

Hej Alle

Jeg har et generelt spørgsmål....

Er der en der kan forklare mig, hvad man gør med variable når globale variable ikke må anvendes?

Endvidere kunne jeg godt tænke mig at vide hvad forskellen mellem løsningen og de globale variable er!

mvh

Henrik
Avatar billede olebole Juniormester
08. september 2004 - 16:49 #1
<ole>

Hvis du mener $_POST, $_GET, $_SERVER, osv - så skifter du udbyder.
Den væsentligste forskel er, at du med de globale variabel-arrays har mulighed for at indføre en nogenlunde anstændig sikkerhed ... det er ikke muligt uden.

/mvh
</bole>
Avatar billede hmortensen Nybegynder
08. september 2004 - 16:56 #2
Eller mener du når man globalisere en variablen, så den fx kan bruges i en privat funktion ?
Avatar billede overgreat Forsker
08. september 2004 - 17:32 #3
Dette er et eksempel på en side hvor den ikke kan trække data:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<link rel="stylesheet" type="text/css" href="style.css">
  <TITLE>Kristensen:Kristensen - TESTSIDE</TITLE>

  <SCRIPT LANGUAGE="JavaScript">


<!--

      function mywindow(URL,Xsize,Ysize){

      Attribs="Height="+Ysize+",Width="+Xsize+",toolbar=no,location=no,directries=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,screenX=200,screenY=0, top=0,left=50"

      PopUp=window.open(URL,"PopUp",Attribs)}

    function swapImage(imgtag,Image)

      {document [imgtag].src = Image}

    //-->

</SCRIPT>
  </HEAD>
<BODY bgcolor="#FFFFFF">
<div align="center">
<Table width="800" height="500" cellspacing="0" cellpadding="2" border="0">
  <Tr valign="top">
    <Td background="top.jpg" width="800" height="70" valign="bottom">


  </Td>
    </Tr>
   
    <Tr valign="bottom">
    <Td background="indhold.jpg" width="800" height="368">
    <div align="center">
   
      <table width="778" height="350" background="storybag.jpg">

<tr valign="top" align="center">
<?



include("cms/config.php");

$db = mysql_connect($server, $user, $pass);

mysql_select_db($database, $db);

$foresp = mysql_query("SELECT place, billede FROM story_text LIMIT 0,5");

while ($data = mysql_fetch_row($foresp)){

echo "
  <td>
      <A HREF='java script:mywindow(\"storyskabelon.php?id=$data[0]\",630,390)' TARGET='_top'><img src='cms/storyimage/$data[1]' border='0'></A>
      </td>
    ";


}
?> 
     

          </tr>
      <tr>

<?



include("cms/config.php");

$db = mysql_connect($server, $user, $pass);

mysql_select_db($database, $db);

$foresp = mysql_query("SELECT billede FROM story_text LIMIT 5,1");

while ($data = mysql_fetch_row($foresp)){

echo "     
     
  <td colspan='2'><center><img src='cms/storyimage/$data[0]' border='0'></center></td>
    ";


}
?> 
           
     
     
      <td colspan="3"><center><p><br><br>
      <?
     
    include("cms/config.php");

$db = mysql_connect($server, $user, $pass);

mysql_select_db($database, $db);

$foresp = mysql_query("SELECT dansk, tysk, engelsk, litauisk FROM story_mini");

while ($data = mysql_fetch_row($foresp)){

 
     
 
 
     
if (!$navn1) {

echo "$data[0]";
}

if($navn1==eng){

echo "$data[2]";



}
if($navn1==lit){

echo "$data[3]";



}
if($navn1==tys){

echo "$data[1]";



}
if($navn1==dk){

echo "$data[0]";



}



} 
?>
     
     
     
     
     
      </p></center></td>
   
      </tr>
</table>

    </div>
    </Td>
    </Tr>
    <Tr valign="middle">
  <Td background="bund.jpg" width="800" height="62">
 
    <div align="right"> <?
if (!$navn1) {

echo "<IMG src='knap1.gif'>&nbsp;&nbsp;<a href='index001.php'  target='_top' class='bundlink'
>Tilbage</a>
";
}

if($navn1==eng){

echo "<IMG src='knap1.gif'>&nbsp;&nbsp;<a href='index001.php'  target='_top' class='bundlink'
>Back</a>
";


}
if($navn1==lit){

echo "<IMG src='knap1.gif'>&nbsp;&nbsp;<a href='index001.php' class='bundlink' target='_top'
>????</a>
";



}
if($navn1==tys){

echo "<IMG src='knap1.gif'>&nbsp;&nbsp;<a href='index001.php' target='_top' class='bundlink'
>Zurück</a>
";




}
if($navn1==dk){

echo "<IMG src='knap1.gif'>&nbsp;&nbsp;<a href='index001.php'  target='_top' class='bundlink'
>Tilbage</a>
";




}

?>&nbsp;&nbsp;&nbsp;
</div>


    </Td>
  </Tr>
</Table></div>


</BODY>
</HTML>
Avatar billede olebole Juniormester
08. september 2004 - 17:46 #4
Ja, det er jo en fin kode ... men hvad med et svar på det, vi spørger om?  :)
Avatar billede hmortensen Nybegynder
08. september 2004 - 17:49 #5
1. Hvor komemr $navn1 fra ?

2. Du bør nok tjekke $navn1 op mod en tekststreng.

3. En switch/case ville nok være på sin plads, da det er samme variable du tjekker på gennem hele koden.
Avatar billede morteeart Nybegynder
08. september 2004 - 17:55 #6
vil anbefale at du læser følgende artikel:

http://www.eksperten.dk/artikler/57
Avatar billede overgreat Forsker
08. september 2004 - 19:07 #7
morteeart... jeg må sige enkelt og klart svar!

Sender du et svar
Avatar billede morteeart Nybegynder
08. september 2004 - 19:08 #8
nææ, behold dine points til en anden gang, det var jo bare en artikelhenvisning.
Avatar billede overgreat Forsker
09. juli 2005 - 22:56 #9
jeg lukker
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