输出在同一页面上而不是在另一页上

时间:2012-04-09 00:17:04

标签: php phpmyadmin

伙计们抱歉是这样的菜鸟,但我仍然开始使用我的PHP,我想要做的是将结果放在同一页面上。

<html>

<body>

<?php

error_reporting(E_ALL ^ E_NOTICE);

$button=$_POST['button_validate'];

if(isset($button)){

   error_reporting(E_ALL ^ E_NOTICE);
   $text=$_POST['text_validate'];

   if(empty($text)){
       echo "your email must have at least 1 number";
   } else {
       echo "this is valid";
   }
} else {
?>
<form action="validate.php" method="post">

Validate text<input type="text" name="text_validate">

<input type="submit" value="Validate" name="button_validate">

</form>

<?php } ?>

</body>

</html>

但是没有在同一页面上显示输出显示新页面..是否有关于如何在同一页面或其逻辑中输出此代码的代码?

2 个答案:

答案 0 :(得分:1)

我认为在您的表单中,您已将操作指定为validate.php。

<form action="validate.php" method="post">

这意味着当您提交表单时,您的页面将由页面validate.php

处理

如果您可以删除操作属性,那么您的页面将由当前页面处理。

<form method="post">

看起来您已经在该页面上设置了一些验证,所以现在当您提交表单时,您的php逻辑将被处理。


同样,Sheikh Heera提到,如果您将表单移出条件标签,则可以在发布后显示表单。在下面的示例中,我刚刚删除了else子句,因此即使您提交表单,也会显示它们的表单。不确定你是否想要这个。

<body>

<?php

error_reporting(E_ALL ^ E_NOTICE);

$button=$_POST['button_validate'];

if(isset($button)){

   error_reporting(E_ALL ^ E_NOTICE);
   $text=$_POST['text_validate'];

   if(empty($text)){
       echo "your email must have at least 1 number";
   } else {
       echo "this is valid";
   }
}
?>

<form method="post">

Validate text<input type="text" name="text_validate">

<input type="submit" value="Validate" name="button_validate">

</form>

</body>

答案 1 :(得分:1)

尝试在表单标记中执行此操作:

<form method="post" action="">

然后您的数据将被提交到同一页面。我希望这会有所帮助。