質問編集履歴

4

2021/12/01 01:17

投稿

gujhufiugho
gujhufiugho

スコア245

test CHANGED
File without changes
test CHANGED
File without changes

3

提示した3つのコードにタイトル名を追加しました。

2021/12/01 01:17

投稿

gujhufiugho
gujhufiugho

スコア245

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  入力フォーム→確認表示画面→送信完了画面の3つで構成されています。
20
20
 
21
-
21
+ **入力フォームの最初の画面のコード(companyhp6form1.php)**
22
22
 
23
23
  ```php
24
24
 
@@ -312,7 +312,7 @@
312
312
 
313
313
  ```
314
314
 
315
- **●●●入力確認表示画面のPHP**
315
+ **●●●入力確認表示画面のPHP(companyhp6form2.php)**
316
316
 
317
317
  ```php
318
318
 
@@ -486,7 +486,7 @@
486
486
 
487
487
  ```
488
488
 
489
- **●●●PHPMailerを使った送信画面のコード**
489
+ **●●●PHPMailerを使った送信画面のコード(companyhp6form3.php)**
490
490
 
491
491
  ```php
492
492
 

2

PHPMailerを使った送信画面のコードを追加しました。

2021/11/30 10:13

投稿

gujhufiugho
gujhufiugho

スコア245

test CHANGED
File without changes
test CHANGED
@@ -485,3 +485,217 @@
485
485
  </html>
486
486
 
487
487
  ```
488
+
489
+ **●●●PHPMailerを使った送信画面のコード**
490
+
491
+ ```php
492
+
493
+ <?php
494
+
495
+
496
+
497
+ // PHPMailer クラスをネーム空間にインポート
498
+
499
+ use PHPMailer\PHPMailer\PHPMailer;
500
+
501
+ use PHPMailer\PHPMailer\SMTP;
502
+
503
+ use PHPMailer\PHPMailer\Exception;
504
+
505
+
506
+
507
+
508
+
509
+
510
+
511
+ require('PHPMailer/src/PHPMailer.php');
512
+
513
+ require('PHPMailer/src/Exception.php');
514
+
515
+ require('PHPMailer/src/SMTP.php');
516
+
517
+
518
+
519
+
520
+
521
+
522
+
523
+
524
+
525
+
526
+
527
+ // 入力内容の取得・変数に格納
528
+
529
+ session_start();
530
+
531
+
532
+
533
+
534
+
535
+ if(isset($_POST['token'], $_SESSION['token']) && ($_POST['token'] === $_SESSION['token'])){
536
+
537
+ unset($_SESSION['token']);
538
+
539
+
540
+
541
+ $name = $_SESSION['name'];
542
+
543
+ $furigana = $_SESSION['furigana'];
544
+
545
+
546
+
547
+ }
548
+
549
+ // メール日本語対応
550
+
551
+ mb_language("japanese");
552
+
553
+ mb_internal_encoding("UTF-8");
554
+
555
+
556
+
557
+ // インスタンス生成
558
+
559
+ $mail = new PHPMailer(true);
560
+
561
+
562
+
563
+ // 文字エンコードを指定
564
+
565
+ $mail->CharSet = 'utf-8';
566
+
567
+
568
+
569
+ try {
570
+
571
+ // デバッグ設定
572
+
573
+ // $mail->SMTPDebug = 2; // デバッグ出力を有効化(レベルを指定)
574
+
575
+ // $mail->Debugoutput = function($str, $level) {echo "debug level $level; message: $str<br>";};
576
+
577
+
578
+
579
+ // SMTPサーバの設定
580
+
581
+ $mail->isSMTP(); // SMTPの使用宣言
582
+
583
+ $mail->Host = '●●.com'; // SMTPサーバーを指定
584
+
585
+ $mail->SMTPAuth = true; // SMTP authenticationを有効化
586
+
587
+ $mail->Username = '■■@email.com'; // SMTPサーバーのユーザ名
588
+
589
+ $mail->Password = '????'; // SMTPサーバーのパスワード
590
+
591
+ $mail->SMTPSecure = 'ssl'; // 暗号化を有効(tls or ssl)無効の場合はfalse
592
+
593
+ $mail->Port = 465; // TCPポートを指定(tlsの場合は465や587)
594
+
595
+
596
+
597
+
598
+
599
+
600
+
601
+ // メール本体
602
+
603
+ $mail->setFrom('■■@email.com', 'sana'); // 送信元メールアドレスと名前
604
+
605
+
606
+
607
+
608
+
609
+
610
+
611
+ $mail->Body = "下記の情報を受け取りました。\n内容を確認し、こちらから折り返し、ライン又はメールアドレスにてご案内させて頂きます。\n\n";
612
+
613
+ $mail->Subject = mb_encode_mimeheader('会社');
614
+
615
+
616
+
617
+ $mail->Body .= "お名前:".$name."\n";
618
+
619
+ $mail->Body .= "フリガナ:".$furigana."\n";
620
+
621
+
622
+
623
+ // 送信
624
+
625
+ $mail->send();
626
+
627
+ echo '送信済み';
628
+
629
+ } catch (Exception $e) {
630
+
631
+ echo "送信失敗: {$mail->ErrorInfo}";
632
+
633
+ }
634
+
635
+ ?>
636
+
637
+
638
+
639
+
640
+
641
+ <!DOCTYPE html>
642
+
643
+
644
+
645
+ <html>
646
+
647
+
648
+
649
+ <head>
650
+
651
+ <meta content="text/html; charset=utf-8" />
652
+
653
+ <meta name="viewport" content="width=device-width, initial-scale=1">
654
+
655
+ <title>企業のホームページ お問い合わせ 送信後の画面</title>
656
+
657
+ <link rel="stylesheet" href="companyhp6form3.css">
658
+
659
+ <style type="text/css">
660
+
661
+
662
+
663
+ </style>
664
+
665
+
666
+
667
+
668
+
669
+ </head>
670
+
671
+
672
+
673
+ <body>
674
+
675
+
676
+
677
+
678
+
679
+ </body>
680
+
681
+
682
+
683
+ </html>
684
+
685
+
686
+
687
+
688
+
689
+
690
+
691
+
692
+
693
+
694
+
695
+
696
+
697
+
698
+
699
+
700
+
701
+ ```

