- ベストアンサー
【送信】ボタンが無反応!?
- いつも大変お世話になり誠にありがとうございます。標記の件。色々と試みましたが、何も反応しません。
- MySQLに登録して、「送信完了しました。ありがとうございます。」と出したいのですが、何も反応しません。
- すみません。どうしても、無反応です。困っています。教えてください。どうぞ宜しくお願い申し上げます。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
blog_create.phpに<form>タグがないからではないでしょうか。
その他の回答 (3)
- AsarKingChang
- ベストアンサー率46% (3467/7474)
あと1点。元々書式エラーでどうでもいい事だが、 mb_substr(0,$name),mb_substr(0,$title),mb_substr(0,$category),mb_substr(0,$content), これ。 前にもプロト書いてますが。 mb_substr( string $string, int $start, ?int $length = null, ?string $encoding = null ): string https://www.php.net/manual/ja/function.mb-substr.php って事で、プロト確認を! ただ、コピペを多用するようになったのは、感じますよ! 動く部分をコピペして、動かない物を量産しないようにすればOK では!ファイト!
- AsarKingChang
- ベストアンサー率46% (3467/7474)
あ、ただし。余計なソースをいれずに シンプルに書くってことは、勉強したようなのでそこは いいことです!。 あなた自身も目の前ではっきりわかるようになって 逆に楽になったはず!。 はっきりいって、まだフレームワークを使える 時期じゃないので、今はこんな感じの 練習ソースの方がいいでしょうけど。 もうちょいしたら、教科書式にしたほうがいいかもです。 例えば 「貴方の名前は<?= $name ?>です。」 みたいに、HTMLの中に必要な部分だけをPHPにすることで、 HTMLとして見た場合にすっきりします。 なお、今書いてるコードは 非常に危険なコードばっかりなので公開はしない方がいいでしょうね。 初心者の人でも簡単にDatabase吹っ飛ばせる内容になってるので。 あくまで、実験としては、全然OKだと思います。 ちなみ、Webとして考えてるなら、考え方逆だからね!。 集客してから機能を追加すればいいのですよ。 飲食店で、客が来る前にオーダー取れないでしょ?って事。 一番やっちゃいけないのが、 「客目線じゃなく、自分目線で=これをやりたいから!」 っていうのを客に押し付けることでしょうね。 これで失敗してる。クリエイターは多いと思う。 (ここは、今回の件とは別ですけどね)
- AsarKingChang
- ベストアンサー率46% (3467/7474)
>どうしても、無反応です。 >困っています。 貴方以上に、言語の方が困ってるかもね。 <?php try{ $db = new PDO('mysql:dbname=blog_app;host=localhost;charset=utf8','root'); $count = $db->exec('INSERT blog (id ,name,title ,category ,content , post_at=timestamp()'); ( $_POST['id'] ,mb_substr(0,$name),mb_substr(0,$title),mb_substr(0,$category),mb_substr(0,$content), post_at=timestamp()'); echo $count . "件のデータを登録しました!"; } catch(PDOException $e){ echo 'DB接続エラー' . $e->getMessage(); } ?> ここ、デバッグで追ってみ? それと、毎回そうだけど、勝手に作り出した書式で 動かないって騒ぐのはそろそろやめたら? ついでに、 書式のチェックはした? エラーログ見た? トレースした? 全部やってないでしょ? やったのは、「うごかな~い」って騒いだことだけ! それと、動く動かない以前に見た時、 結果はわからないが動くか動かないかは、 パーサー通す前にわかるようになってから、 コーディングしたほうがいいんじゃない? なお、今回の「も」低レベルな問題すぎるが、 教えてくれるツールはすでに回答済み おまけだが、直INSERTの帰り値取る意味はないぞ $count = $db->exec('INSERT 略 エラーがあったか?だけでいい。 echo $count . "件のデータを登録しました!"; 今から、投稿する!って画面の帰り値が「何件」?って 気持ち悪いでしょ。 BBSで、何件って表記は「読み取る側」の文言でしょ。 書き込む側は、常に「1」なんだし、 人間が書いた文字に対して、「データ」という表記も失礼だね。 「投稿されました」でいいんじゃないの?