作者 主題: [問題]為什麼輸入的資料用變數抓不到? @@  (閱讀 4358 次)

0 會員 與 1 訪客 正在閱讀本文。

ellie

  • 可愛的小學生
  • *
  • 文章數: 13
    • 檢視個人資料
阿... 我看了很久   :roll: 可是不知道哪裡有錯 @@ 還是有要改什麼設定?

當網頁連到response.php時,不知道為什麼都看不到在postdata.htm輸入的名字

------------------------這一頁是postdata.htm--------------------------
<html>
<head>
<title>從客戶端傳送資料至伺服端</title>
</head>
<body>
<center>
<font size = 5 color = blue>客戶端用於填寫資料的表單</font>
</center>
<hr>
<p></p>
<!--//下面的表單將以post方法, 將資料傳遞給response.php檔 -->
<form action="response.php" method=post name=form1>
<p>請輸入您的姓名:<input name=tbxname></p>
<input name=submit1 type=submit value=送出>
</form>

</body>
</html>


-----------------------------這一頁是response.php----------------------------

<html>
<head>
<title>從客戶端傳送資料至伺服端</title>
</head>
<body>
<center>
<font size = 5 color = blue>客戶端用於填寫資料的表單</font>
</center>
<hr>
<p></p>
<!--//下面的表單將以post方法, 將資料傳遞給response.php檔 -->
<form action="response.php" method=post name=form1>
<p>請輸入您的姓名:<input name=tbxname></p>
<input name=submit1 type=submit value=送出>
</form>
</body>
</html>


新手上路 請多多指教  :o

craig

  • 懷疑的國中生
  • **
  • 文章數: 69
    • 檢視個人資料
Re: [問題]為什麼輸入的資料用變數抓不到? @@
« 回覆 #1 於: 2004-07-12 22:54 »
引述: "ellie"
阿... 我看了很久   :roll: 可是不知道哪裡有錯 @@ 還是有要改什麼設定?



我雖然不太懂你的問題,
不過你的 postdata.htm 和 response.php 都一樣,
這看起來怪怪的。

因為你沒有詳細描述 php 版本跟大概的設定,所以有很多可能原因。
你可以看一下 http://tw.php.net/manual/tw/language.variables.external.php
參考例子應該很快就會用。

ellie

  • 可愛的小學生
  • *
  • 文章數: 13
    • 檢視個人資料
[問題]為什麼輸入的資料用變數抓不到? @@
« 回覆 #2 於: 2004-07-12 23:40 »
對不起,我第一篇貼錯了  :oops:

------------------------這一頁是postdata.htm--------------------------
<html>
<head>
<title>從客戶端傳送資料至伺服端</title>
</head>
<body>
<center>
<font size = 5 color = blue>客戶端用於填寫資料的表單</font>
</center>
<hr>
<p></p>
<!--//下面的表單將以post方法, 將資料傳遞給response.php檔 -->
<form action="response.php" method=post name=form1>
<p>請輸入您的姓名:<input name=tbxname></p>
<input name=submit1 type=submit value=送出>
</form>

</body>
</html>


下面這個才是response.php------------------------------------------

<html>
<head>
<title>從客戶端傳送資料至伺服端</title>
</head>
<body>
<center>
<font size = 5 color = blue>回應表單動作的PHP檔</font>
</center>
<hr>
<p></p>
<center>
<h2>
<font color = red>
<!--取得tbxname控制項的傳出值-->
<? echo  $tbxname ?>
</font>
您好!
</h2>
</center>
</body>
</html>

最後結果只有在response.php顯示 "您好!" 而已耶
沒有看到在 postdata.htm 輸入的名字  :-?

craig

  • 懷疑的國中生
  • **
  • 文章數: 69
    • 檢視個人資料
[問題]為什麼輸入的資料用變數抓不到? @@
« 回覆 #3 於: 2004-07-12 23:52 »
正如我推薦的網頁所說明的,
register_globals 不是設為 on 的話,
你就要用 $_REQUEST 或是 $_POST 來取得你要的,
所以,試試看把你的
  echo $tbxname;
改成
  echo $_REQUEST['tbxname'];

小徒兒

  • 鑽研的研究生
  • *****
  • 文章數: 622
    • 檢視個人資料
[問題]為什麼輸入的資料用變數抓不到? @@
« 回覆 #4 於: 2004-07-13 00:54 »
如果你是用red hat 9.0 ,在安裝時rpm選 everything全選安裝
的那個php,

你的設定檔要改

#vi /etc/php.ini


找register_globals的字串,找到後原來設定register_globals=off,這個設定會讓你在傳遞變數時,得到的都是空值,如果改成像以下:
register_globals = On

再試試,就可得到變數的傳遞值.

加油!!  :wink:

ricky

  • 區域板主
  • 鑽研的研究生
  • *****
  • 文章數: 669
    • 檢視個人資料
    • Ricky 碎碎唸
[問題]為什麼輸入的資料用變數抓不到? @@
« 回覆 #5 於: 2004-07-13 08:23 »
register_globals = On
這樣不是一個很好的程式寫作習慣喔
將POST變數regist成global的話很容易導致一些安全因素(如果檢查不是很周嚴的話)
所以php從4.3以後預設是將register_globals設為off
盡量改用$_GET,$_POST,$_SESSION這些變數來取代傳統global變數的使用
避免一些安全上的疑慮
我的symfony作品:YOMOpets 寵物誌
有興趣可以一起來討論symfony喔
我的部落格:http://ricky.ez2.us/

ellie

  • 可愛的小學生
  • *
  • 文章數: 13
    • 檢視個人資料
[問題]為什麼輸入的資料用變數抓不到? @@
« 回覆 #6 於: 2004-07-13 10:12 »
阿!!有了~出現了~~
我把變數改成echo $_REQUEST['tbxname'];
就出現了  :D
謝謝大家的幫忙 :wink: