我需要在页面顶部而不是底部显示内容

时间:2018-03-30 21:44:11

标签: php html post

如何在帖子后显示$ myGame变量的消息?

<!DOCTYPE HTML>  
<html>
<head>

</head>
<body> 
<?php
$myGame = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {

  if (empty($_POST["myGame"])) {
    $myGame = "";
  } else {
    $myGame = test_input($_POST["myGame"]);
  }

}

function test_input($data) {
  $data = trim($data);
  return $data;
}

?>


<h2>TITLE</h2>

<?php echo $myGame;?>

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">  

<input type="submit" name="submit" value="Submit" class="btn">  

</form>

<?php
if($_SERVER["REQUEST_METHOD"] == "POST"){
    $myGame = "Does this message display after post?";
    $_POST['myGame'] = $myGame;
}
?>
</div>
</body>
</html>

如果你转到这个页面http://universitychess.com/creategame.php 并发布,然后滚动到底部,它显示新的网址。我需要在页面顶部,但$ myGame不会显示它。

1 个答案:

答案 0 :(得分:0)

<强>首先

如果您的脚本调用同一页面,则可以将action参数设为空(action=""

<强>其次

您希望获得$_POST["myGame"]变量,但没有myGame名称的输入。

我将如何做到这一点:

<!DOCTYPE HTML>  
<html>
<head>

</head>
<body> 
<?php
$myGame = "";

if (isset($_POST))) {

  if (!empty($_POST["myGame"])) {
    $myGame = test_input($_POST["myGame"]);
  }

}

function test_input($data) {
  $data = trim($data);
  return $data;
}

?>

<h2>TITLE</h2>

<?php echo $myGame;?>

<form method="post" action="">  
  <input type="text" name="myGame">
  <input type="submit" name="submit" value="Submit" class="btn"> 
</form>

其他信息

您不应直接获得$_POST值。

最好这样做:filter_input(INPUT_POST, 'myGame')而不是$_POST['myGame']

filter_input