奇妙な問題があります。
PHP スクリプトを使用して MySQL に次のデータを入力しようとしています: 1. 到着 (日付) 2. 出発 (日付) 3. 価格 (int, 11)
PHPは次のとおりです。
if($_POST['formSubmit'] == "Submit")
{
$errorMessage = "";
if(empty($_POST['type']))
{
$errorMessage .= "<li>Gelieve een type in te voeren!</li>";
}
$hotel = $_POST['hotel'];
$type = $_POST['type'];
$prijs = $_POST['prijs'];
$arrival = $_POST['arrival'];
$departure = $_POST['departure'];
if(empty($errorMessage))
{
$sql = "INSERT INTO rooms (hotel, type, prijs, arrival, departure) VALUES (".
PrepSQL($hotel) . ", ".
PrepSQL($type) . ", ".
PrepSQL($arrival) . ", ".
PrepSQL($departure) . ", ".
PrepSQL($prijs) . ")";
mysql_query($sql);
include("room-insert.php");
exit();
}
}
function PrepSQL($value)
{
// Stripslashes
if(get_magic_quotes_gpc())
{
$value = stripslashes($value);
}
// Quote
$value = "'" . mysql_real_escape_string($value) . "'";
return($value);
}
HTML は次のとおりです。
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post">
<tr>
<p>
<label for='hotel'>Hotel</label><br/>
<input name="hotel" maxlength="50" value="<?=$naam;?>" />
</p>
</tr>
<tr>
<td>
<p>
<label for='type'>Type</label><br/>
<input type="text" name="type" maxlength="50" value="<?=$type;?>" />
</p>
</td>
</tr>
<tr>
<td>
<p>
<label for='prijs'>Prijs</label><br/>
<input type="text" name="prijs" maxlength="50" value="<?=$prijs;?>" />
</p>
</td>
</tr>
<tr>
<td>
<p>
<label for='arrival'>Datum check-in</label><br/>
<input type="date" name="arrival" maxlength="50" value="<?=$arrival;?>" />
</p>
</td>
</tr>
<tr>
<td>
<p>
<label for='departure'>Datum check-out</label><br/>
<input type="date" name="departure" maxlength="50" value="<?=$departure;?>" />
</p>
</td>
</tr>
<tr>
<td>
<input type="submit" name="formSubmit" value="Submit" />
</td>
</tr>
</form>
これを次の形式で入力します: Price (=prijs): 50 到着: 2012-09-12 出発: 2012-09-30
これは、MySQL では次のようになります。
価格: 2012 到着: 2012-09-30 出発: 50
だから、完全に台無しに...
MySQL、PHP、HTMLの両方でいくつかのことを試しましたが、すべて同じかそれ以上の結果になり、現在、これを解決する方法がわからない段階にあります...
ご協力いただきありがとうございます!
大安