webForumDet fria alternativet

Vad har jag gjort för fel?

PHP

30 svar · 596 visningar · startad av septor

Medlem sedan nov. 2003208 inlägg
Frågan#1

Tanken är att scriptet ska bli ett bild galleri.

<?
if (!isset($id)) {
$id = 1132; 
}

$fil ="DSCN" .$id .".jpg"; 

while (!file_exists($fil) and $id>=1132 and $id<=1173) { 
$id = $id+$way;
$fil = "./DSCN" .$id .".jpg"; 
}

$type = "<IMG SRC=" .$fil ."><BR><BR>";

if($id>1132) {
$type.="<A HREF=album.php?id="; 
$type.=$id-1;
$type.="&way=-1>Förra</A>&nbsp;&nbsp;&nbsp;&nbsp;";
}

if ($id<1173) {
$type.="<A HREF=album.php?id="; 
$type.=$id+1;
$type.="&way=1>Nästa</A>&nbsp;&nbsp;&nbsp;&nbsp;";
}

echo ($type); 

?>

När man trycker på nästa så ska nästa bild komma upp dvs DSCN1133 osv.
Vet inte riktigt hur jag sika göra länkningen för att öka resp minska $id. Tror att jag ska skriva ?id=1&way=1 för att öka.

Det enda som kommer upp är den första bilden dvs DSCN1132, trycker man på nästa så händer det inget DSCN1132 ligger kvar.

Snälla hjälp!!!!

Medlem sedan nov. 2003208 inlägg
#2

Fråga!!!

Håller på med ett litet script och det står skrivet att man ska länka på följande sätt.

Det står ordagrant, även med radbrytet.

Lägg till i slutet av länken ?id=$id-
1&way=-1.

Filen heter album.php

Hur skulle Ni skriva länken för att öka resp minska $id ?????

Medlem sedan nov. 2003208 inlägg
#3

Glömde skriva att ni kan se hela scriptet i en annan tråd döpt till
"Vad har jag gjort för fel?"

Medlem sedan dec. 2002258 inlägg
#4

Varför inte bara

<?
//öka
$id++;

//eller minska 
$id--;

echo("<a href=\"sida.php?id=". $id ."\">Sida</a>\n");
?>
Medlem sedan nov. 2003208 inlägg
#5

Tanken är att länkarna som scriptet genererar "Förra" och Nästa" ska ta fram näst resp förra bilden.

Så om jag har fattat det hela rätta så behöver jag en länkning typ album.php?id=???????????

Men du kan väll kolla på scriptet i den andra tråden så kanske du förstår vad jag menar.

Medlem sedan dec. 2003153 inlägg
#6

Re: Vad har jag gjort för fel?

Prova detta

<?
if (!isset($_GET['id'])) {
  $id = 1132; 
}else{
  $id = $_GET['id'];
}

$fil ="DSCN" .$id .".jpg"; 

while (!file_exists($fil) and $id>=1132 and $id<=1173) { 
  $id = $id+$way;
  $fil = "./DSCN" .$id .".jpg"; 
}

$type = "<IMG SRC=" .$fil ."><BR><BR>";

if($id>1132) {
  $type.="<A HREF=album.php?id="; 
  $type.=$id--;
  $type.="&way=-1>Förra</A>&nbsp;&nbsp;&nbsp;&nbsp;";
}

if ($id<1173) {
  $type.="<A HREF=album.php?id="; 
  $type.=$id++;
  $type.="&way=1>Nästa</A>&nbsp;&nbsp;&nbsp;&nbsp;";
}

echo ($type); 

?>
Medlem sedan nov. 2003208 inlägg
#7

Fungerade bättre iaf!

Den gick ett steg vidare, men visade inte nästa bilden.
Men man såg att det skulle ligga en bild där dock!

Medlem sedan dec. 2002258 inlägg
#8
<?
$decrement = $_GET['id']-1;
$increment = $_GET['id']+1;
echo("<a href=\"album.php?id=". $decrement ."\">Förra bilden</a>\n");
echo("<a href=\"album.php?id=". $increment ."\">Nästa bild</a>\n");
?>
Medlem sedan juli 20033 147 inlägg
#9

Vad innehåller variablen $way för värde?

Medlem sedan nov. 2003208 inlägg
#10

Det undrar jag också, har inte hittat något!

Har inte gjort hela scriptet själv!

Medlem sedan juli 20033 147 inlägg
#11

För det först (vet inte om det spelar någon roll), sätt .$id. punkterna bredvid variablarna.

Sen extrakolla sökvägen, verkar vara något skumt där:

"./DSCN" .$id.".jpg";

Ska de inte vara:

"../DSCN" .$id.".jpg";

Bara några småsaker.

Medlem sedan nov. 2003208 inlägg
#12

Har kollat men det blir samma resultat oavsett var . sitter.
DSCN är bara vad alla bildfiler börjar på, så det är ingen katalog.

