我正在使用 create.php 文件将新客户端添加到 MyShop 数据库,当添加重复的电子邮件时,我应该会收到此错误:
在这里为您提供我的代码:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$database = "MyShop";
// create connection
$connection = new mysqli($servername, $username, $password, $database);
$name = "";
$email = "";
$phone ="";
$address ="";
$errorMessage = "";
$successMessage = "";
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$name = $_POST["Stranka"];
$email = $_POST["Email"];
$phone = $_POST["Telefon"];
$address = $_POST["Naslov"];
do {
if (empty($name) || empty($email) || empty($phone) || empty($address)) {
$errorMessage = "Vsa polja so obvezna";
break;
}
//add new client to database
$sql = "INSERT INTO clients (name, email, phone, address)" .
"VALUES ('$name', '$email', '$phone', '$address')";
$result = $connection ->query($sql);
if (!$result) {
$errorMessage = "Invalid query: " . $connection->error;
break;
}
$name = "";
$email = "";
$phone ="";
$address ="";
$successMessage = "Uspešno dodano";
header("location: /MyShop/index.php");
exit;
} while (false);
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Trenutne stranke</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<div class="container my-5">
<h2>Dodaj stranko</h2>
<?php
if (!empty($errorMessage)) {
echo "
<div class='alert alert-warning alert-dismissible fade show' role='alert'>
<strong>$errorMessage</strong>
<button type='button' class='btn-close' data-bs-dismiss='alert' aria-label='Close'></button>
</div>
";
}
?>
<form method="post">
<div class="row mb-3">
<label class="col-sm-3 col-form-label">Stranka</label>
<div class="col-sm-6">
<input type="text" class="form-control" name="Stranka" value="<?php echo $name ?>">
</div>
</div>
<div class="row mb-3">
<label class="col-sm-3 col-form-label">Email</label>
<div class="col-sm-6">
<input type="text" class="form-control" name="Email" value="<?php echo $email ?>">
</div>
</div>
<div class="row mb-3">
<label class="col-sm-3 col-form-label">Telefon</label>
<div class="col-sm-6">
<input type="text" class="form-control" name="Telefon" value="<?php echo $phone ?>">
</div>
</div>
<div class="row mb-3">
<label class="col-sm-3 col-form-label">Naslov</label>
<div class="col-sm-6">
<input type="text" class="form-control" name="Naslov" value="<?php echo $address ?>">
</div>
</div>
<?php
if (!empty($successMessage)) {
echo "
<div class='row mb-3'>
<div class='offset-sm-3 col-sm-6'>
<div class='alert alert-success alert-dismissible fade show' role='alert'>
<strong>$successMessage</strong>
<button type='button' class='btn-close' data-bs-dismiss='alert' aria-label='Close'></button>
</div>
</div>
</div>
";
}
?>
<div class="row mb-3">
<div class="offset-sm-3 col-sm-3 d-grid">
<button type="submit" class="btn btn-primary">Dodaj</button>
</div>
<div class="col-sm-3 d-grid">
<a class="btn btn-outline-primary" href="/myshop/index.php" role="button">Prekliči</a>
</div>
</div>
</form>
</div>
</body>
</html>
我做错了什么?