目的:画像ファイルを指定のフォルダにアップロードさせ、その他フォームで入力した情報をローカルサーバーにアップロードする。
困っている点:画像と入力情報がアップロードされていない。
考察:画像がアップロードされると、「〜をアップロードしました」と、メッセージが出るようになっているのですが、全く表示されません。したがって、そもそも、データを送信することしたいができていないのではないかと考えています。(記述ミス?)
使用言語
- php
- html
- css
- sql
php
1<?php 2require_once('data.php'); 3require_once('photo.php'); 4 5 //********************************************************** 6 // * fileupload.php 7 // * FileUpLoad 8 //********************************************************** 9//最初に受け取るパラーメータや使用する変数を記述しておきましょう。 10session_start(); 11$img = ""; 12 13//FileUpload処理 14if (!isset($_FILES['upfile']['error']) || !is_int($_FILES['upfile']['error']) || !isset($_POST["file_upload_flg"]) || $_POST["file_upload_flg"]!="1") { 15 //echo 'パラメータが不正です'; 16}else{ 17 $username = $_POST["username"]; 18 $viewname = $_POST["viewname"]; 19 $place = $_POST["place"]; 20 $comment = $_POST["comment"]; 21 $file_name = $_FILES["upfile"]["name"];//".jpg"ファイル名を取得 22 $extension = pathinfo($file_name, PATHINFO_EXTENSION);//拡張子取得 23 $tmp_path = $_FILES["upfile"]["tmp_name"]; 24 //アップロード先のTemp名作成 25 $uniq_name = date("YmdHis").session_id() . "." . $extension; //ユニークファイル名作成 26 27 // FileUpload [--Start--] 28 if ( is_uploaded_file( $tmp_path ) ) { 29 if ( move_uploaded_file( $tmp_path, "upload_photo/".$uniq_name ) ) { 30 chmod( "upload_photo/".$uniq_name, 0644 ); 31 echo $uniq_name."をアップロードしました。"; 32 $img = '<img src="upload_photo/'.$uniq_name.'" >'; 33 34 //1. 接続します 35 $pdo = new PDO('mysql:dbname=view;host=localhost', 'root', '****'); 36 //2.DB文字コード指定 37 $stmt = $pdo->query('SET NAMES utf8'); 38 //3.データ登録SQL作成 39 $stmt = $pdo->prepare("INSERT INTO photoalbum(id, username,viewname,place,img,comment,input_date)VALUES(NULL,:username,:viewname,:place,:img,:comment,sysdate())"); 40 $stmt->bindValue(':username', $username); 41 $stmt->bindValue(':viewname', $viewname); 42 $stmt->bindValue(':place', $place); 43 $stmt->bindValue(':img', "upload_photo/".$uniq_name); 44 $stmt->bindValue(':comment', $comment); 45 $status = $stmt->execute(); 46 if($status==false){ 47 echo "SQLエラー"; 48 exit; 49 }else{ 50 echo "登録完了!"; 51 } 52 53 } else { 54 echo "Error:アップロードできませんでした。"; 55 } 56 } 57 // FileUpLoad[--End--] 58} 59?> 60 61<!DOCTYPE html> 62<html lang="ja"> 63<head> 64<meta charset="utf-8"> 65<meta http-equiv="X-UA-Compatible" content="IE=edge"> 66<meta name="viewport" content="width=device-width, initial-scale=1"> 67<title>写真アップロード</title> 68<link rel="stylesheet" type="text/css" href="stylesheet.css"> 69<link rel="stylesheet" type="text/css" href="reset.css"> 70 71<body id="main"> 72<!-- Head[Start] --> 73<header> 74 <p id="title"><a href="index.html">BEST VIEW</a></p> 75 <nav> 76 <ul id="gnavi" class="clearfix"> 77 <li><a href="company.html">企業情報</a></li> 78 <li><a href="news.html">ニュース・インフォ</a></li> 79 <li><a href="service.html">サービス</a></li> 80 <li><a href="recruit.html">採用情報</a></li> 81 <li><a href="ir.html">投資家情報</a></li> 82 </ul> 83 </nav> 84</header> 85<!-- Head[End] --> 86 87<!-- Main[Start] --> 88<div id="wrap"> 89 <h1>アップロード</h1> 90 <p class="text-center">以下に必要項目を記入し、画像をアップロードしてください!</p> 91 <form method="post" action="data_input.php" enctype="multipart/form-data" id="send_file"> 92 <dl> 93 <dt>景色の種類を選択してください!<span class="required-item">必須</span></dt> 94 <dd> 95 <select id="viewname" name="viewname"> 96 <?php foreach($photos as $photo): ?> 97 <option><?php echo $photo->getPhotoname() ?></option> 98 <?php endforeach ?> 99 </select> 100 </dd> 101 <dt>ユーザー名を入力してください</dt> 102 <dd><input type="text" id="username" name="username"></dd> 103 <dt>場所の名前を入力してください</dt> 104 <dd><input type="text" id="place" name="place"></dd> 105 <dt>写真の感想をお書きください!</dt> 106 <dd><textarea id="comment" name="comment"></textarea></dd> 107 <dt>カメラ/写真選択</dt> 108 <dd><input type="file" accept="image/*" capture="camera" id="image_file" value="" name="upfile" style="opacity:10;"></dd> 109 <dt>Fileアップロード</dt> 110 <dd><input type="submit" value="アップロード"></dd> 111 </dl> 112 <input type="hidden" name="file_upload_flg" value="1"> 113 </form> 114 115 <div class="back-to-top"> 116 <a href="index.php">← TOP</a> 117 </div> 118 119</div> 120<!-- Main[End] --> 121 122<footer id="contact"> 123 <h3>CONTACT</h3> 124 <ul> 125 <li><a href="#">プライバシーポリシー</a></li> 126 <li><a href="#">サイトご利用方法</a></li> 127 <li><a href="#">免責事項</a></li> 128 <li><a href="#">アクセス</a></li> 129 <li><a href="#"1>お問い合わせ</a></li> 130 </ul> 131 <p id="copyright">©︎2017 schoo Inc. AA Rights Reserved.</p> 132</footer> 133 134</body> 135</html> 136
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/28 00:35
2017/05/28 00:40
2017/05/29 12:07