0

編集* 問題を解決するコードをいくつか更新しましたが、ページ 2 の読み込み時に img が表示されません。私はまだ何か間違ったことをしています。

これがどのように見えるかです

http://i664.photobucket.com/albums/vv8/Lapplander890/stackHelp2_zpseb38de6e.jpg

PHPフォトギャラリーを機能させるために何時間も苦労しています。学校の課題なのでJSは一切使えません。

問題は、これを達成する方法がわからないことです。1ページに宇宙船の写真が6枚あります。いずれかの宇宙船をクリックすると、2 ページ目に移動し、その宇宙船が表示されます。宇宙船の横にはナビゲーション用の 2 つの矢印があり、前後の画像を選択できます。

最初のページでクリックした血まみれの船を除いて、すべてが機能しており、2 ページ目には直接表示されません。

ここに私のフォトギャラリーがあります。http://lavis.se/ass_6/labb_del2_2.php

最初のページはこちら

<?php
session_start(); 
//$_SESSION['ship'] = 1;
/*
$_SESSION['ship'] = ((isset($_SESSION['ship'])) ? 
$_SESSION['ship'] : 0); 


if(isset($_GET['add'])){ 
     $_SESSION['ship']++; 

}
if(isset($_GET['sub'])){ 
     $_SESSION['ship']--; 

}

*/
?>

<!DOCTYPE html>


<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>ass6</title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->

        <link rel="stylesheet_del2" href="css/normalize.css">
        <link rel="stylesheet" href="main_del2.css">
        <script src="js/vendor/modernizr-2.6.2.min.js"></script>
        <script src="main_del2.min.js"></script>
         <script src="jquery-1.2.6.pack.js.js"></script>
    </head>
    <body>

        <div id="imgwrap">
                <h1>Spaceships</h1>

                    <a href="basicForm2.php?value=1"><img src="img/space/planetes_thumb.jpg" alt="serenity"/></a>
                    <a href="basicForm2.php?value=2"><img src="img/space/serenity_thumb.jpg" alt="serenity"/></a>
                    <a href="basicForm2.php?value=3"><img src="img/space/battlestar_thumb.jpg" alt="battlestar"/></a>
                    <a href="basicForm2.php?value=4"><img src="img/space/enterprise_thumb.jpg" alt="enterprise"/></a>
                    <a href="basicForm2.php?value=5"><img src="img/space/millenium_thumb.jpg" alt="millenium"/></a>
                    <a href="basicForm2.php?value=6"><img src="img/space/integrity_thumb.jpg" alt="integrity"/></a>


        </div>
   <body>   



    </body>
</html>
>

そして2ページ目

<?php
session_start(); 
if(isset($_GET['value'])){ 
     $_SESSION['ship'] = $_GET['value'];
}
if(!isset($_SESSION['ship']))
      $_SESSION['ship'] = 1;


if(isset($_GET['add'])){ 
     $_SESSION['ship']++; 

}
if(isset($_GET['sub'])){ 
     $_SESSION['ship']--; 

}

?>
<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>ass6</title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->

       <link rel="stylesheet" href="main_del2.css" type="text/css"/>

    </head>

<body>  



</form> 
<?php
if ($_SESSION['ship']  > 6)
{
    $_SESSION['ship']  = 1; 
}
if ($_SESSION['ship']  < 1)
{
    $_SESSION['ship']  = 6; 
}
echo $_SESSION['ship'] 
?>
<a href="labb_del2_2.php"><h2> Spaceships </h2></a>
        <div id="imgcontainer">
            <form action="basicForm2.php" method="get"> 
<input type="submit" name="add" value="add" id="right"/> 
</form> 

<!--
<img src="fileDir2.php" alt="Image created by a PHP script" width="100" height="80">
-->
<form action="basicForm2.php" method="get"> 
<input type="submit"  name="sub" value="sub" id="left"/> 
                <?php


if ( $_SESSION['ship']  === 1 ) {
        echo "<img src=\"img/space/planetes.jpg\"/>";   }
    if ( $_SESSION['ship']  === 2 ) {
        echo "<img src=\"img/space/serenity.jpg\"/>";   }   
      if ( $_SESSION['ship']  === 3 ) {
        echo "<img src=\"img/space/battlestar.jpg\"/>"; }

if ( $_SESSION['ship']  === 4 ) {
    echo "<img src=\"img/space/enterprise.jpg\"/>"; }   
     if ( $_SESSION['ship']  === 5 ) {
            echo "<img src=\"img/space/millenium.jpg\"/>";  }
if ( $_SESSION['ship']  === 6 ) {
             echo "<img src=\"img/space/integrity.jpg\"/>"; }   
        ?>


        </div>

</html>
4

1 に答える 1

0

2 ページ目のパラメーター「値」を読み忘れています。

2 番目のページの冒頭で、次のようなことを行う必要があります。

if(isset($_GET['value'])){ 
     $_SESSION['ship'] = $_GET['value'];
}

また、最初のページの画像の html は次のようになります。

 <a href="basicForm2.php?value=1"><img src="img/space/serenity_thumb.jpg" alt="serenity"/></a>
 <a href="basicForm2.php?value=2"><img src="img/space/battlestar_thumb.jpg" alt="battlestar"/></a>
 <a href="basicForm2.php?value=3"><img src="img/space/enterprise_thumb.jpg" alt="enterprise"/></a>
 <a href="basicForm2.php?value=4"><img src="img/space/millenium_thumb.jpg" alt="millenium"/></a>
 <a href="basicForm2.php?value=5"><img src="img/space/integrity_thumb.jpg" alt="integrity"/></a>
 <a href="basicForm2.php?value=6"><img src="img/space/planetes_thumb.jpg" alt="planets"/></a>

また、2 ページ目のセッション割り当ては次のように修正する必要があります。

$_SESSION['ship'] = ((isset($_SESSION['ship'])) ? 
$_SESSION['ship'] : 1);    

「0」ではなく「1」

またはそれ以上:

 if(!isset($_SESSION['ship']))
      $_SESSION['ship'] = 1;

最後に、1 ページ目のコードの次の行は役に立たないため、削除できます。

$_SESSION['ship'] = 1;// this makes second page start with the first image (and I want that pic to be //the one that is clicked.
于 2013-07-25T13:34:16.113 に答える