我已经创建了一个数据库和一个php来向数据库中插入新信息。当我添加一些新信息时,一切都运行良好,但当我想更改这些信息并更新这些信息时,我的输入表单看起来非常不同。这是我添加新信息的代码
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="utf-8">
<title>Klanten invoeren</title>
</head>
<body>
<form action="SEDDopslaan.php" method="post">
<p>
Reisnummer: <br>
<input name="reisnummer" type="text" size="30" tabindex="1">
</p>
<p>
Land: <br>
<select name="land">
<option value="Nederland">Nederland
<Option value="Duitsland">Duitsland
<Option value="Frankrijk">Frankrijk
<Option value="Belgie">Belgie
</select>
</p>
<p>
Plaats: <br>
<input name="plaats" type="text" size="30" tabindex="3">
</p>
<p>
Vertrekdatum: <br>
<input name="vertrekdatum" type="date" size="30" tabindex="4">
</p>
<p>
Retourdatum: <br>
<input name="retourdatum" type="date" size="30" tabindex="5">
</p>
<p>
Aantalpersonen: <br>
<input name="aantalpersonen" type="text" size="30" tabindex="2">
</p>
<p>
Prijs: <br>
<input name="prijs" type="text" size="30" tabindex="2">
</p>
<p>
Betaling voltooid: <br>
<input name="betalingvoltooid" type="checkbox" value="Ja" size="30" tabindex="2">Ja
<input name="betalingvoltooid" type="checkbox" value="Nee" size="30" tabindex="2">Nee
</p>
<p>
<input type="submit" name="submit" value="Verstuur" title="Verstuur dit formulier" tabindex="6">
</p>
</form>
</body>
</html>
这是我更改信息的代码
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="utf-8">
<title>Klant wijzigen</title>
</head>
<body>
<?php
// Maken van verbinding
try {
$db = new PDO('mysql:host=localhost;dbname=Reisbureau','root','');
}
catch(PDOException $e) {
echo $e->getMessage();
}
// De SQL opdracht
// Hier wordt de klant geselecteerd om de gegevens op
// te halen die je wilt wijzigen. Het klantnummer zit
// in $_POST[verstopt]
$sql = "SELECT * FROM boeking WHERE reisnummer = $_POST[verstopt]";
$resultaat = $db->query($sql);
// De klantgegevens worden in variabelen gestopt zodat
// we ze in het formulier kunnen zien
foreach($resultaat as $row) {
$reisnummer = $row['reisnummer'];
$land = $row['land'];
$plaats = $row['plaats'];
$vertrekdatum = $row['vertrekdatum'];
$retourdatum = $row['retourdatum'];
$aantalpersonen = $row['aantalpersonen'];
$prijs = $row['prijs'];
$betalingvoltooid = $row['betalingvoltooid'];
}
// Sluiten van verbinding
$db = NULL;
echo "<form action='SEDDwijzigdefinitief.php'method='post'>
<p>Reisnummer: <br>
<input name='reisnummer' type='text' size='30'value=$reisnummer tabindex='1'>
</p>
<p>Land: <br>
<input name='land' type='text' size='30' value=$land tabindex='2'>
</p>
<p>Plaats: <br>
<input name='plaats' type='text' size='30' value=$plaats tabindex='3'>
</p>
<p>vertrekdatum: <br>
<input name='vertrekdatum' type='date' size='30'value=$vertrekdatum tabindex='4'>
</p>
<p>Retourdatum: <br>
<input name='retourdatum' type='date' size='30'value=$retourdatum tabindex='5'>
</p>
<p>Aantalpersonen: <br>
<input name='aantalpersonen' type='text' size='30'value=$aantalpersonen tabindex='5'>
</p>
<p>Prijs: <br>
<input name='prijs' type='text' size='30'value=$prijs tabindex='5'>
</p>
<p>Betalingvoltooid: <br>
<input name='betalingvoltooid' type='text' size='30'value=$betalingvoltooid tabindex='5'>
</p>
<p><input type='submit' name='submit'value='Verstuur' title='Verstuur dit formulier' tabindex='6'>
</p>
</form>"
?>
</body>
</html>
我希望在“添加信息”中使用与“更改信息”
中完全相同的表单答案 0 :(得分:1)
您是否尝试过使用浏览器的delevoper工具来观看HTML代码?
另外,您是否尝试过使用引号输入PHP变量? 类似的东西:
<input name='reisnummer' type='text' size='30' value='".$reisnummer."' tabindex='1'>
对于看起来“不同”的表单,你是什么意思?
答案 1 :(得分:1)
您的代码回显是您的变量!你需要这样写:
echo "<input name='prijs' type='text' size='30'value='" . $prijs ."' tabindex='5'>";
因此,您的代码将echo
数据库中的数据,而不是$prijs
plain作为字符串!
希望这会有所帮助&lt; 3
加分:
如果您的$_POST[verstopt]
应为字符串,请在查询中使用单引号!
假装MySQL注入,您可以像这样编写查询:
$verstopt = mysqli_real_escape_string($db, $_POST[verstopt]);
$sql = "SELECT * FROM boeking WHERE reisnummer = $verstopt";
更改复选框值
您可以使用Javascript更改值,然后通过输入我们的<form>
来发布值。将输入的样式更改为style='display:none;'
,以便用户只能看到复选框,而不是用于发送到您的mysql查询的input
。
function test(){
var Result = document.getElementById("checkbox").checked;
document.getElementById('ResultCheckbox').value = Result;
}
<input type="checkbox" id="checkbox" onclick="test();">
<input name="checkboxAnswer" id="ResultCheckbox" value="no">