2011-05-07 8 views
1

HI、PHPのページ間のコミュニケーション

私はこのコードをPHPで書いています。

<head> 
<title>listent</title> 
</head> 
<body> 
<form action="untitled 3.php"> 
<input type = "text" name = "user"> 
<br> 
<textarea name = "address" rows = "10" cols = "40"> 

</textarea> 
<br> 
<input type = "submit" value = "heat it"> 
<br> 
<select name="combobox" multiple[]> 
<option>mehdi 
<option>nine 
</select> 

</form> 

</body> 
</html> 

投稿ボタンuntitled 3.phpが実行されました。

は無題3.phpに私は

<?php 

print "welcome $user"; 



?> 

を書いたが、それはエラーが発生しました。

Notice: Undefined variable: user in C:\xampp\htdocs\me\Untitled 3.php on line 4 
welcome 

どうすれば解決できますか?

+0

本当に**ファイル名 "untitled 3.php"にスペースがありますか? –

+0

はい私はそれを持っています。 –

+0

参照[これは( "グローバル")変数がPHPでは実際にグローバルではないためです]。(http://stackoverflow.com/questions/1557787/are-global-variables-in-php-considered-bad-practice) – mario

答えて

3

フォームの値は、もはや魔法のようにもはや変数として表示されません。少なくとも現代的で適切に設定されたPHPインストールでは、少なくともそうではありません。あなたのファイルのためのください使用より説明的な名前、

としてください - あなたは(あなたがGETとPOSTの違いについて読みたいかもしれないURLへの)形式で送信された値にアクセスするために $_GET["user"]を行う必要があります...

+0

ありがとうございます –

1

PHPのグローバルは新しいページで生き残りません。

場合によっては、フォームから送信されたPOST変数を使用する必要があります。

のでuntitled3.phpで、あなたは

echo "welcome ".$_POST['user']; 

PSを持っている必要があります。私は、PHPのファイル名に空白を避けるだろう。

+0

フォームはPOSTデータを送信しませんが、メソッド属性はありません。 – Quentin

+0

** ** $ post **は何ですか?エラー –

+0

です。$ _POSTで、$ _ポストではありません。 – abaumg

1

まず、あなたの最初のページにForm submission methodを指定する必要があります。

<form action="untitled 3.php" method="post"> 

次にあなたがuntitled 3.php$_POSTアレイ内のすべての投稿の値にアクセスできます:

$user = $_POST['user']; 
+0

メソッド属性は明示的にオプションです。 – Quentin

+0

エラーはありませんでしたが、ページに表示されました**注意:未定義のインデックス:C:\ xampp \ htdocs \ me \ Untitledのユーザ3.php on line 4 ** –

+0

@David Dorwardありがとう、それは私が決してそれを省いたことはありません。 – jeroen