Medlem sedan nov. 2003208 inlägg
#13

Börjar lösa sig!

Börjar få scriptet att fungera!

1.
Har fått scriptet att trycka ut nästa bild dvs DSCN1133
Så här ser länkningen ut: http://localhost/testfiler/album.php?id=1133&way=1

2.
Men när jag trycker på "Nästa" så kommer man inte till DSCN1134 utan till den första bilden DSCN1132.
Länkning: http://localhost/testfiler/album.php?id=1132&way=1

3.
Trycker man på "Förra" när man står på DSCN1133 så är man fortfarande kvar vid samma bild.
Länkning: http://localhost/testfiler/album.php?id=1133&way=-1

Vad kan det vara för fel?

Så här ser koden ut nu:

<?
if (!isset($id)) {
$id = 1132; 
}

$fil ="DSCN" .$id.".jpg"; g.

while (!file_exists($fil) and $id>=1132 and $id<=1173) { 
$id = $id+$way;
$fil = "./DSCN" .$id.".jpg"; 
}

$type = "<IMG SRC=" .$fil."><BR><BR>";

if($id>1132) {
$type.="<A HREF=album.php?id="; 
$type.=$id-1;
$type.="&way=-1>Förra</A>&nbsp;&nbsp;&nbsp;&nbsp;";
}

if ($id<1173) {
$type.="<A HREF=album.php?id="; 
$type.=$id+1;
$type.="&way=1>Nästa</A>&nbsp;&nbsp;&nbsp;&nbsp;";
}

echo ($type); 

?>

Hoppas att någon kan komma med en lösning!

Medlem sedan juli 20033 147 inlägg
#14

Nej men tänkte mer på ../ och ./
Som det är nu så står det ./ vilket inte är någon katalog alls... antingen skriver man ../ vilket går tillbaka ett steg i mappstrukturen eller så skriver man / och hamnar direkt i rooten.

Medlem sedan nov. 2003208 inlägg
#15

OK! Nu så är jag med.
Men den hittade iaf den första bilden DSCN1132 som ligger i rooten.
Så rent teoretiskt så borde den väll hitta de andra bilderna också.

Medlem sedan juli 20033 147 inlägg
#16

Re: Börjar lösa sig!

<?
if (isset($_GET[id])) {
$id = $_GET[id]; 
} else {
$id = 1132;
}

$fil ="DSCN" .$id.".jpg"; g.

if (!file_exists($fil) and $id >= 1132 and $id <= 1173) { 
$fil = "DSCN" .$id.".jpg"; 
}

$type = "<IMG SRC=".$fil."><BR><BR>";

if($id > 1132) {
$back = $id - 1;
$type .= "<A HREF=album.php?id="; 
$type .= $back;
$type .= ">Förra</A>&nbsp;&nbsp;&nbsp;&nbsp;";
}

if ($id < 1173) {
$forward = $id + 1;
$type .= "<A HREF=album.php?id="; 
$type .= $forward;
$type .= ">Nästa</A>&nbsp;&nbsp;&nbsp;&nbsp;";
}

echo ($type); 
?>
Medlem sedan nov. 2003208 inlägg
#17

Fick upp följande med den koden:

Parse error: parse error, unexpected T_WHILE in c:\inetpub\wwwroot\testfiler\123.php on line 10

Har ingen aning vad som är fel!

Medlem sedan juli 20033 147 inlägg
#18

Kolla min redigering

Medlem sedan nov. 2003208 inlägg
#19

Ändrade på rad 8 från:
$fil ="DSCN" .$id.".jpg"; g.
till:
$fil ="DSCN" .$id.".jpg";

Nu så fick jag upp den första bilden men även ett fel:

Notice: Use of undefined constant id - assumed 'id' in c:\inetpub\wwwroot\testfiler\123.php on line 2

Har ingen aning hur jag ska skriva så det blir rätt.

Medlem sedan apr. 2002830 inlägg
#20

Korrektion av Meleas kod:

<?
if (isset($_GET['id'])) {
$id = $_GET['id']; 
} else {
$id = 1132;
}

$fil ="DSCN" .$id.".jpg"; g.

if (!file_exists($fil) and $id >= 1132 and $id <= 1173) { 
$fil = "DSCN" .$id.".jpg"; 
}

$type = "<IMG SRC=".$fil."><BR><BR>";

if($id > 1132) {
$back = $id - 1;
$type .= "<A HREF=album.php?id="; 
$type .= $back;
$type .= ">Förra</A>&nbsp;&nbsp;&nbsp;&nbsp;";
}

if ($id < 1173) {
$forward = $id + 1;
$type .= "<A HREF=album.php?id="; 
$type .= $forward;
$type .= ">Nästa</A>&nbsp;&nbsp;&nbsp;&nbsp;";
}

echo ($type); 
?>

Och septor, försök posta i samma tråd hela tiden så blir det lättare för oss att hjälpa dig!

// Nippe

269 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)