我已经在StackOverflow上看到了所有代码。如果我在表单中使用动作并将php代码粘贴到另一个文件上,那很好,但是如果我在同一文件中发布php和表单代码,那么它会给我这个错误:
注意:未定义索引:C:\ xampp \ htdocs \ php_codes \ form.php中的fname 在第50行
注意:未定义的索引:姓氏在 C:\ xampp \ htdocs \ php_codes \ form.php,第51行
这是HTML / CSS代码:
table,
td {
border: 1px solid black;
}
<h1 align="center">Enter Data below</h1>
<br>
<br>
<br>
<form method="post" action="">
<table align="center">
<tr>
<td><input type="test" name="fname" placeholder="first name"></td>
</tr>
<tr>
<td><input type="text" name="lastname" placeholder="last name"></td>
</tr>
<tr>
<td align="right"><input type="submit" value="submit"></td>
</table>
</form>
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "1st_database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("connection failed" . $conn->connect_error);
}
$fname = $_POST['fname'];
$lname = $_POST['lastname'];
if (empty($_POST['fname']) && empty($_POST['lastname'])) {
echo "please enter name first";
} elseif ($query = "SELECT First_Name FROM sample_table WHERE First_Name =
'$fname'")
if (mysqli_query($conn, $query) === true) {
echo "this name already exists";
} else {
$sql = "INSERT INTO sample_table (First_Name,Last_Name)
VALUES ('$fname','$lname')";
if (!$conn->query($sql) === true) {
echo "Error: " . $sql . "<br>" . $conn->error;
}
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";
$sql = "SELECT * FROM sample_table";
$result = $conn->query($sql);
echo "<table>";
while ($row = $result->fetch_assoc()) {
echo "<tr><td><b>First Name: </b> " . "<td>" . $row["First_Name"] . "</td>" . "</td><td><b>Last Name: </b>" . "<td>" . $row["Last_Name"] . "</td>" . "</td></tr>";
}
echo "</table>";
}
$conn->close();
答案 0 :(得分:0)
用以下代码包装您的php代码:
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// …
}
这样,代码将仅在提交后执行。
或者只是在尝试使用前检查isset($var)