2012-08-07 100 views
0

我正在用一个下拉列表和一个按钮设计简单的HTML。PHP-HTML嵌入代码

我想知道如何将选定的下拉项检索到php变量中。我正在编写php-html嵌入代码。我很困惑如何在php变量中获得特定的值。另外,我想知道如何在选择特定项目后下载文件。我已经创建了下载文件,但我不知道如何从选定的下拉项中调用这些文件。

任何帮助将不胜感激。 谢谢。

我贴我正努力一些PHP,HTML代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<title>Get All Reports</title> 
</head> 
<body> 
<center> 
<div> 
<form action=""> 
<table> 
<tr><td> 
<select onchange="ReportList(this.form,0)"> 
<option value="SubscriptionReport.php" >Subscription Report 
<option value="DownloadHistoryReport.php">DownloadHistory Report 
<option value="AppEventReport.php">AppEvent Report 

</select> 


</td></tr> 
<tr><td> 
<button name="isSubmit">Download</button> 
</td></tr> 
</table> 
</form> 
</div> 
</center> 


</body> 
</html> 
+0

但如果我想访问这个页面中的这些字段,那么我将如何检索它?我不想将这些值发送到其他页面,我喜欢在同一页面中处理这些值。 – ashutosh 2012-08-07 15:38:57

+0

然后只需提交到“此”页面。 (请参阅下面的答案)。 – Matt 2012-08-07 15:40:26

回答

1

该输入的值将通过您的表单中使用任何方法进行传递。发送到的页面将通过$_GET$_POST访问表单输入值,无论采用哪种方法。

<form method="post" action="process.php"> 
    <input type="text" value="3" name="myInput" id="myInputId" /> 
</form> 

会被访问,在process.php,因为这样的:

<?php 
    $inputValue = $_POST['myInput']; 

注意,输入经由其name而不是其id属性通过。

对于GET表单提交:

<form method="get" action="process.php"> 
    <input type="text" value="3" name="myInput" id="myInputId" /> 
</form> 

将访问,在process.php,因为这样的:

<?php 
    $inputValue = $_GET['myInput']; 

注意,当您通过GET提交表单,它追加查询字符串的键/值对:

http://www.example.com/process.php?myInput=3 

如果你想subm将您的表单保存到它所在的同一页面,只需将action属性留空即可。

<form method="post" action=""> 
    <input type="text" value="3" name="myInput" id="myInputId" /> 
</form> 

注: PHP只能访问表单变量一旦他们已经提交。如果你想检索一个表单元素的值,你必须使用javascript事件处理程序。 PHP是服务器端,不能对用户输入做出反应,直到服务器收到它。 Javascript是客户端。它“看到”用户在浏览器中所做的事情,并且可以处理这些事件。

+0

所以,我可以通过属性id访问这些值,因为html中的下拉列表中没有属性名称,所以下面的代码将工作? $ reportList = $ _POST ['subscription']; – ashutosh 2012-08-07 15:48:49

+0

@ashutosh号码你误解我了。您只能在PHP中提交数据后才能检索数据。我会详细解释我的答案。 – Matt 2012-08-07 15:50:27

+0

okk ..你最后的编辑,清除了我的想法。现在我懂了。非常感谢您的回答和信息! :) – ashutosh 2012-08-07 15:55:27