-1


投稿値をデータベースに挿入する際に問題があるようですが、コーディングにエラーは見られません。私はしばらくそれを見てきましたが、すべてが正しく見えますが、フォームを使用してデータを送信すると、ページがリロードされますが、データベースにデータが挿入されません。
誰かがコーディングのエラーを特定するのを手伝ってくれれば幸いです。

ご不明な点がございましたら、お気軽にお問い合わせください。

敬具ジム

<?php 

 //Show the form if the user is a Admin

 if(isset($_SESSION['username'])){
   $username == $_SESSION['username'];

   $results = $mysqli->query("SELECT authority FROM users WHERE username='$username' LIMIT 1");
   while($row = $results->fetch_object()){
     $aut = $row->authority;
     }
  } 
  if($aut == 1){
?>

<form action="index.php" method="post">
 <table>
  <tr>
   <td> &nbsp; Title: </td>
   <td><input type="text" name="title"></td>
  </tr>
  <tr>
   <td valign="top"> &nbsp; News: </td>
   <td><textarea name="information"></textarea></td>
  </tr>
  <tr>
   <td> <input type="hidden" value="news"> </td>
   <td><input type="submit"></td>
  </tr>
 </table> <hr>
</form>

MYSQLI

<?php
}

//Insert into the database

if(isset($_POST['news'])){
 $title = $_POST['title'];
 $information = $_POST['information'];

 $mysqli->query("INSERT INTO  `news` (`title`, `information`) VALUES ( '".$title."', '".$information."')");
}
4

3 に答える 3

1

そのばかげたタイプミスの問題に加えて、コードは 2 つの実際の災害に悩まされています。

  1. エラー報告がないため、そのような愚かな間違いに対して無力になります
  2. データをクエリに直接追加していますが、そのためにプレースホルダーを使用する必要があります。
于 2013-11-03T14:37:03.237 に答える
1

<input type="hidden" value="news">する必要があります<input type="hidden" name="news">

だからこそ、isset($_POST['news'])決して真実ではありません。

于 2013-11-03T14:21:30.763 に答える
-1

元のクエリのバッククォートとピリオドの意図がわかりません。私の限られた経験では、クエリは次の形式を取ります。

$mysqli->query("INSERT INTO news(title, information) VALUES ('$title', '$information')");

優先度 1 は、php 関数の戻り値または php エラー ログへのアクセスの形でデバッグ情報を取得することです。

于 2013-11-03T14:26:48.660 に答える