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ページによって処理されます。

アクション属性を削除でき、ページが現在のページで処理される場合。

<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 に答える