![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_04.png?5a7ff87)
index.htmlのチェックボックスの内容をa.phpで受け取り、この値を更にb.phpに送りたいのですが
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/sites/heteml//web/b.php on line 56
該当データ無し
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/sites/heteml//web/b.php on line 64
と、なって上手くデータが渡っていません。
a.phpには
<form action="b.php" method="POST">
<input type="hidden" name="jyusyo[]" value="<?php echo ($_POST['jyusyo']); ?>" />
<input type="submit" />
</form>
として、b.phpに値が渡るようにしているはずなんですが。。
No.3ベストアンサー
- 回答日時:
>index.htmlのチェックボックスの内容をa.phpで受け取り、この値を更にb.phpに送りたいのですが
すみません、前提のこの一行が頭から抜けていました(汗
…となると、index.html上にあるチェックボックスが
<input type="checkbox" name="jyusyo" value="aaa">
なら、
<?php echo ($_POST['jyusyo']); ?>
で良いですが、
<input type="checkbox" name="jyusyo[]" value="aaa">
の場合は、No.2の方の仰るように、
なんらかの形で配列データを文字列にしてあげないと
<input type="hidden" name="jyusyo[]" value="Array" />
となってしまっていると思います。
そして、そもそもb.phpで起きているエラーですが、
MySQL問い合わせ結果に対して処理しようとした際に起きているエラーな訳ですが、
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource
(=mysql_num_rows()に渡された引数は、適正なMySQLの問い合わせリソースではありません)
なので、恐らく問い合わせ自体に失敗している(=MySQLクエリの構文エラーがある)ものと思われます。
一番早いのは、このエラーが発生した際に実行したクエリをなんらかの方法で確認することです。
(開発段階であれば直接echoして簡単に確認出来ますが、
運用中なのであれば、別ファイルに書き出すなどして、一般ユーザーには見せない工夫が必要です)
また、クエリのどこが悪いのかを知りたければクエリエラーの直後で mysql_errno() を実行し、
その内容を検索すればクエリの何が悪いのかがわかると思います。
エラーの出力、実行したクエリの確認手段を用意する、など、
デバッグ用の手段・環境を用意すると、格段に開発作業がスムーズになると思います。
No.5
- 回答日時:
#2です
回答内容に追加質問があるなら回答に対してレスをしてください
><input type="hidden" name="jyusyo" value="<?php echo addslashes(implode((array) $_POST['jyusyo'],",")); ?>" />
を実行してb.phpにわたるデータは
$_POST["jyusyo"]でカンマ区切りのデータですね
なのでb.phpで以下のようにしてみては?
$jyusyo=explode(",",$_POST["jyusyo"]);
No.2
- 回答日時:
結局セッション案はうまくいかなかったの?
><input type="hidden" name="jyusyo[]" value="<?php echo ($_POST['jyusyo']); ?>" />
は、ちょっと有り得ない書き方ですね
ここでの$_POST['jyusyo']は配列データになっているはずなので
それをバリューに渡すといっても「Array」みたいな文字列にしかならないかと。
全体像がわからないのでなんともいえないけど、せめて
<input type="hidden" name="jyusyo" value="<?php echo addslashes(implode((array) $_POST['jyusyo'],",")); ?>" />
みたいなやり方しないとだめでしょう・・・
それでもさらに受け取るb.php側でjyushoを分解してもとに戻さないと
いけないですけどね
スキルに見合わないことをやるなら、もっと地道に一歩一歩検証しながらやりなさいな
今回の件だってa.phpのソースをブラウザで見ればある程度わかるはずなんだけど・・・
No.1
- 回答日時:
そのa.phpの前にフォームで name="jyusyo" で値をPOSTで送信してますか?
もしくは、formタグを出力するより前に $_POST['jyusyo'] に値を代入していますか?
このどちらもされてないようであれば、a.phpを表示させ、
ブラウザ上で「右クリック→ページのソースを表示」などで確認すると
<form action="b.php" method="POST">
<input type="hidden" name="jyusyo[]" value="" />
<input type="submit" />
</form>
と、hiddenの値は空の状態になっていると思います。
($_POST['jyusyo']の値が定義されていないため)
この状態でa.phpのフォームからb.phpへPOST送信を行っても、
b.php上での $_POST['jyusyo'][0] の値は空です。
それが原因でエラーが発生しているものと思われます。
ですので、なんらかしらの形でa.php上で $_POST['jyusyo'] の値が定義されるようにしてあげれば
エラーが発生しなくなると思われます。
※補足
もし可能であれば、開発中期間はNoticeエラーを含めて
PHPエラーが発生した際、エラーを出力表示させることをお勧めします。
「.htaccess」というファイルを用意し、
php_flag display_errors on
php_value error_reporting "6143"
と記述すれば、サーバー側で設定の上書きが無効になっていなければ今回の場合、
Notice: Undefined index: jyusyo in /home/sites/heteml//web/a.php on line ...
というようなエラーが表示されるかと思います。
(意味としては「注意:jyusyoという配列のキーは未定義です:該当箇所...」という感じ)
また、この設定で開発した場合、一般公開の際には必ず
php_flag display_errors off
とし、エラーが出力された際にサーバー内のファイル構造などが
外部から読み取れないようにすることもお忘れなく。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
sformmmail2を使ったお問い合わ...
-
ImageCreate関数が undefined f...
-
値の受け渡しが出来ない。
-
PHP認証がProxy越しだと通らな...
-
セッションを使ったログインペ...
-
PHPでのAmazonAPI認証スクリプ...
-
仮想フレームバッファXvfb上でf...
-
onedrive にexcelファイルをア...
-
CFileDialogの最初のディレクト...
-
透過PNGが透過されない!!
-
フォームで戻った際に入力済み...
-
別ファイルの変数を呼び出した...
-
PHPのif文でその処理を途中で抜...
-
phpの中でphpを書けないか
-
さくらサーバーにて、phpからメ...
-
リンク先を隠す方法はないでし...
-
フォントの色を変えるには?
-
VBSの「MsgBox」について
-
inputタグでphpを呼び出す際、...
-
PHPで新しいウインドウで開く命...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ImageCreate関数が undefined f...
-
PHPMailerのサンプルコードのエ...
-
pdflib /pdi の拡張関数が有効...
-
php.exeが強制終了されてしまう
-
mb_language("Japanese");でエ...
-
marty3のvariableFilter
-
php5のrename()は日本語をリネ...
-
PHP Auth認証ができない
-
よくわかるPHPの教科書のエラー...
-
CodeIgniter/index.phpにアクセ...
-
PHPでのAmazonAPI認証スクリプ...
-
【初歩】 極単純なFOR文がなぜ...
-
POSTした値を、別ページにもPOS...
-
sql文について質問です。エラー...
-
yahoo API のエラー
-
PHPとAPACHEのエラー「Warning:...
-
MAMPでsqlをインポートできない
-
sformmmail2を使ったお問い合わ...
-
仮想フレームバッファXvfb上でf...
-
PHP認証がProxy越しだと通らな...
おすすめ情報