输入表单和更改表单PHP MySQL

时间:2017-01-25 08:37:28

标签: javascript php html mysql forms

我已经创建了一个数据库和一个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>

我希望在“添加信息”中使用与“更改信息”

中完全相同的表单

2 个答案:

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