こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

投稿サイトをサクッと作りたい

http://webeg.info/php-course/step3-030/のログイン画面をログインして、投稿サイトを作りたいのですが、
ログイン情報はどこで定義してなんというものになっているのでしょうか?
空にして

もログインできません。

投稿部分だけが欲しいのですが、ログインしないと作れないようです。

もちろんもっと簡単に投稿サイトが作れる情報があればそれでも構いません。

CREATE TABLE `users` (
`user_id` int(11) NOT NULL COMMENT '通しID',
`user_loginid` varchar(20) NOT NULL COMMENT 'ログインID',
`user_password` varchar(100) NOT NULL COMMENT 'パスワード',
`user_updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新日時',
`user_created` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '作成日時'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='管理画面ユーザー';
ALTER TABLE `users`
ADD PRIMARY KEY (`user_id`);
ALTER TABLE `users`
MODIFY `user_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '通しID', AUTO_INCREMENT=1;

アカウントの追加


を実行しただけなのでPW、IDは空と考えてよいでしょうか?


パスワードの所には長さ100とコメントパスワードとしか記載がないのですがdbではどこにpwを入れるのですか?
この場合は空と考えるべきでしょうか?



投稿サイトをサクッと作りたいだけなのですが、もっと簡単に作る方法はないのでしょうか?

投稿日時 - 2017-10-01 14:08:08

QNo.9380923

すぐに回答ほしいです

質問者が選んだベストアンサー

こちらのページ(http://webeg.info/php-course/)のステップ1から読むと、XAMPPで開発環境を作るとあります。
また、 phpMyAdmin についての記載もあります。
質問者さんが提示されたページにも phpMyAdminの記載がありますね。

ということで、アカウントの管理はphpMyAdminで行うようです。

> を実行しただけなのでPW、IDは空と考えてよいでしょうか?
はい。CREATE TABLE してから ALTER TABLEでテーブルの設定を変更しているだけですので、この段階ではテーブルは空です。

> もっと簡単に作る方法はないのでしょうか?
ご紹介のページのステップ1から学習してはいかがでしょう。
それなりに優しく説明しているようですよ。

投稿日時 - 2017-10-01 21:50:32

お礼

ありがとうございます。
ただログイン画面をからのままログインしてもログインできません。

またこちら投稿機能だけほしいのに他の機能もついてしまいます

投稿日時 - 2017-10-01 23:06:17

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

投稿記事が格納されるテーブル「posts」の構造が、次のURLの一番最後のCREATE文の通りだとすると、お示しになられた処理で登録できると思います。

http://webeg.info/php-course/step2-060/

ですが、これだと誰が投稿したのか判別不能ですね。
そのような仕様で良いのでしょうか?

投稿日時 - 2017-10-02 14:58:06

ANo.3

> それではログインが始めからできないのでしょうか。
> できない作りなのでしょうか?

一番最初のご質問に記載されたURLに「アカウントの追加」という見出しで、phpMyAdminを使って管理画面用アカウントを作成する説明があります。

この手順でアカウントを作成した後、その次の見出し「プログラムの修正」を行うことでログインができるようになるはずです。

投稿日時 - 2017-10-02 09:58:32

お礼

下記でpostで受け取ったデータを下記でdbのtableに挿入しているようなので、この部分のみ切り取って、投稿するソースが前にあったのでこれを足せば簡易な投稿サイトが出来ないのでしょうか?

// データベースへ保存
try {
$db->beginTransaction();
$stmt = $db->prepare("INSERT INTO posts (post_title, post_content, post_created) VALUES (?, ?, NOW())");
$stmt->execute(array($request["post_title"], $request["post_content"]));
$db->commit();

投稿日時 - 2017-10-02 11:19:30

ANo.2

> ただログイン画面をからのままログインしてもログインできません。

ログイン画面でユーザIDとパスワードを空のままでログインできない理由は、
null(空のデータ)のユーザIDとパスワードがテーブルに登録されてないからです。
登録されてないというよりは、登録できないというべきでしょうか。
nullデータを登録できない理由は、CREATE TABLEで作成した際に、それぞれの項目にNOT NULL属性を与えていますし、user_id項目がPRIMARY KEY(主キー)指定されているためです。
DBを使う上のルールとして、PRIMARY KEYを指定した項目はnullを許可できません。

> またこちら投稿機能だけほしいのに他の機能もついてしまいます

PHPのソースコードを見ていませんが、作者は簡易ブログとして公開しているようです。
簡易ブログですので、1名または少人数で利用する想定だと思います。
よって、IDとパスワードを知っている人のみ投稿できる仕組みにしているのでしょう。

このように設計されているプログラムから、質問者さんのほしい機能だけ抜き出すのは大変だと思います。
それこそPHPの基礎から勉強しないと難しいのではないでしょうか。

投稿日時 - 2017-10-01 23:51:05

お礼

それではログインが始めからできないのでしょうか。
できない作りなのでしょうか?
すると投稿サイトも作れないのでしょうか?

投稿機能を加えたくてやってきたのですが、不可能なら別サイトを探さないといけないのですね。

何処かご存知ないでしょうか?

投稿日時 - 2017-10-02 08:40:10