0

伙计们很抱歉这么菜鸟,但我仍然从我的 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>

但不是在同一页面上显示输出,而是在创建一个新页面..是否有关于如何在同一页面上输出它的代码或它只是在逻辑中?

4

2 回答 2

1

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

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

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

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

<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>
于 2012-04-09T01:41:22.917 回答
0

尝试在您的表单标签中执行此操作:

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

那么您的数据将被提交到同一页面。我希望这有帮助。

于 2012-04-09T06:11:50.320 回答