1

入力フォーム→確認表示画面のPHPコードを追加しました。

2021/11/30 10:08

投稿

gujhufiugho
gujhufiugho

スコア245

test CHANGED
File without changes
test CHANGED
@@ -16,6 +16,10 @@
16
16
 
17
17
 
18
18
 
19
+ 入力フォーム→確認表示画面→送信完了画面の3つで構成されています。
20
+
21
+
22
+
19
23
  ```php
20
24
 
21
25
  <?php
@@ -54,6 +58,10 @@
54
58
 
55
59
 
56
60
 
61
+ $name = htmlspecialchars($name, ENT_QUOTES);
62
+
63
+ $furigana = htmlspecialchars($furigana, ENT_QUOTES);
64
+
57
65
 
58
66
 
59
67
  if(count($errors) === 0) {
@@ -303,3 +311,177 @@
303
311
  </html>
304
312
 
305
313
  ```
314
+
315
+ **●●●入力確認表示画面のPHP**
316
+
317
+ ```php
318
+
319
+ <?php
320
+
321
+ session_start();
322
+
323
+
324
+
325
+ if(isset($_SESSION['name'])){
326
+
327
+
328
+
329
+ $name = $_SESSION['name'];
330
+
331
+ $furigana = $_SESSION['furigana'];
332
+
333
+
334
+
335
+
336
+
337
+ $_SESSION['token'] = base64_encode(openssl_random_pseudo_bytes(48));
338
+
339
+
340
+
341
+ $token = htmlspecialchars($_SESSION['token'], ENT_QUOTES);
342
+
343
+
344
+
345
+ ?>
346
+
347
+
348
+
349
+
350
+
351
+ <!DOCTYPE html>
352
+
353
+
354
+
355
+ <html>
356
+
357
+
358
+
359
+ <head>
360
+
361
+ <meta content="text/html; charset=utf-8" />
362
+
363
+ <meta name="viewport" content="width=device-width, initial-scale=1">
364
+
365
+ <title>企業のホームページお問い合わせ入力確認画面</title>
366
+
367
+ <link rel="stylesheet" href="companyhp6form2.css">
368
+
369
+ <link rel="stylesheet" href="reset.css">
370
+
371
+
372
+
373
+
374
+
375
+ /* 申し込みボタンの位置 */
376
+
377
+
378
+
379
+ .auto-style1 {
380
+
381
+
382
+
383
+ text-align: center;
384
+
385
+
386
+
387
+ }
388
+
389
+
390
+
391
+ </style>
392
+
393
+
394
+
395
+
396
+
397
+ </head>
398
+
399
+
400
+
401
+ <body>
402
+
403
+
404
+
405
+ <form action ="companyhp6form3.php" method ="post">
406
+
407
+
408
+
409
+ <input type ="hidden" name ="token" value ="<?php echo $token ?>">
410
+
411
+
412
+
413
+ <div class="title">
414
+
415
+ <label class="title" for="title">お申し込み内容の確認</label>
416
+
417
+ </div>
418
+
419
+
420
+
421
+
422
+
423
+ <div class="row">
424
+
425
+ <label class="col-sm-2 control-label" for="name">名前:<small><?php echo $name; ?></small></label>
426
+
427
+ </div>
428
+
429
+ <p></p>
430
+
431
+ <p></p>
432
+
433
+ <p></p>
434
+
435
+ <div class="row">
436
+
437
+ <label class="col-sm-2 control-label" for="furigana">フリガナ:<small><?php echo $furigana; ?></small></label>
438
+
439
+ </div>
440
+
441
+
442
+
443
+
444
+
445
+
446
+
447
+
448
+
449
+ <div class="auto-style1">
450
+
451
+
452
+
453
+ <button type="submit" id="submit" name="submit" class="auto-style4">
454
+
455
+ 内容を確認して送信</button>
456
+
457
+ </div>
458
+
459
+
460
+
461
+
462
+
463
+ <div class="auto-style5"> <!--リンク文字中央配置のためのdiv-->
464
+
465
+ <p><a href="companyhp6form1.php"> &#9664;お申し込み内容を変更する</a></p>
466
+
467
+ </div><!--特殊記号三角&#9664;-->
468
+
469
+
470
+
471
+
472
+
473
+ </form>
474
+
475
+
476
+
477
+
478
+
479
+
480
+
481
+ </body>
482
+
483
+
484
+
485
+ </html>
486
+
487
+ ```