人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

WEB制作中です。
こんなものが表示されました。
サイトでやくしてみたのですが、どうもいみがわかりません。
Warning: array_unshift(): The first argument should be an array in /home/new-technician/public_html/sezinfo/sezinfo.php on line 120

Warning: implode(): Bad arguments. in /home/new-technician/public_html/sezinfo/sezinfo.php on line 188
データを書き出せません

どこがわるいのでしょうか?
使っているものは、http://www.sapphirus.biz/php/sezinfo/です。
マックOS X・Dreamweaver8です。
宜しくお願いします。

●質問者: office-athena
●カテゴリ:インターネット ウェブ制作
✍キーワード:HOME ON OS X PHP Warning
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● tezcello
●100ポイント

このエラーは、sezinfo.php というファイルの120行目で使われている array_unshift の構文が間違っているという指摘ですね。

array_unshift 関数は、最初の引数が配列でないといけないと書かれています。

第1引数がチャンと配列になっているか確認してみてください。

http://www.php.net/manual/ja/function.array-unshift.php

◎質問者からの返答

array_unshift($data,$formData);

とあるのは何がわるいのでしょうか?

教えてください。お願いします。


2 ● tobeoscontinue
●86ポイント

>Warning: array_unshift(): The first argument should be an array in /home/new-technician/public_html/sezinfo/sezinfo.php on line 120

/home/new-technician/public_html/sezinfo/にあるsezinfo.phpの120行目で使われているarray_unshift()の最初の引数はarrayでないです。注意して!。


>Warning: implode(): Bad arguments. in /home/new-technician/public_html/sezinfo/sezinfo.php on line 188

/home/new-technician/public_html/sezinfo/にあるsezinfo.phpの118行目で使われているimplode()の引数がダメです。注意して!。


といったところでしょうか。Warningなので致命的ではないです。

何が問題なのかはphp 関数名で検索すれば大抵マニュアルを見ることができますので、それと対比することで問題点は浮き出てくることと思います。


ファイルをエディットしてその行を見てみましょう。どちらにも$dataがあります。これがまずそうです。

では$dataが何処で定義されているか検索します。

$data=@file("$dataDir/$dataFile")or $status='データがありません';

file()でファイルの内容を$dataに入れてますのでファイルが見つかっていないと考えられます。

$dataDirと$dataFileが正しく設定されているか確認して下さい。


sezinfo.phpの上の方に設定がお使いの環境に正しく設定されているか確認して下さい。相対パスの場合はどこがベースが注意して下さい。


この手のエラーはメッセージにあるファイルの指定の行を見て問題を判断するというのが楽しみなのですが。

question:1161872189

◎質問者からの返答

設定のパスワードを打ち込んでもパスワードが違うというのの原因としてはなにが考えられるでしょうか?

宜しくお願いします。


3 ● tezcello
●100ポイント ベストアンサー

2回目です。

array_unshift($data,$formData);

が悪いのではなく、$data がチャンと予定通りの値が入っているかの確認をするとよいでしょう。(例えば、var_dump($data);)

問題のスクリプトをダウンロードしてみましたが、キチンとエラー処理できていない様に思います。(多分、設定ミス等が全くない状況では問題ないのだろうと思います)

うまく読み込めていない場合のチェック箇所は、

「データ保存用のファイル」がチャンとアップロードされている?、パーミッションは?、そのファイル名とスクリプト内で記述しているファイル名とは合っている?、ファイルに記述してある内容は正しい?

等があります。

(「パスワードが違う...」の件から、改行コードや文字コードも疑わなければいけないかも知れません)


188行目のエラーは、120行目がクリアできれば問題ないでしょう。


ウォーニングが出るが、動作そのものは問題なさそうな場合は、表示だけ止める手もあります。

http://au.php.net/manual/ja/ref.errorfunc.php

の display_errors の所を参考にしてください。

こちらにも書いておきました。

http://d.hatena.ne.jp/tezcello/20061026

2回しか答えられないので、何かあったらこちらのコメントへどうぞ

◎質問者からの返答

本当にたすかりました。

いそいでやっていただいてありがとうございました。

またなにかわからないことがありましたら質問をするとおもうのでまたこたえて頂けるとうれしいです。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