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です。
宜しくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/10/26 23:16:32
  • 終了:2006/10/27 12:25:36

ベストアンサー

id:tezcello No.3

tezcello回答回数460ベストアンサー獲得回数692006/10/27 02:42:42

ポイント100pt

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回しか答えられないので、何かあったらこちらのコメントへどうぞ

id:office-athena

本当にたすかりました。

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

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

2006/10/27 12:24:07

その他の回答(2件)

id:tezcello No.1

tezcello回答回数460ベストアンサー獲得回数692006/10/26 23:31:45

ポイント100pt

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

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

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

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

id:office-athena

array_unshift($data,$formData);

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

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

2006/10/26 23:45:27
id:tobeoscontinue No.2

tobeoscontinue回答回数214ベストアンサー獲得回数542006/10/27 00:04:23

ポイント86pt

>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

id:office-athena

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

宜しくお願いします。

2006/10/27 00:25:47
id:tezcello No.3

tezcello回答回数460ベストアンサー獲得回数692006/10/27 02:42:42ここでベストアンサー

ポイント100pt

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回しか答えられないので、何かあったらこちらのコメントへどうぞ

id:office-athena

本当にたすかりました。

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

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

2006/10/27 12:24:07

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません