私は何らかの理由でフォロースクリプトがハングすることがわかりました。それはロードされ、PHPにはエラーは見られませんが、データを処理しません(別のログインデータベースが開いているコンテキストにあることに注意してください)。次は、SQL接続を開くように見えないのはなぜですか?
process.phpでは、
<? PHP
//Process the POST data in prepration to write to SQL database.
$_POST['chat_input'] = $input;
$time = date("Y-m-d H:i:s");
$ip = $_SERVER['REMOTE_ADDR'];
$name = $_SESSION['username'];
$servername = "localhost";
$username = "id3263427_chat_user";
$password = "Itudmenif1!Itudmenif1!";
$dbname = "id3263427_chat_user";
$id = "NULL";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
$sql = 'INSERT INTO `chat` (`id`, `username`, `ip`, `timestamp`,
`message`) VALUES ('$id','$name', '$ip', '$time', '$input')';
if(mysqli_query($link, $sql)){
mysqli_close($conn);
header('Location: ../protected_page.php');
} else {
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}
?>
次のように上記のスクリプトに渡されたHTMLフォームは次のとおりです。
<form action="/process.php" method="post" id="chat">
<b> Send A Message (500 Character Max):</b><br>
<textarea name="chat_input" form="chat" size="500"></textarea>
<input type="submit" value=submit>
</form>
ないこれで何が起こっているか確認してください。
これは本当に$ _POST ['chat_input'] = $ input; 'ではなく、この' $ input = $ _POST ['chat_input']; '? – pmahomme
私はその点を訂正しており、何が起こっているのかには何の影響もないようです。 –
エラーが報告されていないことを確認してくださいあなたのsql文字列をチェックしてください。カラム名を簡単に引用する場合は二重引用符で囲む必要があります – douxsey