我正在研究检查服务器状态的PHP代码。 当代码使用时代码完美无缺:
<?php
$SERVER_IP = "217.198.136.31";
$SERVER_PORT = "25565";
$QUERY_PORT = "25565";
?>
但是,我需要从两个HTML输入元素中获取它们,而不是手动分配php变量的值。我尝试过以下代码,但它不起作用:
<input id="checkip" name="checkip" value="217.198.136.31">
<input id="checkport" name="checkport" value="25565">
<?php
$SERVER_IP = $_POST['checkip'];
$SERVER_PORT = $_POST['checkport'];
$QUERY_PORT = $_POST['checkport'];
?>
我无法弄清楚它为什么不起作用,$ _POST是否从HTML元素中获取确切的值并将它们放入PHP变量中?我该怎么做以获得最后一个代码的相同结果?
答案 0 :(得分:1)
$_POST
读取请求中提交的数据。在页面发送到浏览器并且通过提交表单(使用method="post"
)或其他一些技术发出HTTP请求请求新页面之前,您的输入值将不可用。 (例如Ajax)已被使用。
答案 1 :(得分:1)
你可以使用它。
<?php
if(isset($_POST['submit'])){
$SERVER_IP = $_POST['checkip'];
$SERVER_PORT = $_POST['checkport'];
echo "server ip is:" .$SERVER_IP;
}
?>
<form method="post" action="">
<input id="checkip" name="checkip" value="217.198.136.31">
<input id="checkport" name="checkport" value="25565">
<input type="submit" value="submit" name="submit"/>
</form>
答案 2 :(得分:0)
<input id="checkip" name="checkip" value="217.198.136.31">
是一个属于FORM的html-input元素,当这个表单被发送时,目标获取表单字段,这些可以通过$ _POST访问...但仅当表单的方法是POST < / p>
示例:
<html>
<Body>
<?php
if(isset($_POST['test'])) echo $_POST['test'];
?>
<form action='?' method='post'>
<Input Name='test' value='123'>
<button type='submit'>Send</button>
</form>
</html>
请记住,php是在Server上执行的,之前是客户端浏览器评估任何表单元素
答案 3 :(得分:0)
问题是你没有传递值,输入类型字段必须在表单示例中使用:
<form method=POST>
<input id="checkip" name="checkip" value="217.198.136.31">
<input id="checkport" name="checkport" value="25565">
<input type="submit" value="Submit" />
</form>
欢呼!
答案 4 :(得分:0)
请确保您实际上是在发布表单。
仅当表单与$_POST
一起发布时, method="post"
才会获取值。
否则,您的代码似乎没问题。
希望它有效。