如果我按下我的帖子按钮,我的表单的数据将被发送到数据库但我得到2个数组到字符串错误' s。我不知道我必须改变什么才能解决这些错误。
这里还有我的数据库中显示数组的数据图片。
https://gyazo.com/f7463825b6ae2e44812d5149d55e9011
我希望有人可以帮助我!我正在学习:P
这是我的代码示例。
<html>
<title>HOTEL</title>
<center>
<head>
<h2>
<?php echo "Welkom terug " . $_SESSION["username"] . ""?>
</br>
<a href='logout.php'>Log uit</a></br>
</h2>
<hr>
<h1>Film toevoegen</h1>
<hr>
</head>
<body>
<form method="POST">
<table>
<tr>
<td>Film:</td>
<td><input type="text" name="txtFilm"></td>
</tr>
<tr>
<td>Genre:</td>
<td>
<select name="Genre">
<option value="Actie">Actie</option>
<option value="Fantasie">Fantasie</option>
<option value="Horror">Horror</option>
<option value="Avontuur">Avontuur</option>
<option value="Komedie">Komedie</option>
<option value="Romantiek">Romantiek</option>
<option value="Historisch">Historisch</option>
</select>
</td>
</tr>
<tr>
<td>Film omschrijving:</td>
<td><input type="text" name="txtFilmomschrijving"></td>
</tr>
<tr>
<td>Datum van uitkomst: </td>
<td><input type="date" name="uitkomstdate">
</td>
</tr>
<tr>
<td>Datum uit bioscoop: </td>
<td><input type="date" name="BiosDate">
</td>
</tr>
<tr></tr>
<tr></tr>
<tr></tr>
<tr>
<td>Film draai dagen: </td>
<td>
<input type="checkbox" value="Maandag" name="draaidag[]">Maandag
<input type="checkbox" value="Dinsdag" name="draaidag[]">Dinsdag
<input type="checkbox" value="Woensdag" name="draaidag[]">Woensdag
<input type="checkbox" value="Donderdag" name="draaidag[]">Donderdag
<input type="checkbox" value="Vrijdag" name="draaidag[]">Vrijdag
<input type="checkbox" value="Zaterdag" name="draaidag[]">Zaterdag
<input type="checkbox" value="Zondag" name="draaidag[]">Zondag
</td>
</tr>
<tr>
<td>Film tijd dagen: </td>
<td>
<input type="checkbox" value="12uur" name="tijddagen[]">12:00
<input type="checkbox" value="14uur" name="tijddagen[]">14:00
<input type="checkbox" value="16uur" name="tijddagen[]">16:00
<input type="checkbox" value="18uur" name="tijddagen[]">18:00
<input type="checkbox" value="20uur" name="tijddagen[]">20:00
<input type="checkbox" value="22uur" name="tijddagen[]">22:00
<input type="checkbox" value="24uur" name="tijddagen[]">24:00
</td>
</tr>
<tr>
<td>Zaal: </td>
<td>
<select name="zaal">
<option value="normaal">Normaal</option>
<option value="groot">Groot</option>
</select>
</td>
</tr>
<tr></tr>
<tr></tr>
<tr></tr>
<td></td>
<td>
<input type="submit" value="Film toevoegen" name="btnHuur" />
</td>
</tr>
</table>
</form>
<hr>
<?php
if(isset($_POST['btnHuur']))
{?>
<table>
<th>
<h2>Toegevoegde film:</h2>
</th>
<?php
if(isset($_POST['btnHuur']))
{
?>
<tr>
<td>
<?php echo 'Film: '; ?>
</td>
<td>
<?php echo $_POST['txtFilm']; ?>
</td>
</tr>
<tr>
<td>
<?php echo 'Genre: '; ?>
</td>
<td>
<?php echo $_POST['Genre']; ?>
</td>
</tr>
<tr>
<td>
<?php echo 'Film omschrijving: '; ?>
</td>
<td>
<?php echo $_POST['txtFilmomschrijving'];?>
</td>
</tr>
<tr>
<td>
<?php echo 'Datum van uitkomst: ';?>
</td>
<td>
<?php echo $_POST['uitkomstdate']; ?>
</td>
</tr>
<tr>
<td>
<?php echo 'Datum uit bioscoop: ';?>
</td>
<td>
<?php echo $_POST['BiosDate']; ?>
</td>
</tr>
<tr>
<td>
<?php echo 'Film draai dagen: ';?>
</td>
<td>
<?php
if(!empty($_POST['draaidag']))
{
foreach($_POST['draaidag']as$check)
{
echo " ".$check;
$draaidag = " ".$check;
}
?>
</td>
</tr>
<tr>
<td>
<?php echo 'Film tijd dagen: ';?>
</td>
<td>
<?php
if(!empty($_POST['tijddagen']))
{
foreach($_POST['tijddagen']as$check)
{
echo " ".$check;
$tijddagen = " ".$check;
}
}
?>
</td>
</tr>
<tr>
<td>
<?php echo 'zaal: '; ?>
</td>
<td>
<?php echo $_POST['zaal']; ?>
</td>
</tr>
<?php
}else
{
echo "Geen";
}
include("loginDB.php");
?>
</br>
</br>
</br>
<?php
$film = $_POST['txtFilm'];
$genre = $_POST['Genre'];
$Filmomschrijving = $_POST['txtFilmomschrijving'];
$Datumvanuitkomst = $_POST['uitkomstdate'];//$_POST['selDag'] + '-' + $_POST['selMaand'] + '-' + $_POST['selJaar'];
$Datumuitbioscoop = $_POST['BiosDate'];//$_POST['selDag'] + '-' + $_POST['selMaand'] + '-' + $_POST['selJaar'];
$Filmdraaidagen = $_POST['draaidag'];
$Filmtijddragen = $_POST['tijddagen'];
$Zaal = $_POST['zaal'];
?>
<tr></tr>
<tr>
<td>
<?php
if($film && $genre && $Filmomschrijving && $Datumvanuitkomst && $Filmdraaidagen && $Filmtijddragen && $Zaal)
{
$query = "INSERT INTO films VALUES (0, '$film', '$genre', '$Filmomschrijving', '$Datumvanuitkomst', '$Datumuitbioscoop', '$Filmdraaidagen', '$Filmtijddragen', '$Zaal')";
mysqli_query($db, $query);
echo "Bestelling voltooid!";
}
}
?>
</td>
</tr>
</table>
<hr>
<?php } ?>
</body>
</center>
</html>
&#13;
答案 0 :(得分:-1)
您的Php代码中存在一些错误,
Html您已将名称定义为Array
(draaidag[]
&amp;&amp; tijddagen[]
)
<tr>
<td>Film draai dagen: </td>
<td>
<input type="checkbox" value="Maandag" name="draaidag[]">Maandag
<input type="checkbox" value="Dinsdag" name="draaidag[]">Dinsdag
<input type="checkbox" value="Woensdag" name="draaidag[]">Woensdag
<input type="checkbox" value="Donderdag" name="draaidag[]">Donderdag
<input type="checkbox" value="Vrijdag" name="draaidag[]">Vrijdag
<input type="checkbox" value="Zaterdag" name="draaidag[]">Zaterdag
<input type="checkbox" value="Zondag" name="draaidag[]">Zondag
</td>
</tr>
<tr>
<td>Film tijd dagen: </td>
<td>
<input type="checkbox" value="12uur" name="tijddagen[]">12:00
<input type="checkbox" value="14uur" name="tijddagen[]">14:00
<input type="checkbox" value="16uur" name="tijddagen[]">16:00
<input type="checkbox" value="18uur" name="tijddagen[]">18:00
<input type="checkbox" value="20uur" name="tijddagen[]">20:00
<input type="checkbox" value="22uur" name="tijddagen[]">22:00
<input type="checkbox" value="24uur" name="tijddagen[]">24:00
</td>
</tr>
从$_POST
访问时,您需要使用from stockoverflow answer。将其转换为string
。
$Filmdraaidagen = implode("," ,$_POST['draaidag']);
$Filmtijddragen = implode(",",$_POST['tijddagen']);