Avatar billede dklap3 Nybegynder
07. april 2005 - 01:20 Der er 9 kommentarer og
1 løsning

Problem med isset

Hejsa, jeg har et problem som jeg ikke helt forstår. Er ved at flytte et website fra et webhotel til et andet. Det er hos samme udbyder, men det vil kun virke på den ene (den gamle). Det der ikke virker er at når man klikker på en thumb skal man blive sendt videre til den store version. Her ses det hvor det virker: http://www.mikaellykmadsen.dk/herning/bygning.php?id=161 (klik på et af billederne)

Og her hvor det ikke virker: http://www.herningshuse.dk/bygning.php?id=161

Filnerne på begge domæner er præcis de samme.
Det er jo så i visbilled.php den er gal. Her er filen:


<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="css/style.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
body,td {
    font-family: Arial;
    font-size: 12;
    color: #999999;
}
img {
border: 2px solid #999999;
}
-->
</style>
</head>

<body text="#999999" link="#999999" vlink="#999999" alink="#999999">
<?php

    include("dbconnect.php");
   
    $sql = sprintf( "SELECT `id` , `navn`  , `adresse` , `anvendelse` , `aar` , `etager` , `omrade`
        FROM `herning_bygninger` WHERE `id` = '%s'", mysql_escape_string( $_GET['id'] ) );
        $test = mysql_query($sql) or die (mysql_error());

        if ($row = mysql_fetch_assoc($test))
          {
          $id = $row["id"];

?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="92%"><strong>Du er her:</strong>&nbsp;<a href="main.htm" target="_self">Forsiden</a><font color="#FF0000">&nbsp;&gt;&nbsp;</font><a href="bykort.htm" target="_self">Bykort</a><font color="#FF0000">&nbsp;&gt;&nbsp;</font><a href="blok.php?id=<?=$row["omrade"]?>" target="_self">Omr&aring;de&nbsp;<?=$row["omrade"]?></a><font color="#FF0000">&nbsp;&gt;&nbsp;</font><a href="bygning.php?id=<?=$row["id"]?>" target="_self"><?=$row["navn"]?></a><font color="#FF0000">&nbsp;&gt;&nbsp;</font>Billede&nbsp;<?=$nummer?></td>
    <td width="8%"><div align="right"><font color="#999999">Id:
        <?=$row["id"]?>
        </font></td>
  </tr>
</table>
<div align="left">
  <p>&nbsp;</p>
 
 
  <? 
  if (isset($id) && isset($nummer)) {
  echo "<p align=\"center\"><img src=\"billeder/".$id."_".$nummer.".jpg\"></p>";
  }
else {
  echo "Fandt ikke noget billede.";
}
?>
  <div align="center"><a href="bygning.php?id=<?=$row["id"]?>" target="_self">Tilbage</a></div>


  <?
}
?>
</body>
</html>



Eftersom den bare hopper videre til "else" delen må det være noget med "isset" delen der ikke virker. Kan dette skyldes at det er en anden version af php der ligger på det nye webhotel? Og er der i givet fald nogen der har alternativer til "isset", så det kunne komme til at virke?

Må hellere lige nævne at både databasen og billederne også ligger på det nye webhotel, så det er ikke der den er gal.
Avatar billede alister_crowley Nybegynder
07. april 2005 - 01:30 #1
Tror at din fejl skyldes register_globals.

Læs denne her artikel, og du vil forstå: http://www.eksperten.dk/artikler/57
Avatar billede detox Nybegynder
07. april 2005 - 01:30 #2
Prøv:

<? 
  if (isset($_GET['id']) && isset($_GET['nummer'])) {
  echo "<p align=\"center\"><img src=\"billeder/".$_GET['id']."_".$_GET['nummer'].".jpg\"></p>";
  }
else {
  echo "Fandt ikke noget billede.";
}
?>
Avatar billede detox Nybegynder
07. april 2005 - 01:33 #3
Eller blot:

if (isset($_GET['id'], $_GET['nummer'])) {
  echo "<p align=\"center\"><img src=\"billeder/".$_GET['id']."_".$_GET['nummer'].".jpg\"></p>";
  }
else {
  echo "Fandt ikke noget billede.";
}
Avatar billede dklap3 Nybegynder
07. april 2005 - 01:35 #4
@alister_crowley:

Jeg er ret sikker på at register_globals=OFF begge steder. Mener altid det er sat sådan som standard der hvor de ligger (b-one).

@ detox:

Det virker! Det må være noget med php versionen, siden begge filer var helt ens. Smider du et svar.
Avatar billede detox Nybegynder
07. april 2005 - 01:37 #5
Det tyder nu på at register_globals=On på den ene server ;O)
Avatar billede alister_crowley Nybegynder
07. april 2005 - 01:39 #6
dklap3

Hvis det var sådan, havde dit script aldrig virket :P
Avatar billede dklap3 Nybegynder
07. april 2005 - 01:42 #7
Ah du har ret detox (og sådan set også alister_crowley), register_globals=On på den gamle side. Synes bestemt jeg kunne huske den var off, min fejl. Nå, du fik det til at virke detox, så pointene går til dig.

Takker for den hurtige hjælp fra begge to.
Avatar billede detox Nybegynder
07. april 2005 - 01:43 #8
Ja, det var faktisk alister_crowley der var først ude med det rette hint :O)
Avatar billede dklap3 Nybegynder
07. april 2005 - 01:52 #9
Ja okay, det havde selvfølgelig også virket hvis jeg havde sat register_globals=On på den nye. Men nu brugte jeg din kode stump til at få det til at virke.

Efter hvad jeg sådan lige hurtigt kan overskue, ser det ud til at det er en god idé at lade den være sat til OFF. Men må hellere prøve at sætte mig lidt mere ind i det, ser ud til at artiklen alister_crowley linker til er ret populær. Håber ikke du føler dig snydt for pointene.

Igen tak for de venlige svar.
Avatar billede alister_crowley Nybegynder
07. april 2005 - 02:30 #10
næ, jeg samler overhovedet ikke på points ;)

hehe
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