-3

フォームをphpページに送信し、それをmysqlデータベースに保存します。コードはエラーなしで実行されているようですが、値はデータベースに保存されていません。

コードから何かを見逃したことがありますか?

形:

<form action="newcourse.php" method="post">
<input name="title" type="text" id="title" value="">
<br /><br />
  <input name="location" type="text" id="location" value="">
<br /><br />
<input name="datestart" type="text" id="datestart" value="">
<br /><br />
<input name="dateend" type="text" id="dateend" value=""><br /><br />
<select name="noofweeks" id="noofweeks">
  <option value="1" selected>1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
  <option value="7">7</option>
  <option value="8">8</option>
  <option value="9">9</option>
  <option value="10">10</option>
  <option value="11">11</option>
  <option value="12">12</option>
</select><br /><br />
<select name="wheelchair" id="wheelchair">
  <option value="yes">yes</option>
  <option value="no" selected>no</option>
</select>
<br /><br />
<input name="time" type="text" id="time" value=""><br /><br />
<input name="courseleader" type="text" id="courseleader" value=""><br /><br />
<input name="pack" type="hidden" id="pack" value="participants_pack.pdf">
<input name="price" type="text" id="price" value=""><br /><br />
<input name="group" type="text" id="group" value=""><br /><br />
<input name="numberofplaces" type="text" id="numberofplaces" value=""><br /><br />
<select name="bookings" id="bookings">
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
  <option value="7">7</option>
  <option value="8">8</option>
  <option value="9">9</option>
  <option value="10">10</option>
  <option value="11">11</option>
  <option value="12">12</option>
  <option value="0" selected>0</option>
</select>
<br /><br />
<br /><br />
<input name="submit" type="submit" value="Save"></p></form>

mysqlデータベースに保存します。

<?php
$title=$_POST['title'];
$location=$_POST['location'];
$datestart=$_POST['datestart'];
$dateend=$_POST['dateend'];
$noofweeks=$_POST['noofweeks'];
$wheelchair=$_POST['wheelchair'];
$time=$_POST['time'];
$courseleader=$_POST['courseleader'];
$pack=$_POST['pack'];
$price=$_POST['price'];
$group=$_POST['group'];
$numberofplaces=$_POST['numberofplaces'];
$bookings=$_POST['bookings'];
//
require_once('connecttodatabase.php');
//
mysql_query("INSERT INTO courses (title, location, datestart, dateend, noofweeks, wheelchair, time, courseleader, pack, price, group, numberofplaces, bookings)  VALUES('$title', '$location', '$datestart', '$dateend', '$noofweeks', '$wheelchair', '$time', '$courseleader', '$pack', '$price', '$group', '$numberofplaces', '$bookings')");
mysql_close();
echo "Database updated!";
?>

connecttodatabase.phpはデータベースに接続するだけで、他のスクリプトでも機能するので、これが問題ではないことはわかっています。

4

3 に答える 3

1

POSTからこれらの変数を取得する必要があります。例:

$title = $_POST['title'];

あなたの編集はあなたがそれをしていることを示しています、私が何かを見つけたらこれを更新します。

ボンダイの答えを見て、以下を使用することをお勧めします。

mysql_query(...) or die(mysql_error());

したがって、SQLデータベースから返されたエラーメッセージを確認できます。

于 2012-10-01T14:43:08.713 に答える
0

あなたは予約されたsqlキーワードである列名としても使用timegroupています。列名の周りにバックティックを使用してください。そして私はあなたのコードを書き直しています。さらに、送信として送信の名前を使用しないでください。あなたのようなものを使用してany_name //Change anyname to whateverくださいお気に入り

<?php
require_once('connecttodatabase.php');

if(isset($_POST['any_name'])) {
$title=$_POST['title'];
$location=$_POST['location'];
$datestart=$_POST['datestart'];
$dateend=$_POST['dateend'];
$noofweeks=$_POST['noofweeks'];
$wheelchair=$_POST['wheelchair'];
$time=$_POST['time'];
$courseleader=$_POST['courseleader'];
$pack=$_POST['pack'];
$price=$_POST['price'];
$group=$_POST['group'];
$numberofplaces=$_POST['numberofplaces'];
$bookings=$_POST['bookings'];

   if(mysql_query("INSERT INTO courses (title, location, datestart, dateend, noofweeks, wheelchair, `time`, courseleader, pack, price, `group`, numberofplaces, bookings)  VALUES('$title', '$location', '$datestart', '$dateend', '$noofweeks', '$wheelchair', '$time', '$courseleader', '$pack', '$price', '$group', '$numberofplaces', '$bookings')")) {
     echo 'success';
      } else {
         echo 'Failed'.' '.mysql_error();
       }
    }
?>

PS使用開始mysqli-リファレンス

于 2012-10-01T14:55:15.047 に答える
-1

これを試して

<?php
$title = $_POST['title']
//and rest

mysql_query("INSERT INTO courses (title, location,....) VALUES('{$title}', '{$location}', '{$datestart}', '{$dateend}'.....')");

?>
于 2012-10-01T14:47:18.177 に答える