Avatar billede mazey Praktikant
21. marts 2005 - 21:55 Der er 3 kommentarer og
1 løsning

Virker i localhost men ikke på b-one

Hej Eksperter...

Jeg er igang med at lave et nyt site.
Til det bruger jeg php, men jeg har fået et problem:

Det som der er lavet virker fint i localhost, men ikke på b-one.

Koden ser således ud:

<?    session_start(); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>The Easy Way...</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="style/styleindex.css">
</head>

<body>
<? include_once 'settings.inc.php'; ?>
<table width="800" border="0" cellspacing="0" align="center">
  <tr>
    <td background="img/top.jpg" height="72"><a href="index.php"><img src="img/logo.gif" border="0"></a>&nbsp;</td>
  </tr>
  <tr>
    <td background="img/barindex.jpg" height="18" style="background-repeat:no-repeat "><?

if( !isset($page5) )
    $page5 = "menu";

include "$page5.php";


?>
</td>
  </tr>
</table>
<table width="800" border="0" cellspacing="0" bgcolor="F7F7F3" align="center" >
  <tr>
    <td width="119" style="vertical-align:top; background-repeat:no-repeat" height="300" align="center"><br/>
    <table width="119" border="0" cellspacing="0" cellpadding="0" style="background-repeat:no-repeat ">
  <?

if( !isset($page) )
    $page = "topleft";

include "$page.php";


?>

</table>
<br/>
    <?

if( !isset($page6) )
    $page6 = "sections";

include "$page6.php";

?>

    <br/>
    <table width="123" border="0" cellspacing="1">
  <?

if( !isset($page2) )
    $page2 = "tools";

include "$page2.php";

?>

</table>
</td>
    <td width="548" align="center" style="vertical-align:top "><br/><span class="style7"><table width="510" border="0" cellspacing="1">
  <tr>
    <td><?

if( !isset($page4) )
    $page4 = "flash";

include "$page4.php";

?></td>
  </tr>
</table>
</span><br/>
<?

if (!$show)
{
    $show = "5new";
}
    include "kategorier/".$show.".php";

?>
      <br/>
    </td>
    <td width="126" style="vertical-align:top "> <?

if( !isset($page3) )
    $page3 = "rightbar";

include "$page3.php";

?>&nbsp;</td>
  </tr>
</table>
<table width="800" border="0" cellspacing="1" align="center" height="1">
  <tr>
    <td background="img/streg.jpg" height="1" style="background-repeat:no-repeat " align="center"><span class="style4">Copyright - B2BOneEuro.com 2005| All rights Reserved</span></td>
  </tr>
</table>



</body>
</html>


Den viser rigtigt nok det den skal, men de sider den loader ($page), har alle links, som ikke vil fungere.

Koden her er problemet:
if (!$show)
{
    $show = "5new";
}
    include "kategorier/".$show.".php";

Den viser så rigtigt nok 5new.php i starten, men hvis jeg klikker på et link som f.eks. er:
index2.php?mainkategori=1&show=user_new, så kan den ikke vise den på b-one serveren... men det virker fint på localhost! (det skal lige siges at det er i samarbejde med et par kammerater det er lavet, og at jeg derfor ikke er helt inde i det)

Håber nogen kan hjælpe!
Avatar billede rednex Nybegynder
21. marts 2005 - 22:24 #1
Jeg vil gætte på at du har register_globals sat til på din lokale maskine, og at b-one ikke har. Det er generelt en rigtig god idé at slå det fra, da det er et sikkerhedsproblem.

For at hente variable fra adresselinien (querystring) med register_globals slået fra skal du bruge $_GET['variabel'] i stedet for bare $variabel. Skal du hente felter fra en form gøres det ved hjælp af $_POST['navn'].

Hvis det er et meget stort problem at bruge $_GET og $_POST, kan du fake register_globals ved at indsætte følgende kode i starten af scriptet. Det skal dog frarådes.

foreach($_REQUEST as $key => $value) {
  $$key = $value; // ja, det er med vilje der står $$key
}

/Rednex
Avatar billede mazey Praktikant
21. marts 2005 - 22:34 #2
Hmmm... ok, jeg tror du har ret med det Register Globals-... Problemet er så bare hvordan jeg skal sætte den $_GET....?
$_GET[$show] = "5new"; vil ikke rigtig virke... Jeg er ikke så hård til det... :)
Avatar billede rednex Nybegynder
21. marts 2005 - 22:43 #3
Det nemmeste er nok at trække de variable ud du skal bruge som det første i scriptet.

$mainkategori = $_GET['mainkategori'];
$show = $_GET['show'];
...
Avatar billede mazey Praktikant
21. marts 2005 - 22:51 #4
Dejligt... Jeg takker!
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