如何在一页内传递变量

问题描述:

我想知道如何将变量从表单传递到php页面。如何在一页内传递变量

谢谢。

编辑:

我有一些输入的形式提交按钮。我希望我的php页面能够在点击提交按钮后搜索数据库并显示相关表格。这里所有的动作都在一个页面中。

所以我想知道如何在同一页面上将变量从表单传递到php脚本。我很抱歉留下这么小的细节。

你现在能明白我的问题吗?再次感谢。

+7

你能更具体一点吗? – 2009-12-02 15:46:09

编辑:这是如何将用户输入值从表单传递到PHP页面。

这里是一个通用的形式:

<form method="post" action="<?php echo $_SERVER['$PHP_SELF'];?>"> 
    <input type="text" size="12" maxlength="12" name="name"> 
    ... 
    ... 
</form> 

现在的PHP代码:

<?php 
    $name = $_POST["name"]; 
?> 

注意:您可以更改后型POST之间和GET和更改操作选项,发送将表单输入到不同的PHP页面。


你说的是将变量传递给函数吗?

$name = 'Robert'; 

printName($name); 

function printName($n) { 
    echo $n; 
} 
+0

我想你已经回答了我的问题,非常感谢罗伯特。 – 2009-12-02 16:08:36

+0

没问题,我希望这就是你要找的 – 2009-12-02 16:10:36

+0

对于'”>',我建议修改它以'“>'。因为你必须在php.ini中设置'register_globals = on'。 – 2009-12-02 16:53:21

这很简单,只要它们注释掉:

$a = 'variable 1'; 
//$b = 'variable 2'; 
$c = 'variable 2'; 

你明白吗?我分配了$ a,然后通过了$ b,最后分配了$ c。所有在一个PHP页面!

+0

我想你误解了我的问题,我想通过一个窗体中的变量传递到一个PHP页面中的表。你看? – 2009-12-02 15:50:16

+0

传递变量具有与无视它们无关的特定技术含义。 – Quentin 2009-12-02 15:50:50

+1

我没有误解你的问题。自从你决定抛弃任何背景或细节以来,我只是读了它并做出了荒谬的假设。 – Langdon 2009-12-02 15:52:04

<?php 
$value = 'bla'; 
function getValue($string) 
{ 
return ($_GET[$string]); 
} 
$value = getValue('bla'); 
?> 
<html> 

//... 
<body> 
<form> 
<input type="text" value="<?php echo $value; ?>" /> 
</form> 
<tr> 
<td> 
<tr><?php echo $value; ?></tr> 
<td> 
</body> 
</html> 

这是完全不重要何种顺序使用。 你可以把html部分放入一个带有PHP变量的PHP字符串里面,并且回显它,php会自动分配里面的变量。 或者你如上所述分开HTML和PHP。

尝试使用模板引擎,例如, SMARTY(smarty.com)

+0

@ daemonfire300,这是一个很好的建议。谢谢。 – 2009-12-02 16:10:32

所有形式的变量$ _POST或$ _GET超全局数组中终止(取决于形式方法)。如果你的脚本都显示形式和处理它,一个标准的方法是这样的:

if(isset($_POST['submit'])){ 
    //validate $_POST variables from form 

    //if validation works do action 
    //else output errors and output form again 


} else { 
    //output form 
} 

得到它从URL

传递变量是最快的(但极其有限)的方式一种称为GET的方法。随着GET,你的变量追加到你想要的变量被转移到页面的URL:

http://www.matthom.com/contact.php?id=301&name=Matthom

上面的例子会给contact.php页两个变量来使用:id和名称,其值分别为301和Matthom。

您可以根据需要为URL添加尽可能多的变量。

请注意 - 有时您不希望变量显示为“公开显示”。此外,您在URL中限制为255个字符,因此变量不能包含太多信息。

从contact.php,您可以通过PHP得到这些两个变量:从FORM

另一种方式来传递变量

抢变量从URL

$id = $_GET['id']; 
$name =$_GET['name']; 

帖吧,到目前为止,更强大的方法是从表单中抓取它们。

比方说,这是你的表单字段代码:

<form action="process.php" method="post"> 
<input type="text" size="25" name="searchtype" /> 
<input type="text" size="25" name="searchterm" /> 
</form> 

这两个输入框让用户输入信息。在process.php,你可以抓住变量以同样的方式:

抢变量从表单

$searchtype = $_POST['searchtype']; 
$searchterm = $_POST['searchterm']; 

注意使用$_POST[]超过$_GET[]。这是一个重要的区别。

+0

@SjB,是的,这是在页面之间传递变量的常用方法。谢谢。 – 2009-12-02 16:09:36