데이터베이스에 내 양식을 보내는 데 문제가 있습니다. 문제를 해결하기 위해 한 시간 동안 노력했습니다. 내 코드를 "echo mysqli_error(); 하지만 오류가 발생하지 않았으며, 단순히 데이터베이스에 새 데이터가 부족했습니다 (제출 양식이 정보를 전송하는 페이지를 다시로드하지 않는 것처럼 보입니다). 데이터베이스는 config.php, connectDB.php 및 header.php를 사용하여 나머지 페이지에서도 작동하므로 데이터베이스 설정에 문제가 없습니다. 나는 헤더()와 페이지를 다시로드하지 않기 때문에 오류가 "isset ($ _ POST [ 'submit']) 내에 있다고 생각하지만 나머지 경우에는 대충 코드를 제공하고 있습니다. (나는이 문제를 해결 한 후 폼 유효성 검사 다음 단계이며,이 코드가 SQL 인젝션에 대해 보호되지 않습니다 알고) 다음 SQL 전에 다른 웹 페이지PHP 코드가 데이터베이스에 데이터를 입력하지 않습니다.
<?php
require_once ("Includes/config.php");
require_once ("Includes/connectDB.php");
include("Includes/header.php");
if (isset($_POST['submit'])){
$name = $_POST['name'];
$email = $_POST['email'];
$content = $_POST['content'];
$query = "INSERT INTO requests (name, email, content) VALUES (?, ?, ?)";
$statement = $databaseConnection->prepare($query);
$statement->bind_param('sss', $name, $email, $content);
header('Location: /index.php');
$statement->execute()
$statement->store_result();
setcookie("nameErr"," ", time()+3600);
setcookie("emailErr"," ", time()+3600);
setcookie("contentErr"," ", time()+3600);
setcookie("contentSucc","Announcement Request Successful", time()+3600);
header('Location: /request.php');
}
?>
<div id="main">
<ol>
<li>
<label for="name">Name:</label>
<input type="text" name="name" value="" id="name" />
<span class="error">* <?php if (isset($_COOKIE["nameErr"])){echo $_COOKIE["nameErr"];}?></span>
</li>
<li>
<label for="email">Email:</label>
<input type="text" name="email" value="" id="email" style = "position: relative; left: 3px;"/>
<span class="error" style = "position: relative; left: 3px;">* <?php if (isset($_COOKIE["emailErr"])){echo $_COOKIE["emailErr"];}?></span>
</li>
<li>
<label for="content">Requested Announcement:</label><br>
<textarea rows="18" cols="140" name="content" id="content"></textarea>
<br>
<span class="error"> <?php if (isset($_COOKIE["contentErr"])){echo $_COOKIE["contentErr"];}?></span>
<span class="error"> <?php if (isset($_COOKIE["contentSucc"])){echo $_COOKIE["contentSucc"];}?></span>
</li>
</ol>
<input type="submit" name="submit" value="Submit " style = "position: relative; left: 40px;" />
<!-- onclick="window.location='request.php';" -->
<p>
<a class="cancel" href="index.php" style = "position: relative; left: 40px;">Cancel</a>
</p>
</div>
이
... –
이것은 당신이 코드를하려고 할 때 발생하는 것입니다 3 시간의 수면. 미안하지만 편집 해 볼게. 고맙습니다! – AGentleRose
'header()'호출이'execute()'바로 전에 의심 스럽습니다. 서버 오류 로그에 뭐라고 써 있니? –