私はphpに少し慣れていないので、助けが必要です。1つのページに、名と姓のフィールドがある小さなフォームがあります。送信時に、外部の.phpスクリプトに送信します。ここで、データベースに同じ名前の人がすでに存在するかどうかを確認します。データベースに名前を入力した人がすでにいる場合は、データベースへの書き込みをキャンセルして、htmlページに戻りたいと思います。これを実行しましたが、JSメッセージボックス「この名前の人はすでにdbに存在します!」を表示したいと思います。ベースへの書き込みがキャンセルされた場合は、入力フィールドに最後に書き込まれた値を表示します。私はたくさんの文学を読んでいて、迷子になっています。とにかく助けてくれてありがとう:)
これは私のフォームです:
<form name="form" action="write.php" method="post" onSubmit="return Validate()">
Firstname: <input type="text" name="firstname">
Lastname: <input type="text" name="lastname">
<input type="submit">
</form>
私のphpコード:
<?php
$con=mysqli_connect("localhost","root","","phptest");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
if (isset($_POST['firstname'])) {
$firstname = $_POST['firstname'];
}
if (isset($_POST['lastname'])) {
$lastname = $_POST['lastname'];
}
$duplicate=mysqli_query($con,"SELECT * FROM persons WHERE FirstName='$firstname'");
if(mysqli_num_rows($duplicate)>0)
{
die('Name already exists' );//I want that this message shows in html file, as alert
}
else{
$sql="INSERT INTO Persons (FirstName, LastName)
VALUES('$firstname','$lastname')";
$result=mysqli_query($con,$sql);
if (!$result)
{
die('Error: ' . mysqli_error());
}
}
header( 'Location://localhost/ivanda.php' ) ;
mysqli_close($con);
?>