質問するログイン新規登録

質問編集履歴

2

一部誤解される表現がありました

2021/09/02 07:47

投稿

bajapan
bajapan

スコア9

title CHANGED
File without changes
body CHANGED
@@ -1,33 +1,25 @@
1
1
  PHPでimagesフォルダ内の画像をforeachで繰り返し並べて、クリックすると同じ画像がポップアップするようにしたいのですが、ポップアップとして表示される部分で変数が反映されません。
2
2
 
3
- ```ここに言語を入力
3
+ ```HTML
4
4
  <?php
5
- $targetDir="./images"; //使いたい画像が入ったフォルダ
5
+ $targetDir="./postedimages";
6
6
  $imageFiles = glob($targetDir. DIRECTORY_SEPARATOR . "*.png");
7
7
 
8
- foreach($imageFiles as $i){//images内の.pngファイル数の分繰り返し
8
+ foreach($imageFiles as $i){
9
9
  ?>
10
10
  <label class="open" for="pop-up">
11
11
  <?php
12
- printf($i); //変数は反映され、images内のファイル名が上から順に表示される
13
- printf("<img src='%s' class='clickimage'>",$i); //ファイル名が反映され、画像が表示され
12
+ printf("<img src='%s' class='clickimg'>",$i); //ファイル名が反映される
14
- $x=$i;
13
+
15
14
  ?>
16
15
  </label>
17
16
  <input type="checkbox" id="pop-up">
18
- <?php printf($i);//ここまで反映される?>
19
17
  <div class="overlay">
20
- <?php printf($i);//この値はどこにも表示されない?>
21
18
  <div class="window">
22
- <?php printf($i);//ここから反映されず全てファイルの一番上のものが表示される?>
23
19
  <label class="close" for="pop-up">×</label>
24
20
  <div>
25
21
  <?php
26
- $x=$y;
27
- printf("<div><p class='text'><img src='$i' class='popimage'></p></div>"); //反映されすどの画像をクリックしてもファイルの一番上の画像がポップアップとして表示される
22
+ printf("<div><p class='text'><img src='$i' class='popimage'></p></div>"); //反映されない
28
- printf("<div>$i</div>"); //反映されない
29
- printf("<div>$x</div>"); //反映される時点で別変数$x=$iをしたが反映されない
30
- printf("<div>$y</div>"); //反映されない時点の行で$y=$iをしても同様に反映されない
31
23
  ?>
32
24
  </div>
33
25
  ポップアップ時のテキスト
@@ -39,4 +31,64 @@
39
31
  ?>
40
32
  ```
41
33
 
34
+ ```CSS
35
+ .open {
36
+ cursor: pointer;
37
+ }
38
+ #pop-up {
39
+ display: none;
40
+ }
41
+ .overlay {
42
+ display: none;
43
+ }
44
+ #pop-up:checked + .overlay {
45
+ display: block;
46
+ z-index: 9999;
47
+ background-color: #00000070;
48
+ position: fixed;
49
+ width: 100%;
50
+ height: 100vh;
51
+ top: 0;
52
+ left: 0;
53
+ }
54
+ .window {
55
+ width: 70%;
56
+ max-width: 500px;
57
+ height: 70%;
58
+ background-color: #ffffff;
59
+ border-radius: 6px;
60
+ display: flex;
61
+ justify-content: center;
62
+ align-items: center;
63
+ position: fixed;
64
+ top: 50%;
65
+ left: 50%;
66
+ transform: translate(-50%, -50%);
67
+ }
68
+ .text {
69
+ font-size: 18px;
70
+ margin: 0;
71
+ }
72
+ .close {
73
+ cursor: pointer;
74
+ position: absolute;
75
+ top: 4px;
76
+ right: 4px;
77
+ font-size: 20px;
78
+ }
79
+
80
+ .popimage {
81
+ width: 70%;
82
+
83
+ height: 70%;
84
+ }
85
+
86
+ ```
87
+
42
- 初心者ですので初歩的なミスかもしれませんが、教えていただけると幸いです。
88
+ 初心者ですので初歩的なミスかもしれませんが、教えていただけると幸いです。
89
+
90
+ 追記:HMMLを実際に描きたいコードのみにして、CSSも書き出しました
91
+ 例えばimagesフォルダ内に「a.png,b.png,c.png,d.png」の順に画像ファイルがあったとして、ページ内ではa.pngからd.pngまで順に表示されるのに対し、ポップアップを見るとどの画像をクリックしてもa.pngが表示されてしまうといった状況です。
92
+ id="pop-up"が一度しか使えないのに複数回使用していることが原因でしょうか
93
+ しかしclass="pop-up"としてcss内の#pop-upも.pop-upに変更したところ、ポップアップ自体が出なくなってしまいます。
94
+ javascriptは使用していません

1

一部わかりにくい表現がありました

2021/09/02 07:47

投稿

bajapan
bajapan

スコア9

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- PHPでimagesフォルダ内の画像をforeachで繰り返し並べて、クリックすると同じ画像がポップアップするようにしたいのですが、反映されません。
1
+ PHPでimagesフォルダ内の画像をforeachで繰り返し並べて、クリックすると同じ画像がポップアップするようにしたいのですが、ポップアップとして表示される部分で変数が反映されません。
2
2
 
3
3
  ```ここに言語を入力
4
4
  <?php