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

PHP5の勉強をしています。Web ServerはApache2.2です。

スーパーグローバル変数を受け渡せまなくて困っています。

D:\Program Files\Apache\htdocs/samples/chap2/に、post1.phpとpost2.phpを置いています。
ドキュメントルートはD:\Program Files\Apache\htdocsです。

次のようなpost1.phpファイルがあります。
-----------------------------------------
<html>
<head>
<title>スーパーグローバル変数</title>
</head>
<body>
<form method="POST" action="post2.php">
名前:<br/>
<input type="text" name="name" size="15" /><br/>
好きな食べ物<br/>
<input type="checkbox" name="food[]" value="orange"/>みかん
<input type="checkbox" name="food[]" value="apple">りんご
<input type="checkbox" name="food[]" value="strawberry""/>いちご<br/>
<input type="submit" value="送信"/>
</form>
</body>
</html>
-----------------------------------------
次のような、post2.phpがあります。
--------------------------
名前:<?php print($_POST['name']);
?<br/>
好きな食べ物<?php print_r($_POST['food']);
?>
------------------------
ここで、http://localhost:8080/samples/chap2/post1.phpで、
入力して、POSTすると、Web Serverで500内部エラーで返ってきます。
どこが間違っているのでしょう?


●質問者: inajyun
●カテゴリ:インターネット ウェブ制作
✍キーワード:Apache food name PHP print
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● kn1967
●35ポイント ベストアンサー

?><br>

> が一個抜けてるから動かないというだけでは寂しいので、以下余談。


見やすく書くことを考えないと落とし穴に落ちるので、

名前:<?php print $_POST['name']; ?>
<br/>
好きな食べ物<?php print_r($_POST['food']); ?>

といったように1行以内にまとめる。


複数行に渡るなら

名前:
<?php
 print $_POST['name'];
?>
<br/>
好きな食べ物
<?php
 print_r($_POST['food']);
?>

といったような具合に入れ子にしておくと漏れを発見しやすくなります。

なお、print には(括弧)をつけなくても良いです。


さらに余談になりますが、

print と似たようなものに echo というものがあり、

動作に若干の違いがあるので、あわせて学んでみてください。

◎質問者からの返答

分かりました。動きました。ありがとうございます。


2 ● misosoup
●35ポイント

名前:<?php print($_POST['name']);

?<br/>

名前:<?php print($_POST['name']);

?><br/>

? の後ろに「>」が抜けているのでは?

◎質問者からの返答

ありがとうございます。動きました。

関連質問


●質問をもっと探す●



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