2013-05-30 67 views
-2

有人能告訴我爲什麼按下submit後變量不會以粗體顯示嗎?實質上,我想要做的是在頁面1上詢問用戶,名稱......然後幾頁後在隱藏的輸入表單字段中顯示該名稱,但似乎無法使其在同一頁面上工作沒關係幾頁之後。顯示會話變量

<body> 
<strong>Test Form</strong> 
<form action="" method"post"> 
<input type="text" name="picturenum"/> 
<input type="submit" name="Submit" value="Submit!" /> 
</form> 

<?php 

// starting the session 
session_start(); 


if (isset($_POST['Submit'])) { 
$_SESSION['picturenum'] = $_POST['picturenum']; 
} 
?> 

<strong><?php echo $_SESSION['picturenum'];?></strong> 
</body> 

謝謝您的時間

+0

您是否嘗試過echo $ _POST ['picturenum']來查看它是否真的有數據? –

+0

^這個和'$ _POST ['Submit']'。 –

+0

您的表單元素的行爲是否在您的本地副本中爲空? – crush

回答

2

你有一個錯字:

<form action="" method"post">或許應該<form action="" method="post">

這導致您的表單提交的GET請求。這意味着你的變數在$_GET而不是$_POST

+0

3歡呼,爲你好,先生:) +感謝您的解釋 – craigie2204

2

的在session_start應該在你的紙條上,之前有任何輸出becouse它發送會話頭到瀏覽器。試試這個:

<?php 
session_start(); 
?> 
<body> 
<strong>Test Form</strong> 
<form action="" method="post"> 
<input type="text" name="picturenum"/> 
<input type="submit" name="Submit" value="Submit!" /> 
</form> 

<?php 


if (isset($_POST['Submit'])) { 
$_SESSION['picturenum'] = $_POST['picturenum']; 
} 
?> 

<strong><?php echo $_SESSION['picturenum'];?></strong> 
</body> 
+0

嗨,謝謝我已經試過這個,但它沒有工作,但它已出現在地址欄,當我按提交。 http://www..info/php/?picturenum = hi&Submit = Submit%21 – craigie2204

+1

@ craigie2204是方法「張貼」實際的代碼還是它是一個錯字,因爲它應該是方法=「後」? – lexmihaylov

+0

嗨lex是的,這是一個錯字..菜鳥的錯誤 – craigie2204

1

嘗試更改<form action="" method"post"><form action="somepage.php" method="post">

請注意,您在method之後忘記了=

如果要將表單提交到該頁面,請使用<form action="<?php $_PHP_SELF ?>" method="post">

編輯:似乎只有=需要修復您的腳本。

1
<html> 
    <body> 
    <strong>Test Form</strong> 
    <form action="" method="post"> 
    <input type="text" name="picturenum"/> 
    <input type="submit" name="Sub" value="Submit" /> 
    </form> 
    <?php 
    session_start(); 
    $_POST['picturenum']; 
    $_SESSION['picturenum1'] = $_POST['picturenum']; 
    $_SESSION['picturenum1']; 
    ?> 
    <strong><?php echo $_SESSION['picturenum1'];?></strong> 
    </body> 
    </html>