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

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

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

HTTPにおけるCookieとは、クライアントのウェブブラウザ上に保存された一時的なデータを指します。クライアント側のJavaScriptでも、サーバー側のHTTPヘッダーでもクッキーの読み書き・修正・削除が可能です。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

PHP

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

DB2

DB2(IBM Database2)は、IBMのリレーショナルデータベース管理システム製品です。 UNIXとWindows、IBM社のメインフレームOS用が用意されており、 幅広いプラットフォームに対応しています。

Q&A

解決済

1回答

2797閲覧

よくわかるPHPの教科書での掲示板作成について

ko-ya

総合スコア11

Cookie

HTTPにおけるCookieとは、クライアントのウェブブラウザ上に保存された一時的なデータを指します。クライアント側のJavaScriptでも、サーバー側のHTTPヘッダーでもクッキーの読み書き・修正・削除が可能です。

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

PHP

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

DB2

DB2(IBM Database2)は、IBMのリレーショナルデータベース管理システム製品です。 UNIXとWindows、IBM社のメインフレームOS用が用意されており、 幅広いプラットフォームに対応しています。

0グッド

1クリップ

投稿2019/09/02 03:14

前提・実現したいこと

PHPのMAMPでよくわかるPHPの教科書(PHP7対応)を参考に一言掲示板を作成しています。
全く同じコードを書いているのに、

発生している問題・エラーメッセージ

<?php require('dbconnect.php'); session_start(); if($_COOKIE['email'] != '') { //7 $_POST['email'] = $_COOKIE['email']; //cookieにログイン情報が保存された状態 $_POST['password'] = $_COOKIE['password']; //$_COOKIE変数に各情報が保管されることになる。 $_POST['save'] = 'on'; //自動ログイン設定 } if(!empty($_POST)) { //ログイン処理 if($_POST['email']) != '' && $_POST['password'] != '') { //2 email,password記入されてるかチェック $login = $db -> prepare('SELECT * FROM members WHERE email=? AND password=?');//3 DB検索 $login -> execute(array( $_POST['email'], sha1($_POST['password']) )); $member = $login -> fetch(); if($member) {//4 //ログイン成功 $_SESSION['id'] = $member['id']; $_SESSION['time'] = time(); //ログイン情報の記録 if($_POST['save'] == 'on') { //8 ログインに成功したら情報をCOOKIEに保存している setcookie('email', $_POST['email'], time() + 60*60*24*14); //14日間保存期間を設定 setcookie('password', $_POST['password'], time() + 60*60*24*14); } header('Location: local.php'); exit(); } else { $error['login'] = 'failed'; //5 データがない場合はエラーを発生させる } } else { $error['login'] = 'blank'; //6 記入されてない場合 } } ?>

該当のソースコード

エラーメッセージ Parse error: syntax error, unexpected '!=' (T_IS_NOT_EQUAL) in /Applications/MAMP/htdocs/post/login.php on line 15

試したこと

・一語一句同じコードを書いている
・!=の部分を==や=にしても同じエラーメッセージが出てしまう

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

kei344

2019/09/02 03:16

(質問文は編集できます)質問文のコードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
退会済みユーザー

退会済みユーザー

2019/09/02 03:18 編集

DB2、たぶん関係ないから、外してあげて。(IBMがつくってるデータベースシステムの名称としてDB2というのがありまして。それを使っていないのであれば質問のタグからはずすべきです。)
guest

回答1

0

ベストアンサー

php

1if($_POST['email']) != '' && $_POST['password'] != '') { //2 email,password記入されてるかチェック

ここ。

php

1if(($_POST['email'] != '') && ($_POST['password'] != '')) { //2 email,password記入されてるかチェック

にするとか。

投稿2019/09/02 03:20

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

ko-ya

2019/09/02 03:29

素早い回答ありがとうございます! それだと Parse error: syntax error, unexpected '&&' (T_BOOLEAN_AND) in /Applications/MAMP/htdocs/post/login.php on line 15 というエラーになってしまいます。 どうすればいいでしょうか・・・
退会済みユーザー

退会済みユーザー

2019/09/02 03:30

ここだけじゃないってことですね。
ko-ya

2019/09/02 03:39

解決しました!! m6uさん本当にありがとうございます!
kenta7741

2020/02/24 16:08

どーやって解決しました?自分もいまそこで固まってしまい、m6uさんの解決法でもまだエラーが出ます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問