Avatar billede martinwa Nybegynder
27. maj 2007 - 23:28 Der er 5 kommentarer og
1 løsning

Ændre kode så det virker til register globals=off

Jeg har en simpel side i php som virker fint med globals=on, men den virker ikke med globals off.
Hvordan får jeg den til at virke?
Siden er simpel og består kun af en index fil. Hver gang man trykker på et link hentes nyt indhold ind på siden.
Når globals er off, sker der ikke noget ved link tryk... hvad skal jeg ændre?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<? include "meta.php" ?>
<link href="style.css" rel="stylesheet" type="text/css">
<link rel="shortcut icon" href="http://testside.dk/favicon.ico" />
</head>
<table class="sortboks2" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td valign="top">
      <table width="750" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td valign="top"><a href="<?=$PHP_SELF;?>?side=start"><img src="grafik/topbar.gif" width="750" border="0" alt="testside.dk"></a></td>
        </tr>
      </table>
      <table width="750" border="0" cellpadding="0" cellspacing="0" bgcolor="#999999">
        <tr>
          <td width="160" height="15" class="boksT">&nbsp;</td>
          <td width="20" class="boksT">&nbsp;</td>
          <td width="262" class="boksT"><strong><font size="1" > Location:
            >>
            <?  if (@$side) {
                  echo "$side";
                }
                else {
                echo "start";
                } ?>
            </font></strong>
          <td width="288" class="boksT"> <p align="right"><strong><font size="1">
              <? include "funktion/dagDtoAAr.php"    ?>
              </font></strong> </p>
          <td width="20" class="boksT">&nbsp;</td>
        </tr>
        <tr>
          <td width="160" height="15" bgcolor="#0000ff" class="rightborderM">&nbsp;</td>
          <td width="20" height="15" bgcolor="#ffffff">&nbsp;</td>
          <td width="262" bgcolor="#ffffff" class="bottomborder">&nbsp;</td>
          <td width="288" class="bottomborder" bgcolor="#ffffff">&nbsp;
          <td width="20" bgcolor="#ffffff">&nbsp;

        </tr>
      </table>
      <table width="750" border="0" cellpadding="0" cellspacing="0" bgcolor="#ffffff">
        <tr>
          <td width="160" valign="top" bgcolor="#0000ff" class="rightborderM">
            <? include "menu.php"; ?>

          </td>
          <td width="20" valign="top" bgcolor="#ffffff" class="rightborder">&nbsp;</td>
          <td width="550" valign="top" bgcolor="#FFFFFF"><? if(!isset($side)) $side="start"; include($side.".php"); ?></td>
          <td width="20" bgcolor="#ffffff" class="leftborder">&nbsp;</td>
        </tr>
      </table>


      <table width="750" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="160" height="15" bgcolor="#0000ff" class="rightborder2">&nbsp;</td>
          <td width="20" bgcolor="#ffffff">&nbsp;</td>
          <td width="262" bgcolor="#ffffff" class="topborder">&nbsp;</td>
          <td width="288" bgcolor="#ffffff" class="topborder">&nbsp;</td>
          <td width="20" bgcolor="#ffffff">&nbsp;</td>
        </tr>
        <tr>
          <td width="160" height="15" class="boksB">&nbsp;</td>
          <td width="20" class="boksB">&nbsp;</td>
          <td width="262" class="boksB"><div align="right"><font size="1">Copyright ©</font></div></td>
          <td width="288" class="boksB"><div align="left"><font size="1">2002-<? echo date("Y") ?></font></div></td>
          <td width="20" class="boksB">&nbsp;</td>
        </tr>
      </table>


<table width="750" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><img src="grafik/bundbar.gif" alt=""></td>
  </tr>
</table>


      </table>
      <? include "funktion/god-hils.php"; ?>

</body>
</html>
Avatar billede intenz Novice
28. maj 2007 - 00:05 #1
Det er fordi du henter variablen forkert efter du har trykket på linket. Du bruger $side, men har ikke gemt indholdet i $side først.

Du skal hente dine variabler med $_GET['side'].

Øverst i filen skriver du:
<?
$side = $_GET['side'];
?>

så burde det virke.
Avatar billede martinwa Nybegynder
28. maj 2007 - 11:16 #2
super det virker :-)
Smid et "svar" og point er på vej...
Avatar billede showsource Seniormester
28. maj 2007 - 19:01 #3
Nok lidt bedre, så du er sikker på du includer den rigtige fil!!!

<?php

$filepath = "includes/"; // her ligger includefiler

if(isset($_GET["side"]) && is_file(($filepath . $_GET["side"] .".php"))
{
$fil = $_GET["side"];
}
else
{
$fil = "start";
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

og videre derudaf.

Og så blot bruge

echo $fil;

og

include($filepath . $fil .".php");
Avatar billede showsource Seniormester
28. maj 2007 - 19:05 #4
og måske lidt læseri her vil hjælpe dig bedre på vej?
http://www.phpbegynder.dk/artikler.php?id=24&page=1

Samt de to links nederst på siden!
Avatar billede intenz Novice
29. maj 2007 - 20:51 #5
Svar. Men en god ide at bruge showsources eksempel, da det ellers er muligt at include hvad som helst for en besøgende ved bare at ændre i URL'en.
Avatar billede martinwa Nybegynder
30. maj 2007 - 08:01 #6
tak for hjælpen :-)
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