私はphpにかなり慣れていないので、最近問題に遭遇しました。
PHP と MySQL を使用して自分の Web サイトにコメント ボックスを作成しましたが、問題なく動作しますが、大きな問題が 1 つあります。コメントは、HTML コメント ボックスの 1 行に収まる場合にのみ、Web サイトに表示されるか、データベースに保存されます。長いテキストを入力すると、何も保存されません。
これが私が使用したコードです:
<?php
mysql_connect("localhost","x","x");
mysql_select_db("fendersh_cdreviews");
$name=$_POST['name'];
$comment=$_POST['comment'];
$submit=$_POST['submit'];
$dbLink = mysql_connect("localhost", "x", "x");
mysql_query("SET character_set_client=utf8", $dbLink);
mysql_query("SET character_set_connection=utf8", $dbLink);
if($submit)
{
if($name&&$comment)
{
$insert=mysql_query("INSERT INTO cdreviews (name,comment) VALUES ('$name','$comment') ");
}
else
{
echo "please fill out all fields";
}
}
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<form action="cds.php" method="POST">
<table style="margin-left:15px; background-color:none; border-top: 1px dotted black; border-bottom: 1px dotted black; padding-bottom:5px;">
<tr><td><p style="margin-bottom:-20px;">Name:</p> <br><input type="text" name="name"/></tr>
<tr><td colspan="2"><p style="margin-bottom:-5px;">Comment:</p> </td></tr>
<tr><td colspan="5"><textarea name="comment" rows="3" cols="50"></textarea>
<tr><td colspan="2"><input type="submit" name="submit" value="Comment"></td></tr>
</table>
</form>
<?php
$dbLink = mysql_connect("localhost", "x", "x");
mysql_query("SET character_set_results=utf8", $dbLink);
mb_language('uni');
mb_internal_encoding('UTF-8');
$getquery=mysql_query("SELECT * FROM cdreviews ORDER BY id DESC");
while($rows=mysql_fetch_assoc($getquery))
{
$id=$rows['id'];
$name=$rows['name'];
$comment=$rows['comment'];
echo "<p><b>$name</b>; $comment </p>"
;}
?>
セキュリティ上の理由から、user_name と password を X に置き換えました。
それは私が使用しているコードであり、正常に動作します。
データベースに問題なく接続します。列パラメータを TEXT に設定しました。
そこを変えるべきことはありますか?
誰かがこれについてさらに助けてくれることを願っています。
よろしく
ジャック