![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
こんにちわ ある参考書をみながらスクリプトを打ち込んでいるのですがFORM(touroku.html)で登録ボタンを押すと(touroku.php)にpostで送信されデータベース処理をした結果(登録完了)と表示されるはずなのですが何も表示されません。参考書ではhttp://touroku.htmlからhttp://touroku.phpに移動しているのですけど自分のはC:\www\touroku.htmlからC:\www\touroku.phpに移動しています。このあたりが何か関係あるのでしょうか?サーバーはANHTTPDを使用しています。なにか設定が間違っているのでしょうか?スクリプトは以下の様です。
<html>
<body>
<?php
if(!$con=mysql_connect("localhost,"mysql","****")){
echo"接続エラー";
exit;
}
if (!mysql_select_db("****",$con)){
echo"データベース選択エラー";
exit;
}
$sql = "insert into ****_tbl(name,age) values('$nm',$age)";
//sqlを実行
if(!$res=mysql_query($sql)){
echo "Sql実行時エラー";
exit;
}
mysql_close($con);
echo "登録完了";
?>
</body>
</html>
No.6ベストアンサー
- 回答日時:
補足です。
> このスクリプトは参考書付属のCDからコピーしたものだからsql文は間違ってないと思います
参考書がすべて正しいとは限りません
チェックに抜けがあり、動かない場合もあります。
しかしほとんどの場合動かないときはコピーミスであったり、書き換えるときに余計な文字を消してしまったりすることが多いです。
>ただ参考書にはセキュリティー上の問題で$nmで参照できない場合は$val=$http_post_vars["nm"]で参照できると書いてあるのですが...
これはPHP3とかのころの話です。
現在は
$_POST['nm'] とするのが標準となっています。
下位互換性のために使えますが。
本当に分からないときはまた最初から作り直せばすんなり動く場合もあります。
No.5
- 回答日時:
No3.の方が4行目あたりでエラーが出ていると言っていますよね。
if(!$con=mysql_connect("localhost,"mysql","****")){
うーん、よく見ると「"」が5個しかないような…。
あと途中でエラーになった場合「exit」してしまうと
最後の「</body>」や「</html>」まで辿り着かないと思います。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_15.png?e8efa67)
No.4
- 回答日時:
>Sql実行時エラーが出てしまいます
>テーブル名も間違っていないし全く解りません
エラーが出るからにはsql文が間違っているのでしょう。
$sql をmysqlに渡す前にprintしてみてください。
また、mysql_error() というmysqlからのエラー内容を返す関数があったはずですが。
phpマニュアルに、mysqlとの通信関数がいっぱい載ってますよ。
http://www.php.net/manual/ja/
参考URL:http://www.php.net/manual/ja/
この回答への補足
ありがとうございます
このスクリプトは参考書付属のCDからコピーしたものだからsql文は間違ってないと思います
ただ参考書にはセキュリティー上の問題で$nmで参照できない場合は$val=$http_post_vars["nm"]で参照できると書いてあるのですが...$nmが参照出来てないのでしょうか?その場合$sql = "insert into ****_tbl(name,age) values('$nm',$age)";はどの様に変更すれば良いのでしょうか?
No.3
- 回答日時:
>ブラウザのURLに
http://localhost/touroku.phpと打ち込むと>Parse error: parse error in c:\php\touroku.php on line 4
英語を読みましょう。
c:\php\touroku.php の 4行目辺りでエラーが起きています。
要するに記述ミスです。
ページを表示できない場合はどこかにミス(バグ)があるためだと思われます。
この回答への補足
ありがとうございます
皆様の回答を参考にして途中まで解決したのですが
Sql実行時エラーが出てしまいます
テーブル名も間違っていないし全く解りません
ご指導お願いします
No.2
- 回答日時:
PHPの動作環境は整っていますか?とりあえずPHPが動作する仕組みを理解しないといけないようですね。
PHPでWEBページを表示させようとする場合、(表現は不適切かも知れませんが)WEBサーバーがPHPを起動します。apache、IIS、PWSなどという名前のやつですね。ですのでまず最初にPHPをインストールして、WEBサーバーからPHPが動くように設定をしないといけません。参考書にはこのあたりの事は書かれていませんか?
そしてスクリプトのテストですが、ブラウザに「C:\www~」と打ち込んでも、それはローカルのファイルを単にブラウザで表示させようとしているだけで、PHPは起動してくれません。WEBサーバーに対してリクエストしないといけません。これがhttp://~というリクエストです。スクリプトを打ち込んでいる自分のマシンにPHPの設定があるのなら、恐らくhttp://localhost/~です。
設定が済んだらいきなりスクリプトを打ち込む前にmoon nightさんが指摘されてるように<?phpinfo()?>の1行だけを書いたスクリプトを任意の名前.phpで作って、それをhttp://localhost/スクリプト名で表示させてみましょう。設定が正常に出来ていればWEBサーバーやPHPのインストール状況などが表示されるはずです。もし表示できないようでしたら、スクリプト以前に設定をもう一度確認しましょう。
No.1
- 回答日時:
>C:\www\touroku.htmlからC:\www\touroku.phpに移動しています。
C\:からのアドレスではPHPは動きません。
http://からのアドレスにしてください。
http://localhost/で自分のローカルアドレス(ANHTTPDで指定したルートアドレス)が表示されるはずです。
また、PHPを最初テストするときは打ち込みミスやその他の要因が多大に関係してくるので、
<?php phpinfo() ?>
とだけ記述したのもでテストをしてみましょうね。
この回答への補足
ありがとうございます
PHPの動作テストは完了しています。
ANHTTPDも動作しています。
動作環境はANHTTPD PHP4.3.11 MYSQL4.0.24
フォームは以下のスクリプトです
<html>
<body>
<form action="touroku.php" method="post">
名前:<input type="text" name="nm">
年齢:<input type="text" name="age">
<input type="submit" name="exec" value="登録">
</form>
</body>
</html>
登録ボタンを押すとPHPの処理によってtouroku.php
のスクリプトが自動的に処理されるのではないのですか?
ブラウザのURLにhttp://localhost/touroku.phpと打ち込むと
Parse error: parse error in c:\php\touroku.php on line 4
と表示されますhttp://localhost/test.php(<?phpinfo();?>)
では正常に動作しています
touroku.html及びtouroku.phpはhttpd.exeが置いてあるフォルダにありますtest.phpはphp.exeが置いてあるフォルダに格納してあるのでtouroku.phpもこのフォルダに入れて登録ボタンを押してみたらページを表示できませんとでます???
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP PHP MySql ページング 2 2022/09/20 06:38
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP php ログイン 1 2022/11/01 00:24
- PHP php エラー 2 2022/10/23 16:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpでcookieがうまく保存されない
-
PHPについて。
-
フォームで戻った際に入力済み...
-
$filePath = './user_img/' . $...
-
PHPからCSVをアップロード後、m...
-
PHPのエラーの解消法について教...
-
php エラー
-
phpのheader("Location:#pos")...
-
PHPで画像の渡しが上手く行きま...
-
reuterの記事をbeautiful.soup....
-
ワードプレスサイト PHP8.0.25...
-
phpのメールフォームの完了画面...
-
PHPSpreadsheetを使って関数を...
-
PHP MySql ページング
-
phpinfo で MySQL のバージョン...
-
PHP MySQLに画像を直接保存
-
[php初心者]サイトを見てデータ...
-
phpに関わる所での、form actio...
-
ゆゆにゃ。
-
【初心者】XAMPPのapacheの(恐...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クラスファイルでエラーが出て...
-
mysql_real_escape_string?
-
phpとmysqlを使っています。
-
PHPのサンプルコードが意図した...
-
ページング実装で2ページ目以...
-
Flash8のユニコードについて。...
-
OpnePNEの構築において
-
php mysqlの文字化け(レンタル...
-
php+mysqlでINSERTで文字化けし...
-
Linuxで、Pearコマンドが使えな...
-
mysqliについて
-
for($i=1; $i<hoge; $i++)
-
mySQLに詳しい兄貴来てください
-
mysql_queryでのdelimiterの設...
-
PHP でMysqlを使用して日本語を...
-
FORMからPHP処理
-
イメージデータを文字列に変換...
-
mysqlでphpinfoと実際のバージ...
-
Mysql&PHPのアップグレードに...
-
PHPからmySQLへINSERT文の実行
おすすめ情報