簡體   English   中英

輸入表單和更改表單PHP MySQL

[英]Input form and changing form PHP MySQL

我做了一個數據庫和一個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> 

我希望“添加信息”中的表單與“更改信息”中的表單完全相同

您是否嘗試過使用瀏覽器的delevoper工具觀看HTML代碼?

另外,您是否嘗試過使用引號輸入PHP變量? 就像是:

<input name='reisnummer' type='text' size='30' value='".$reisnummer."' tabindex='1'>

表格看起來“不同”是什么意思?

您的代碼回顯是您的變量! 您需要這樣寫:

echo "<input name='prijs' type='text' size='30'value='" . $prijs ."' tabindex='5'>";

因此,您的代碼將echo顯數據庫中的數據,而不是將$prijs作為字符串回顯!

希望這會幫助<3

獎金:

如果您的$_POST[verstopt]應該是字符串,則在查詢中使用單引號”!

要假裝MySQL注入,可以這樣編寫查詢:

 $verstopt = mysqli_real_escape_string($db, $_POST[verstopt]);
 $sql = "SELECT * FROM boeking WHERE reisnummer = $verstopt";

更改復選框的值

您可以使用Javascript來更改值,然后在將輸入值寫入其中的情況下,將<form>張貼到輸入中。將樣式從輸入更改為style='display:none;' 這樣用戶只能看到該復選框,而不是input一個它會被用來發送到您的MySQL查詢。

 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"> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM