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

度々初歩的な質問ですみません。
いろんなソースコードを参考にして、チャットにパソコン内から画像をアップする
(mysqlに保存する)ことをやっているのですが、拡張子の取得でのエラーが出てうまくいきません。

if($sUp == "アップロード"){
$img_path = $_FILES['uploadfile']['tmp_name'] ; //ローカル内画像リンク
$img_file = file_get_contents($img_path); //画像の取得
$ext = ""; //$extを初期化
$ext = pathinfo($img_path,PATHINFO_EXTENSION);
$sUp = $img_file;
}
//チャットデータの書き込み
$sql="insert into chat_tbl(id,handle,message,dateTime,up,ext) values(null,?,?,null,?,?)";

$sql='select * from chat_tbl order by dateTime desc;'; //データベースのレコードを後ろから前に向かって読み込んでいます。
$stmt=$dbh->prepare($sql);
$stmt->bindValue(1,$sHandle);
$stmt->bindValue(2,$sMsg);
$stmt->bindValue(3,$sUp);
$stmt->bindValue(4,$ext);
$stmt->execute();

if(!$dbh->query($sql)){
echo "チャットデータの書き込みに失敗しました。<br>\n";
exit();
}

-----------------------------------------------
で、Notice: Undefined variable: ext in C:\xampp\htdocs\chat\chat.php on line 69
というエラーが出てしまいます。
69行目は $stmt->bindValue(4,$ext);
です。
調べたらこのエラーが出たら変数を初期化したら消えるということだったのでやってみましたが
変わりません。どうしたらよいでしょうか?
他にもおかしいところなどありましたらよろしくお願いいたします。

質問者からの補足コメント

  • yambejpさん!! わかりました!!

    >$sHandleや$sMsgはどこからやってきてる?

    $extの初期化もこれと同じところに書いたらなんかエラーでなくなりました!
    画像の保存も無事に出来ました!
    ほんとにいつも良いヒントをくださってどうもありがとうございます!大変感謝です。

    たびたびお手数おかけしますが、また何かありましたらどうぞよろしくお願いいたします!

    No.1の回答に寄せられた補足コメントです。 補足日時:2015/10/26 14:14

A 回答 (1件)

$sHandleや$sMsgはどこからやってきてる?


$sqlはinsert後なにも処理せずにすぐにselectしているけど意味あるの?
この回答への補足あり
    • good
    • 0
この回答へのお礼

yambejpさん、いつも教えてくださりどうもありがとうございます!

>$sHandleや$sMsgはどこからやってきてる?

if(isset($_POST['fHandle'])) $sHandle=$_POST['fHandle']; else $sHandle=""; //ハンドルネームを受け取る
if(isset($_POST['fMsg'])) $sMsg=$_POST['fMsg']; else $sMsg=""; //メッセージを受け取る。//
if(isset($_POST['fIn'])) $sIn=$_POST['fIn']; else $sIn=""; //最初のログイン時のパラメータ「logIn」を受け取る。//
if(isset($_POST['fSub2'])) $sSub2=$_POST['fSub2']; else $sSub2=""; //退室ボタンの情報を受け取る。//
if(isset($_POST['fUp'])) $sUp=$_POST['fUp']; else $sUp=""; //画像ファイルの受け取り

入力文字数が足りないのでこの部分だけコピペしました。

>$sqlはinsert後なにも処理せずにすぐにselectしているけど意味あるの?

す、すみません!!あっちこっちやり直してるうちに変なことになってたのに、ちゃんと確かめずにここに貼りつけてしまいました!(お恥ずかしいです)大変失礼しました。

お礼日時:2015/10/26 13:54

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