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

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

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

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

Q&A

解決済

1回答

461閲覧

PHP ツイート情報をデータベースに入れたいです。。

shos3

総合スコア15

PHP

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

0グッド

0クリップ

投稿2021/09/22 06:58

編集2021/09/22 07:18

phpで、ユーザーが投稿したのをデーターベースに入れ、それを表示させたいのですがデータベースに入らないので助けていただきたいです。

どうかお願いします。

inputphp

1<?php 2session_start(); 3require('../dbconnect.php'); 4 5if ($_POST['memo'] == '') { 6 $error['memo'] = 'blank'; 7} 8 9 if (isset($_SESSION['id']) && $_SESSION['time'] + 3600 > time()) { 10 $_SESSION['time'] = time(); 11 $users = $db->prepare('SELECT * FROM users WHERE id=?'); 12 $users->execute(array($_SESSION['id'])); 13 $user = $users->fetch(); 14 } else { 15 header('Location: login.php'); exit(); 16 } 17 18 19if (!empty($_POST)) { 20 if ($_POST['memo'] != '') { 21 $memo = $db->prepare('INSERT INTO memos SET user_id=?, memo=?, created_at=NOW()'); 22 $memo->execute(array( 23 $user['id'], 24 $_POST['memo'] 25 )); 26 header('Location: tweet.php'); exit(); 27 } 28} 29?> 30 31 32form action="tweet.php" method="post"> 33 <dl> 34 <dt> 35 <div class="msg"> 36 <?php echo htmlspecialchars($user['image'], ENT_QUOTES); ?> 37 <?php echo htmlspecialchars($user['name'], ENT_QUOTES); ?>さん、投稿をしてください!</dt> 38 <dd> 39 <textarea name="memo" cols="50" rows="5" placeholder="自由に入力してください" required></textarea> 40   <button type="submit">投稿する</button> 41 42 <?php if ($error['memo'] == 'blank'): ?> 43 <p class="error">空投稿はできません</p> 44 <?php endif; ?> 45 </dd> 46 </dl> 47 <div> 48 49 </div> 50 </form>
データベース (users) id name email password picture created modified  (memos) id memo user_id reply_post_id created_at modified

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

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

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

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

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

m.ts10806

2021/09/22 07:11

テーブル定義はcreate文の形で提示してください。手入力は避け、コピペを。
shos3

2021/09/22 07:21

ご回答ありがとうございます。 phpが全然理解できていないこともありまして、、$useでユーザ情報を持ってくるようにしようとしたのですが、記述が違っていますでしょうか?
m.ts10806

2021/09/22 07:43

createわからない方は下記 https://dev.mysql.com/doc/refman/5.6/ja/create-table.html テーブル作ったときに実行されるSQLです。 どのように環境作られたか分からないですが、phpMyAdmin利用されてる場合はエクスポート機能で取得できます。 >$useでユーザ情報を持ってくるようにしようとしたのですが 持ってこれているかデバッグしてみましたか? デバッガをツールとして導入するのが良ですがひとまずvar_dumpで。 ただ必要なのがidだけならわざわざselectせずともセッションの値を使えば良いと思いますが。
shos3

2021/09/22 07:51

ご回答ありがとうございます。 エラー文を出してみるとデータベースと繋がっていない様でしたので確認してみます。 多くの情報をいただきありがとうございます!
guest

回答1

0

ベストアンサー

コードが半端なのでなんとも言えませんが、 $userってどこから来てますか?

あと、エラーハンドリングすると問題も可視化されてくると思います。

ただ、いずれにしても実行直後にLocationで飛ばしては状況見えないので同作確認できるまでは外しておいたほうが良いと思います。

※蛇足ですが、insert-setはMySQLでしか見られない書き方なのでやめたほうが良いです

投稿2021/09/22 07:10

m.ts10806

総合スコア80875

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問