所以,我正在尝试使用HTML / PHP创建一个非常基本的表单。是的,我是初学者。
我正在寻找与此类似的东西。
但相反,我得到了这个。
表单包含一些字段的文本输入,例如“名称”,“用户名”,“电子邮件”,然后是一个下拉列表,用于选择您选择的浏览器。很基本的东西。我正在尝试将用户输入返回到屏幕。唯一的问题是,当页面加载时,我有一个空的下拉框,没有可供选择的浏览器。
我创建了一个名为“Select”的PHP类,非常简单。它有一些基本功能。我还创建了另外两个文件,postInfo.php(用于返回用户信息)和userForm.php(用于创建表单的文件)。
我已经尝试过调试和测试,我几乎可以肯定Select类没有任何问题,而且其他两个文件已经通过代码验证器运行,没有任何问题出现。一切都应该没问题,但这开始让我头疼。
这是我的Select课程:
<?php
$browsers = array ("Firefox", "Chrome", "Internet Explorer", "Safari", "Opera", "Konqurer", "Other");
class Select {
private $name;
private $value;
#Getter & Setter methods
public function setName($name) {
$this -> name = $name;
}
public function getName() {
return $this -> name;
}
public function setValue($value){
if (!is_array($value)){
echo ("No array values found.");
}
$this->value = $value;
}
public function getValue() {
return $this -> value;
}
#Method to implement browsers
private function createBrowserList($value){
foreach($value as $val){
echo "<option value=\"$val\">" . $val . "</option>\n";
}
}
#Method to create the selection field
public function createSelections(){
echo "<select name=\"" . $this->getName() . "\">\n";
$this -> makeOptions ($this->getValue());
echo "</select>" ;
}
}
?>
我的postInfo.php文件:
<?php
$name = $_POST["name"];
$username = $_POST["username"];
$email = $_POST["email"];
$browser = $_POST["browser"];
echo "$name <br>";
echo "$username <br>";
echo "$email <br>";
echo "$browser <br>";
?>
我的userForm.php文件(用于创建实际表单)
<html>
<body>
<form action ="postInfo.php" method="post" id="form">
Name:<input type ="text" name="name"> <br>
Username:<input type ="text" name="username"> <br>
Email:<input type ="email" name="email"> <br>
<?php
include "selectClass.php";
$selection = new Select();
$selection -> setName("Select Browser");
$selection -> setValue($browsers);
$selection -> createSelections();
?>
<input type = "submit" name = "submit" value = "Go!">
</form>
</body>
</html>
答案 0 :(得分:0)
public function createSelections(){
echo "<select name=\"" . $this->getName() . "\">\n";
$this -> createBrowserList ($this->getValue());
echo "</select>" ;
}
答案 1 :(得分:0)
您可以使用以下内容:
<?php
$browservalue=array();
$browsers = array ("Firefox", "Chrome", "Internet Explorer", "Safari",
"Opera", "Konqurer", "Other");
foreach ($browsers as $x){
$browservalue[]=strtolower($x);
}
$browsersqnty=sizeof($browsers);
?>
然后在你要回复浏览器的html里面你可以这样做:
Browsers:<select name='browsers'><?php
for($i=0;$i<$browsersqnty;$i++){
echo "<option value='$browservalue[$i]'>$browser[$i]</option>";
}
?></select>