-1

送信ボタンを押すと、挿入クエリを使用して従業員データが挿入されるメイン フォームがありますが、フォームで送信ボタンを押すと、結果のフォームに表示されるコンテンツがないため、空白のページが開きます。送信ボタンを押したときにデータを入力するだけで、同じフォームに残り、空白のページが開かないようにするにはどうすればよいですか。これは可能ですか?index.php のスタイルを process.php ファイルに単純にコピーする必要がありますか? 私は新しく、学びたいと思っています。

これが私のコードです(index.php)

<html>
<head>

</head>
<body>


    <form action="process.php" method="post" style="position:relative; top:200px;left:150px">
        First Name: <input type="text" style="position:relative;left:14px"name="firstName"><br>
        Last Name: <input type="text" style="position:relative;left:15px"name="lastName"><br>

        <input type="submit"style="position:relative;left:88px"name="submitButton"  ><br>


    </form>
</body>
</html>

これは、クエリが実行された結果の php ファイルです (process.php)。

<html>
<body>


  <?php
    $myServer = "MyComputerName\SQLEXPRESS";
    $myUser = "Username";
    $myPass = "password";
    $myDB = "Northwind"; 

    //connection to the database
    $dbhandle = mssql_connect($myServer, $myUser, $myPass)
      or die("Couldn't connect to SQL Server on $myServer"); 

    //select a database to work with
    $selected = mssql_select_db($myDB, $dbhandle)
      or die("Couldn't open database $myDB"); 

    $query = "Insert into Employees values ('".$_POST["firstName"]."','".$_POST["lastName"]."')";

      mssql_query($query);

      mssql_close();

    ?>

</body>
</html>
4

1 に答える 1

1

はい、可能です。

1.AJAX

tymeJV が彼のコメントで既に述べたように、これには AJAX を使用できます。

2. process.php を変更

2 番目のオプションは、 process.phpファイルを変更することです。

<?php
$myServer = "MyComputerName\SQLEXPRESS";
$myUser = "Username";
$myPass = "password";
$myDB = "Northwind"; 

//connection to the database
$dbhandle = mssql_connect($myServer, $myUser, $myPass)
  or die("Couldn't connect to SQL Server on $myServer"); 

//select a database to work with
$selected = mssql_select_db($myDB, $dbhandle)
  or die("Couldn't open database $myDB"); 

$query = "Insert into Employees values ('".$_POST["firstName"]."','".$_POST["lastName"]."')";

  mssql_query($query);

  mssql_close();

  // Redirect
  header("location: index.php");
?>

HTML タグをなくし、リダイレクト ヘッダーを追加します。出力が既にある場合はヘッダーを送信できないため、HTML を削除する必要があります...

なぜこれが機能するのですか?

ヘッダーは出力の前にクライアントのブラウザに送信されるため、ユーザーは画面に何かが表示される前に、index.php ページにリダイレクトされます。

于 2013-09-08T17:41:34.323 に答える