私は簡単にこれを解決できるいくつかの問題に直面しています。 投稿ボタンをクリックするとデータベースにデータを保存するので、一見でうまくいくフォーム。私はそれを更新した後もデータを保存しますプロフィールページ。私はコードがページをリフレッシュするのではなく、送信ボタンをクリックして実行するだけで解決できると思います。しかし、それをどうやって行うのか分からない。事前に[送信]ボタンをクリックしたときにデータを挿入する方法は?
Profile.php
<?php
include('session.php');
include('frnd.php');
if(!isset($_SESSION['login_user'])){
header("location: index.php"); // Redirecting To Home Page
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Your Home Page</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<span><?php echo $error; ?></span>
<div id="profile">
<b id="welcome">Welcome : <i><?php echo $login_session; ?></i></b>
<b id="logout"><a href="logout.php">Log Out</a></b>
</div><br>
<form action="" method="post">
<input type="text" name="frndIn" required><input type="submit" name="add">
</form>
</body>
</html>
Frnd.phpは
<?php
$error = ''; // Variable To Store Error Message
if (isset($_POST['add'])) {
if (empty($_POST['frndIn'])) {
$error = "Please enter username of your friend";
}
else
{
$frndIn = $_POST['frndIn'];
// mysqli_connect() function opens a new connection to the MySQL server.
$conn = mysqli_connect("localhost", "root", "", "msg");
$query = "INSERT INTO friend (username, friend) values (?,?)";
// To protect MySQL injection for Security purpose
$stmt = $conn->prepare($query);
$stmt->bind_param("ss", $login_session, $frndIn);
if ($stmt->execute())
{
echo "New record inserted successfully";
}
else
{
$error = 'Error occur';
}
mysqli_close($conn); // Closing Connection
}
}
?>
感謝。
見ることができるのは、挿入クエリ自体です。データベースにまだ存在していない場合にのみ友人を挿入する必要があります。 –
@usmanikram誰かがリフレッシュしたときにページを空白のページにリダイレクトしたくない。 – Nawaraj
@KIKOSoftware提出ボタンをクリックすると動作しますが、プロフィールページを更新するとページが挿入されます。 – Nawaraj