Php 输出在同一页上,而不是在另一页上

Php 输出在同一页上,而不是在另一页上,php,phpmyadmin,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

伙计们,很抱歉我现在还没有开始使用我的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>

验证文本

但不是在同一页上显示输出,而是创建一个新页。。是否有代码说明如何在同一页上输出此操作,或仅在逻辑中输出此操作?

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

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

这意味着当您提交表单时,页面将由page 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>

验证文本

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

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


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

您应该阅读一些关于AJAX()的内容。可能的用例:此外,您应该接受过去人们给您的一些答案,您的分数仅为20%。您还可以在php代码下再次打印表单。这是正常HTML表单提交的标准。你不能用标准的表单提交方法绕过它。你需要使用AJAX调用,这意味着你的脚本有一个完全不同的结构。除了AJAX之外,他还可以通过会话传递一个变量,并在页面上回显它,然后在页面末尾重置该变量,这样它只会在下次重新加载时显示。他甚至可以将其设置为存储一个数组并显示多个错误/消息。这是另一个解决方案,如果他刚刚开始,可能会更简单。