2012-08-15 145 views
-1

我想从HTML表单中替换变量的值。替换变量

在我的config.php

我有一个变量

$ NUM = 3;

我想,当我在表格form.html输入一个值将取代值3

这里是我的HTML表单:

<html> 
    <body> 
    <table border="0" align="center" cellspacing="2" cellpadding="2"> 
    <tr align="center"> 
    <td>num</td> 
    <td><input type="text" name="num"></td> 
    </tr> 
    <tr align="center"> 
    <td colspan="2"><input type="submit" value="OK"></td> 
    </tr> 
    </table> 
    </form> 
    </body> 
    </html> 

你知不知道我该怎么做呢?

+1

您的''必须位于'

'标签中。然后使用'$ num = $ _POST ['num'];'Use'intval($ _ POST ['num'])'如果它必须是一个整数。 – 2012-08-15 12:48:32

+0

这是_very_初级。我建议你花一些时间阅读[PHP文档](http://www.php.net/manual/en/) – 2012-08-15 12:49:14

+0

你想用PHP中的变量替换通过表单提交的东西的值? – 2012-08-15 12:56:39

回答

0

试图在提交表单时将一个特定的变量替换为一个单独的php文件是一种非常糟糕的方式。如果这个配置变量是你希望能够改变的东西,为什么不把它存储在数据库表中?然后更新更容易。

0

您需要将它放在<form>标记中,然后设置method="post"

的PHP代码将是:$num = $_POST['num'];

+0

它不起作用,该变量不接受我们赋值的值...这是我的config.php <?php/* ================== ================================================== =====语言和数据库的常规设置======================================= ================================== */$ number = $ _POST ['num'];回波($ NUM);定义( “MAILQUEUE_BATCH_SIZE”,$ num个); ?> - - – user1581854 2012-08-15 13:41:42

+0

你有'$ number'而不是'$ num' – mlishn 2012-08-15 14:20:45

+0

yes.thanks但仍然是同样的问题 – user1581854 2012-08-15 14:21:52

0

一旦你提交表单,表单中的值将可无论是通过$_GET$_POST全局数组,这取决于递交您有以下形式的方法用过的。假设你使用post作为窗体的方法,您要设置$num如下:

$num = $_POST['num']; 

你完整的HTML(和PHP)网页应该是这样的:

<html> 

<?php 
if(isset($_POST['submit'])) 
{ 
    $num = intval($_POST['num']); 
} 
?> 

<body> 
<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>"> 
    <table border="0" align="center" cellspacing="2" cellpadding="2"> 
     <tr align="center"> 
      <td>num</td> 
      <td><input type="text" name="num"></td> 
     </tr> 
     <tr align="center"> 
      <td colspan="2"><input type="submit" value="OK" name="submit"></td> 
     </tr> 
    </table> 
</form> 

</body> 

+0

它不起作用,该变量不接受我们赋值的值...这是我的config.php <?php/* =============================================== ==========================语言和数据库的常规设置================== ================================================== ===== */$ number = $ _POST ['num'];回波($ NUM);定义( “MAILQUEUE_BATCH_SIZE”,$ num个); ?> - - – user1581854 2012-08-15 13:42:00

+0

这不是一个持久的解决方案。一旦用户使用表单导航离开页面,'$ num'将为'null'。 – BenM 2012-08-15 13:44:12

+0

Yes.exactly ..所以你在建议什么?/ – user1581854 2012-08-15 14:06:23

0

表单文件:

<html> 
<body> 

    <form action='action.php' method='post'> 
    <table border="0" align="center" cellspacing="2" cellpadding="2"> 
     <tr align="center"> 
     <td>num</td> 
     <td><input type="text" name="num"></td> 
     </tr> 
     <tr align="center"> 
     <td colspan="2"><input type="submit" value="OK"></td> 
     </tr> 
    </table> 
    </form> 

</body> 
</html> 

action.php

<?php 
    $num = (int)$_POST['num']; 
?> 
+0

用户想要将'$ _POST ['num']'的值赋给'$ num'。不要将值'3'分配给'$ _POST ['num']'。你的'method'属性也是无效的,字符串不应该有下划线。 – BenM 2012-08-15 12:58:27

+0

是的,这是真的,我想将$ _POST ['num']的值赋给$ num。 – user1581854 2012-08-15 13:04:16

+0

然后你可能想检查我的答案...... ;-) – BenM 2012-08-15 13:07:28