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

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

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

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

Q&A

2回答

2409閲覧

このコードはなぜ動かないんでしょうか?PHP

D.O

総合スコア55

PHP

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

0グッド

0クリップ

投稿2015/12/01 06:43

みなさんこんにちは
Filemaker API for PHPという本をみながら、Filemakerデータベースをと連動したウェブサイト作りの勉強をしています。
サンプルのコードをみながら試しているのですが..途中で動かない部分があります。

本の説明を要約すると
$_POST[]や$_GET[]で値を取得すると、ユーザーの入力値によっては困った事が起こることがあるので、これを回避する為の関数をかませるということらしいです。紙面およびサンプルファイルではPOST、GETという関数を以下のコードで組み込んでいます。

このまま実行すると、関数を呼び出したところでエラーになってしまいます。
どこがおかしいでしょうか?
サンプルファイルのコードをそのままコピペしているのでスペル間違いはないと思います。
かなり古い本なので...現在は使えなくなったものが入っているのかもしれません。

<?php function POST($var=null) { if($var === null) { $ret = array(); foreach($_POST as $key=>$value) { $ret[$key] = POST($key); } return $ret; } if(!isset($_POST[$var])) return false; if(get_magic_quotes_gpc()) { return stripslashes($_POST[$var]); }else{ return $_POST[$var]; } } function GET($var=null) { if($var === null) { $ret = array(); foreach($_GET as $key=>$value) { $ret[$key] = GET($key); } return $ret; } if(!isset($_GET[$var])) return false; if(get_magic_quotes_gpc()) { return stripslashes($_GET[$var]); }else{ return $_GET[$var]; } } ?>

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

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

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

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

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

maisumakun

2015/12/01 06:51

すみません、どのようなエラーが発生しているのか、メッセージを貼ってもらえますか? あと、PHP自体のバージョンもご確認いただければと思います。
guest

回答2

0

なんというか、かなり時代遅れな(場合によってはこれ自体がセキュリティ的に問題になる)コードなのでよほど切実な事情が無い限りはこの書籍は使用しないことをお勧めします。

投稿2015/12/02 20:45

tanat

総合スコア18709

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

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

D.O

2015/12/05 16:50

レスありがとうございます。 やはり古いですよね..。 HTMLのレイアウトもテーブルレイアウトで説明されているんですが、そのあたりからも古い感じがしています。 純水なphp部分は別の書籍で勉強してみます。Filemaker APIを扱った類書で新しいものが無いので、Filemaker APIの部分だけ参考にする事にします。 ありがとうございました。
guest

0

stripslashesの引数はString(文字列)なので
少なくともフォーム部品にチェックボックスがあるときはエラーになりそうです。

不正な値を次々とこの関数に投げ込めば怪しい動きをしそうに思えますが、
エラーの原因とまではちょっと思いつきませんでした。
念のため、以下も記載してくださると回答しやすくなるかと思います

  • エラー内容
  • この関数を使っている箇所
  • 現在利用している環境のPHPのバージョン
  • 書籍のPHPのバージョン

投稿2015/12/01 23:13

編集2015/12/01 23:17
miyabi-sun

総合スコア21158

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問