私はphpとmysqlを使ってフォームを書いています。主な目的は、フォーム (1)が不足フィールドを検出するようにすることです。 (2)サブミットが成功した後にユーザー入力を更新し、再ロード/リフレッシュ時に再送信を避けるために (3)が最も重要です。 私は第1と第3のものを管理することができますが、第2のものは考えていません。 ここでは(第一および第三を達成することができ)私のコード他のファイルにリンクするヘッダーを使用しているときにフォームのユーザー入力を更新するにはどうすればよいですか?
form1.php
<!DOCTYPE html>
<html>
<head></head>
<body>
<?php
$name = "";
$class = "";
$school = "";
if(isset($_POST["submit"])){
$name = $_POST["name"];
$class = $_POST["class"];
$school = $_POST["school"];
$output = false;
if(empty($_POST["name"]) || empty($_POST["class"]) || empty($_POST["school"])){
echo 'field cannot be empty';
$output_form = true;
}
if(!empty($_POST["name"]) && !empty($_POST["class"]) && !empty($_POST["school"])){
$hostname = "localhost";
$admin = "root";
$password = "";
$database = "testdatabase";
$dbc = mysqli_connect($hostname, $admin, $password, $database) or die("database connection error");
$insert_query = "INSERT INTO `sorty` (`name`, `class`, `school`) VALUES ('$name', '$class', '$school')";
$insert_result = mysqli_query($dbc, $insert_query) or die("error");
if($insert_result == 1)
echo "data inserted";
else
echo "insert query failed";
mysqli_close($dbc);
header('Location: form2.php');
}
}
else
$output = true;
if($output){
?>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
Name: <input type="text" name="name" value="<?php echo $name?>"/><br/>
Class: <input type="text" name="class" value="<?php echo $class?>"/><br/>
School: <input type="text" name="school" value="<?php echo $school?>"/><br/>
<input type="submit" value="submit" name="submit"/>
</form>
<?php
}
?>
</body>
</html>
が私の第二のファイルform2.php(フォーム送信後に成功しページ)です
<body>
Name: /*user input here*/<br/>
Class: /*user input here*/<br/>
School: /*user input here*/<br/>
変数$ name、$ class、$ school of form.phpにアクセスすることができないので、ユーザー入力データを更新する際に問題が発生しています。だから、ファイルに渡って変数にアクセスするにはどうにかしていますか、このようにすることはできません。
ありがとう私はセッションを使用して正常に動作しています –
ようこそあなたがあなたの答えを得る場合は、答えを除外する必要がありますあなたが答えで満足するかどうか質問を投票する必要があります。あなたのためのコードを書いています。 ;) –
私はupvoteしようとしますが、私の評判は15以下ですので、何の効果もありません。私は15の担当者に達したときにそれを行います。 –