我是PHP的新手,我有一個項目需要完成,作爲創建大學網站的更大項目的一部分。不從類內部獲取POST數據
我想在HTML頁面中使用POST方法將數據發送到名爲user
的類。
- 如果用戶輸入文本輸入框,輸出標記,顯示的名字,否則
- 如果在變量
isset()
方法return false
,PHP將echo "notset";
。
這似乎很簡單,但無論我做什麼,我都無法獲得輸入框中輸入的數據返回,我總是收到「未設置」返回。
表HTML
<form method="post" action="user.php">
<table cellpadding="5">
<tr>
<td><label for="firstname">Enter Firstname:</label></td>
<td><input type="text" id="firstname" name="firstname" /><br /></td>
</tr>
<tr>
<td><label for="surname">Enter Surname:</label></td>
<td><input type="text" id="surname" name="surname" /><br /></td>
</tr>
<tr>
<td> <label for="email">Email Address:</label></td>
<td><input type="text" id="email" name="email" /><br /></td>
</tr>
<tr>
<td><label for="password">Enter Password:</label></td>
<td><input type="password" id="password" name="password" /><br /></td>
</tr>
<tr>
<td><label for="renter">Re-Enter Password:</label></td>
<td><input type="password" id="renter" name="renter" /><br /></td>
</tr>
<tr>
<td><label for="address1">Address Line 1:</label></td>
<td><input type="text" id="address1" name="address1" size="35"/><br /></td>
</tr>
<tr>
<td><label for="address2">Address Line 2:</label></td><td><input type="text" id="address2" name="address2" size="35"/><br /></td>
</tr>
<tr>
<td><label for="city">City:</label></td>
<td><input type="text" id="city" name="city" /><br /></td>
</tr>
<tr>
<td><label for="postcode">Postcode:</label></td>
<td><input type="text" id="postcode" name="postcode" /><br /></td>
</tr>
<tr>
<td><label for="country">Country:</label></td>
<td><input type="text" id="country" name="country" /><br /></td>
</tr>
<tr>
<td><input type="submit" value="Submit Details" name="submit" class="button1"/></td>
</table>
</form>
我試圖讓打印的第一頁上input name="firstname"
;那麼我會開始擔心一切。以下是我的class
以及更多用於打印firstname
的HTML。
結果HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head></head
<body>
<p>thank you! user has been created</p>
<?php
$newuser = new user();
$theuser = $newuser->getfirstname();
echo $theuser;
?>
</body>
</html>
用戶類
<?php
class user
{
public $email;
public $firstname;
public $lastname;
public $connection;
function _construct()
{
$this->firstname= $_POST['firstname'];
$this->lastname = $_POST['lastname'];
$this->email=$_POST['email'];
}
public function getfirstname()
{
if(isset($firstname))
{
return $this->firstname;
}
else
{
return "not set";
}
}
}
?>
youre缺少構造函數中的下劃線。它應該是'function __construct()',並且對於第一個輸入(名字的輸入 - 具有'
2012-02-25 16:31:50
if'isset($ firstname) ''if(isset($ this-> firstname))' – 2012-02-25 16:32:31
請儘量保持您的代碼結構和可讀性。我爲你編輯了你的 – Hubro 2012-02-25 16:34:49