質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

1回答

2055閲覧

以下のソースでエラーが出ているようです

chNOBUNAGA

総合スコア41

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2016/07/09 09:12

PHP

1<?php 2global $create_error; 3$create_error = array(); 4function _my_create_project(){ 5$option1=$_POST['option1']; 6$option2=$_POST['option2']; 7$option3=$_POST['option3']; 8$option4=$_POST['option4']; 9$option5=$_POST['option5']; 10$option6=$_POST['option6']; 11$option7=$_POST['option7']; 12$option8=$_POST['option8']; 13$option9=$_POST['option9']; 14$option10=$_POST['option10']; 15 global $create_error; 16 if( 17 is_page('create-project') 18 && 19 is_user_logged_in() 20 && 21 isset($_POST['_wpnonce']) 22 && 23 wp_verify_nonce($_POST['_wpnonce'], 'create_project'); 24 ){ 25 if(!isset($_POST['title']) || empty($_POST['title'])){ 26 $create_error[] = 'プロジェクト名が入力されていません。'; 27 } 28 if(!isset($_POST['price']) || empty($_POST['price'])){ 29 $create_error[] = '予算が入力されていません。'; 30 } 31 if(!isset($_POST['delivery']) || empty($_POST['delivery'])){ 32 $create_error[] = '納期が指定されていません。'; 33 } 34 if (isset($_FILES['image']['error']) && is_int($_FILES['image']['error'])) { 35 if (!$_FILES['image']['error']) { 36 if ($_FILES['image']['size'] > 1000000) { 37 $create_error[] = 'ファイルサイズが大きすぎます。'; 38 } 39 $imageInfo = getimagesize($_FILES['image']['tmp_name']); 40 list($orig_width, $orig_height, $image_type) = $imageInfo; 41 if ($imageInfo === false) { 42 $create_error[] = '画像ファイルではありません。'; 43 } else { 44 $ext = substr($_FILES['image']['name'], strrpos($_FILES['image']['name'], '.') + 1); 45 if (false === $ext = array_search( 46 $imageInfo['mime'],array( 47 'jpg' => 'image/jpeg', 48 'png' => 'image/png', 49 'gif' => 'image/gif', 50 ),true 51 )) {$create_error[] = '画像形式が未対応です。';} 52 } 53 $user = wp_get_current_user(); 54 $upload_dir = wp_upload_dir(); 55 $image_url = $upload_dir['path'] . '/'. $user->get('user_login').'-'. date(YmdHis) .'.'. $ext; 56 if (!move_uploaded_file($_FILES['image']['tmp_name'],$image_url)) { 57 $create_error[] = 'ファイル保存時にエラーが発生しました。'; 58 } 59 } else { 60 $create_error[] = 'ファイルが選択されていません。'; 61 } 62 } 63 //エラーが無かったら投稿を追加 64 if(empty($create_error)){ 65 $content = "<p>1</p><p>".(string)htmlspecialchars($_POST['project-type'])."</p><p>目安予算</p><p>".(string)htmlspecialchars($_POST['price'])."円</p><p>希望納期</p><p>". 66 (string)htmlspecialchars($_POST['delivery'])."</p><p>オプション</p>"; 67 foreach($_POST['option'] as $value){ 68 $content .= "<p>".htmlspecialchars($value)."</p>"; 69 } 70 $post_id = wp_insert_post(array( 71 'post_title' => (string)htmlspecialchars($_POST['title']), 72 'post_content' => $content, 73 'post_status' => 'publish', 74 'post_author' => get_current_user_id(), 75 'post_type' => 'abcc', 76 'post_category' => $option1.','.$option2.','.$option3.','.$option4.','.$option5.','.$option6.','.$option7.','.$option8.','.$option9.','.$option10,), true); 77 $image_data = file_get_contents($image_url); 78 $filename = basename($image_url); 79 if(wp_mkdir_p($upload_dir['path'])) 80 $file = $upload_dir['path'] . '/' . $filename; 81 else 82 $file = $upload_dir['basedir'] . '/' . $filename; 83 file_put_contents($file, $image_data); 84 $wp_filetype = wp_check_filetype($filename, null ); 85 $attachment = array( 86 'post_mime_type' => $wp_filetype['type'], 87 'post_title' => sanitize_file_name($filename), 88 'post_content' => '', 89 'post_status' => 'inherit' 90 ); 91 $attach_id = wp_insert_attachment( $attachment, $file, $post_id ); 92 require_once(ABSPATH . 'wp-admin/includes/image.php'); 93 $attach_data = wp_generate_attachment_metadata( $attach_id, $file ); 94 wp_update_attachment_metadata( $attach_id, $attach_data ); 95 set_post_thumbnail( $post_id, $attach_id ); 96 //データの挿入に成功していたら移動 97 if(!is_wp_error($post_id)){ 98 99 //ページを移動 100 header('Location: '.get_permalink($post_id)); 101 die(); 102 }else{ 103 $create_error[] = 'エラーが発生しました'.$post_id->get_error_message(); 104 } 105 } 106 } 107} 108add_action('template_redirect', '_my_create_project'); 109 110function show_error(){ 111 global $create_error; 112 if(!empty($create_error)){ 113 echo '<div id="error">'; 114 echo implode('<br />', $create_error); 115 echo '</div>'; 116 } 117} 118?>

なぜでしょう。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/07/09 09:17

エラーが出ているのか出ていないのか、明示してください。
yryuu

2016/07/09 09:35

エラー文言を全て教えていただけませんか
chNOBUNAGA

2016/07/09 10:04

エラーは表示していません、wordpressなので
guest

回答1

0

とりあえず一か所わかったのは23行目にセミコロンがあるのが原因です。

PHP

1 wp_verify_nonce($_POST['_wpnonce'], 'create_project');

投稿2016/07/11 01:24

ttyp03

総合スコア16998

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問