PHP Pass变量页面

时间:2013-05-17 08:53:33

标签: php javascript ajax jquery

我遇到了一个问这个问题的人,

  

如何在页面上传递变量(在同一页面上?)。

我考虑过这个但是想不出自己怎么做,所以我想知道它是否可能?

所以他试图做的是在$a的底部值的同时更改页面顶部$a的值。

有可能吗?如果是这样的话?

先谢谢。

<?php
echo("Begining " . $a);
?>
<html>

<head>
<title>Test Variables</title>
</head>

<body>
<form>
<form action="<?=$PHP_SELF?>" method="POST">
<input type="TEXT" name="testf" size="10">
<input type="submit" name = "submit" value = "submit"></form><?php
if ("submit" == $submit) {
$a = $testf;
echo( "Bottom " . $a);
}
?>
</body></html>

编辑:

看到答案后,也许可以用jquery,ajax或javascript完成?

4 个答案:

答案 0 :(得分:1)

不,您需要将if语句移到顶部,并且您计算的任何需要在if语句中的变量也在顶部。

类似的东西:

<?php
if ("submit" == $submit) {
    $a = $testf;
}
echo("Begining " . $a);
?>
<html>

<head>
<title>Test Variables</title>
</head>

<body>
<form>
<form action="<?=$PHP_SELF?>" method="POST">
<input type="TEXT" name="testf" size="10">
<input type="submit" name = "submit" value = "submit"></form><?php
echo( "Bottom " . $a);
?>
</body></html>

在开始输出HTML之前,拥有所有逻辑被认为是一种很好的做法。理想情况下,您的HTML应具有尽可能少的逻辑。

更多信息:https://stackoverflow.com/a/95027/320615https://stackoverflow.com/a/1088791/320615

答案 1 :(得分:1)

你可能会向后弯腰以某种方式完成这项工作。

但真正的答案是在开始输出任何HTML之前处理所有业务逻辑 。您需要在代码的开头决定当前请求是否是表单提交,并相应地设置变量和HTML模板。切勿将业务逻辑混合到HTML模板的中间。

答案 2 :(得分:0)

您必须使用$_POST['testf']$_POST['submit']变量。

并检查isset是否存在:php manual isset

<?php
echo("Begining " . $a);
?>
<html>

<head>
<title>Test Variables</title>
</head>

<body>
<form>
<form action="<?=$PHP_SELF?>" method="POST">
<input type="TEXT" name="testf" size="10">
<input type="submit" name = "submit" value = "submit"></form><?php
if ("submit" == $submit) {
$a = $_POST['testf'];
echo( "Bottom " . $a);
}
?>
</body></html>

答案 3 :(得分:-1)

你不能用PHP做到这一点,但是一旦使用javascript(和jquery使其更容易)完全加载,你就无法改变HTML。

编辑:好的,我第一次快速阅读你的代码: 我不理解echo标记之前的<html>,似乎不对。您还希望将POST var的值赋予$a,所以只需:

if(isset($_POST['testf'])) {
    echo $_POST['testf'];
}