アプリ版:「スタンプのみでお礼する」機能のリリースについて

PHPで、画像ファイル(複数)のアップロードのスクリプトを作成しています。

アップロード用のフォームボタンはひとつです。1ファイルアップロードしたら、同じフォームに戻って次をアップロードして、最後に一覧表示で確認するというやり方です。

newfile.php(アップロード用のフォームボタン)

newfileconf.php(アップロードファイルの表示確認)

newfiledone.php(アップロードできました!のメッセージ(とアップロードファイル一覧表示用の配列取得))


買い物などで、商品を追加していくやり方などと似ているのではと思います。

セッション配列にファイル名を入れていけばできるはずだと思うのですが、最後の一覧表示用のセッション配列を取得するところ(newfiledone.php)だけがなぜだかうまくいきません。

アップロードじたいはうまくいっており、$imagefile(ファイル名)、$count も取れています。

単純ミスかもしれませんが、一晩ひっかかっています。わかる方いたら教えて下さい。


newfiledone.phpのコードは下記です。

<?php
/****************************************/
/* 写真の新規登録実行ページ */
/****************************************/

//共通データをインクルードします
require_once("photolibini.php");

session_start();


if( isset( $_SESSION[ "count" ] ) ) {

$_SESSION[ "count" ]++;

} else {

$_SESSION[ "count" ] = 1;
}


//前のページからデータを受け取る
$imagefile = $_POST[imagefile];
$cancel = $_POST[cancel];

if (isset($cancel)) {
//キャンセルボタンが押されたとき
//アップロードされた写真のファイルの実体を削除
unlink("$PHOTOTMP$imagefile");
//写真の新規登録ページへリダイレクト
header("Location: photonew.php");
exit();
}


$body = "登録を完了しました!";
//写真のファイルを一時保存先から最終保存先に移動
rename("$PHOTOTMP$imagefile", "$PHOTODIR$imagefile");


$body .= "<BR><BR>
<INPUT type='button' value='次の写真を登録' onclick='window.location=\"photonew.php\"'>
<INPUT type='button' value='ホームへ戻る' onclick='window.location=\"index.htm\"'>";

//カウンタの数字を配列に入れる
$count = $_SESSION[count];

//imagefileをセッション配列に入れる
$_SESSION['imagefile'][$count] = $imagefile;


//配列がうまくいっているかどうか試しに表示してみる
foreach ( $_SESSION['imagefile'] as $count => $value ){

echo $value."<br />\n";
}



//ページヘッダを出力します
print htmlheader("写真の新規登録実行");
//ページ本文を出力します


print $body;
//ページフッタを出力します
print htmlfooter();

?>

A 回答 (1件)

session_start();は最初に記述しなければいけません。



<?php
session_start();

require_once("photolibini.php");

if( isset( $_SESSION[ "count" ] ) ) {

$_SESSION[ "count" ]++;

} else {

$_SESSION[ "count" ] = 1;
}

---以下省略---
?>
    • good
    • 0
この回答へのお礼

。。。できました。

ありがとうございました!

お礼日時:2011/06/12 09:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!