login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Probleem klant toevoegen

Offline Dordtenaar - 03/11/2005 13:19 (laatste wijziging 03/11/2005 13:20)
Avatar van DordtenaarNieuw lid Ik heb een scherm klant waar ik de klantgegevens moet toevoegen. Het toevoegen doet het goed. Maar als ik de pagina refresh, dan voegt die gelijk een nieuwe klant toe. Ik weet niet hoe ik dit moet oplossen.

Hieronder heb ik mijn code (insert) om een klant toe te voegen.

  1. <?php
  2.  
  3. $id = htmlspecialchars(addslashes($_POST['id']), ENT_QUOTES);
  4. $bedrijfsnaam = htmlspecialchars(addslashes($_POST['bedrijfsnaam']), ENT_QUOTES);
  5. $bedrijfsnaam = ucfirst($bedrijfsnaam);
  6.  
  7. $aanhef = htmlspecialchars (addslashes($_POST['aanhef']), ENT_QUOTES);
  8.  
  9. $voorletter = htmlspecialchars (addslashes($_POST['voorletter']), ENT_QUOTES);
  10. $voorletter = strtoupper($voorletter);
  11.  
  12. $tussenvoegsel = htmlspecialchars (addslashes($_POST['tussenvoegsel']), ENT_QUOTES);
  13.  
  14. $achternaam = htmlspecialchars (addslashes($_POST['achternaam']), ENT_QUOTES);
  15. $achternaam = ucfirst($achternaam);
  16.  
  17. $straat = htmlspecialchars (addslashes($_POST['straat']), ENT_QUOTES);
  18. $straat = ucfirst($straat);
  19. $huisnummer = htmlspecialchars (addslashes($_POST['huisnummer']), ENT_QUOTES);
  20. $postcode = htmlspecialchars (addslashes($_POST['postcode']), ENT_QUOTES);
  21. $postcode = strtoupper($postcode);
  22.  
  23. $woonplaats = htmlspecialchars (addslashes($_POST['woonplaats']), ENT_QUOTES);
  24. $woonplaats = ucfirst($woonplaats);
  25.  
  26. $telefoonthuis = htmlspecialchars (addslashes($_POST['telefoonthuis']), ENT_QUOTES);
  27. $telefoonwerk = htmlspecialchars (addslashes($_POST['telefoonwerk']), ENT_QUOTES);
  28. $mobiel = htmlspecialchars (addslashes($_POST['mobiel']), ENT_QUOTES);
  29. $fax = htmlspecialchars (addslashes($_POST['fax']), ENT_QUOTES);
  30. $email = htmlspecialchars (addslashes($_POST['email']), ENT_QUOTES);
  31. $memo = htmlspecialchars (addslashes($_POST['memo']), ENT_QUOTES);
  32.  
  33.  
  34. $query_hoogste = "SELECT kl_klantennr FROM tmpklant ORDER BY kl_klantennr DESC";
  35. $hoogste = mysql_query($query_hoogste, $sch) or die(mysql_error());
  36. $row_hoogste = mysql_fetch_assoc($hoogste);
  37. $totalRows_hoogste = mysql_num_rows($hoogste);
  38.  
  39. $sql = "INSERT INTO tmpklant (kl_klantennr, kl_bedrijfsnaam, kl_aanhef, kl_voorletters, kl_tussenvoegsel, kl_achternaam, kl_straatnaam, kl_huisnummer, kl_postcode, kl_woonplaats, kl_telefoonnrthuis, kl_telefoonnrwerk, kl_mobielnr, kl_faxnr, kl_email, kl_opmerking) VALUES ('$id','$bedrijfsnaam','$aanhef','$voorletter','$tussenvoegsel','$achternaam','$straat','$huisnummer','$postcode','$woonplaats','$telefoonthuis','$telefoonwerk','$mobiel','$fax','$email','$memo')";
  40. $resultaat = mysql_query($sql) or die (mysql_error());
  41. ?>
  42.  
  43. En hieronder de form met de input velden:
  44. <form id="toevoegen" name="toevoegen" method="post" action="">
  45. <table border="0" width="720" align="center" cellpadding="1" cellspacing="1" bgcolor="#E9ECEF">
  46. <tr>
  47. <td class="style9">Bedrijfsnaam</td>
  48. <td><input name="bedrijfsnaam" type="text" id="bedrijfsnaam" style="background-color:#D0D0D0; border:1px solid;"/></td>
  49. <td colspan="7" rowspan="12" class="style2"><span class="style10"><strong>Memo</strong></span>
  50. <textarea name="memo" cols="50" rows="10" wrap="off" id="memo" style="background-color:#D0D0D0; border:1px solid;"></textarea>
  51. <p>Voeg reparatie toe<br />
  52. <a href="../bestelling_verkoop/bestel.php?kl_klantennr=<?php echo $vars_pdm_kl_klantennr; ?>" target="_self">Voeg Bestelling Verkoop toe </a><br />
  53. <a href="../bestelling_supplies/index.php?kl_klantennr=<?php echo $vars_pdm_kl_klantennr; ?>" target="_self">Voeg Bestelling Supplies toe </a><br />
  54. Voeg Buitendienst Afspraak toe </p></td>
  55. </tr>
  56. <tr>
  57. <td class="style10" ><strong>Aanhef</strong></td>
  58. <td><select name="aanhef" style="background-color:#D0D0D0; border:1px solid;">
  59. <option>Selecteer</option>
  60. <?php
  61. do
  62. {
  63. ?>
  64. <option value="Mevr">Mevr</option>
  65. <option value="Dhr">Dhr</option>
  66. <option value="Fam">Fam</option>
  67. <option value="<?php echo $row_klanten['kl_aanhef']?>"><?php echo $row_klanten['kl_aanhef']?></option>
  68. <?php
  69. } while ($row_klanten = mysql_fetch_assoc($klanten));
  70. $rows = mysql_num_rows($klanten);
  71. if($rows > 0) {
  72. mysql_data_seek($klanten, 0);
  73. $row_klanten = mysql_fetch_assoc($klanten);
  74. }
  75. ?>
  76. </select></td>
  77. </tr>
  78. <tr>
  79. <td class="style10"><strong>Voorletter</strong></td>
  80. <td><input name="voorletter" type="text" id="voorletter" style="background-color:#D0D0D0; border:1px solid;"/></td>
  81. </tr>
  82. <tr>
  83. <td class="style9">Voorvoegsel</td>
  84. <td><input name="tussenvoegsel" type="text" id="tussenvoegsel" style="background-color:#D0D0D0; border:1px solid;"/></td>
  85. </tr>
  86. <tr>
  87. <td class="style9">Achternaam</td>
  88. <td><input name="achternaam" type="text" id="achternaam" style="background-color:#D0D0D0; border:1px solid;" /></td>
  89. </tr>
  90. <tr>
  91. <td class="style9">Straat</td>
  92. <td><input name="straat" type="text" id="straat" style="background-color:#D0D0D0; border:1px solid;"/></td>
  93. </tr>
  94. <tr>
  95. <td class="style2"><span class="style10"><strong>Huisnummer</strong></span></td>
  96. <td><input name="huisnummer" type="text" id="huisnummer" style="background-color:#D0D0D0; border:1px solid;"/></td>
  97. </tr>
  98. <tr>
  99. <td class="style2"><span class="style10"><strong>Postcode</strong></span></td>
  100. <td><input name="postcode" type="text" id="postcode" style="background-color:#D0D0D0; border:1px solid;"/></td>
  101. </tr>
  102. <tr>
  103. <td class="style2"><span class="style10"><strong>Woonplaats</strong></span></td>
  104. <td><input name="woonplaats" type="text" id="woonplaats" style="background-color:#D0D0D0; border:1px solid;"/></td>
  105. </tr>
  106. <tr>
  107. <td class="style2"><span class="style10"><strong>Telefoonthuis</strong></span></td>
  108. <td><input name="telefoon" type="text" id="telefoonthuis" style="background-color:#D0D0D0; border:1px solid;"/></td>
  109. </tr>
  110. <tr>
  111. <td class="style2"><span class="style10"><strong>Telefoonwerk</strong></span></td>
  112. <td><input name="telefoonwerk" type="text" id="telefoonwerk" style="background-color:#D0D0D0; border:1px solid;"/></td>
  113. </tr>
  114. <tr>
  115. <td class="style2"><span class="style10"><strong>Mobiel</strong></span></td>
  116. <td><input name="mobiel" type="text" id="mobiel" style="background-color:#D0D0D0; border:1px solid;"/></td>
  117. </tr>
  118. <tr>
  119. <td height="25" class="style2"><span class="style10"><strong>Fax</strong></span></td>
  120. <td><input name="fax" type="text" id="fax" style="background-color:#D0D0D0; border:1px solid;"/></td>
  121. </tr>
  122. <tr>
  123. <td class="style2"><span class="style9">Email</span></td>
  124. <td><input name="email" id="email" type="text" style="background-color:#D0D0D0; border:1px solid;"/></td>
  125. <td rowspan="2" class="style2"><a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('vorige','','../Images/Big_icons/back_f2.png',1)"><img src="../Images/Big_icons/back.png" alt="vorige" name="vorige" width="32" height="32" border="0" id="vorige" /></a></td>
  126. <td rowspan="2" class="style2">&nbsp;</td>
  127. <td rowspan="2" class="style2">&nbsp;</td>
  128. <td rowspan="2" class="style2"><a href="javascript:BRB_PHP_DelWithCon('verwijderklant.php','kl_klantennr',<?php echo $row_klanten['kl_klantennr']; ?>,'U bent van plan een klant te verwijderen!
  129.  
  130. Weet u het zeker?');">verwijder klant</a></td>
  131. <td rowspan="2" class="style2">&nbsp;</td>
  132. <td rowspan="2" class="style2"><a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('volgende','','../Images/Big_icons/next_f2.png',1)"><img src="../Images/Big_icons/next.png" alt="volgende" name="volgende" width="32" height="32" border="0" id="volgende" /></a></td>
  133. <td rowspan="2" class="style2"><a href="print_klant.php?kl_klantennr=<?php echo $vars_pdm_kl_klantennr; ?>"><img src="../Images/Icons/printen.png" alt="printen" width="16" height="16" border="0" /></a>
  134. <input type="image" src="../Images/Big_icons/addusers.png" width="48" height="48" align="right" /> </td>
  135. </tr>
  136. <tr>
  137. <td class="style9">Nieuwsbrief</td>
  138. <td>ja
  139. <input name="radiobutton" type="radio" value="radiobutton" />
  140. nee
  141. <label>
  142. <input name="radiobutton" type="radio" value="radiobutton" />
  143. </label></td>
  144. </tr>
  145. </table>
  146. </form>
  147. </body>
  148. </html>


Ik hoop dat jullie mijn kunnen helpen.

7 antwoorden

Gesponsorde links
Offline Ibrahim - 03/11/2005 13:39 (laatste wijziging 03/11/2005 14:19)
Avatar van Ibrahim PHP expert dit heeft niet met je probleem te maken:

je kunt beter een functie schrijven voor al die beveiliging en dan is het overzichtelijker dan al die haakjes enz..

Dit heeft wel met je probleem te maken:

Maak een cookie aan op het moment dat het formulier word verzonden (als alles ook klopt dus wanneer de gegevens in de database worden gestopt)

Kijk dan of er een cookie bestaat zo ja dan geef een error bericht Zo nee voeg toe

edit @hieronder:

lol had ik nog niet gezien 
Offline Maarten - 03/11/2005 13:52
Avatar van Maarten Erelid 't is nie moeilijk:
je controleert niet eens of het formulier wel verzonden is, je dumpt direct gegevens in de je database!

Controleer of et verzonden is met
if($_SERVER['REQUEST_METHOD'] == 'POST') {
.. hier doe je al die zooi bovenaan, waaronder je INSERT INTO..
}
/// Hier formulier
Offline Dordtenaar - 03/11/2005 19:00
Avatar van Dordtenaar Nieuw lid Inderdaad hij doet het nu 

De $_SERVER['REQUEST_METHOD'] werkt heel goed. Weer iets geleerd vandaag. 

Tnx Murfy
Offline Ultimatum - 03/11/2005 19:15
Avatar van Ultimatum PHP expert en moet je ook niet kijke of er velden leeg zijn, dan verkom je ook dat hij gelijk verstuurd namelijk

  1. if(empty($naam)) {
  2. echo "Veld is leegelaten"
  3. }
Offline Dordtenaar - 04/11/2005 12:06 (laatste wijziging 04/11/2005 12:07)
Avatar van Dordtenaar Nieuw lid Ik heb nu mijn zoekfunctie bij mijn klant toevoegen erbij gezet. Het zijn nu 2 formulieren.

De zoekfunctie werkt perfect. Maar als ik een klant wilt zoeken en ik druk echter op submit dan voegt die gelijk een klant toe.

Dit is de zoekfunctie die ik onder de andere phpcode boven hebt toegevoegd.
  1. <form id="zoek" name="zoek" method="post" action="">
  2. <table border="0" width="720" align="center" cellpadding="1" cellspacing="1" bgcolor="#E9ECEF">
  3. <tr>
  4. <td class="style9" width="13%">Zoek</td>
  5. <td><input name="zoek" type="text" id="zoek" style="background-color:#D0D0D0; border:1px solid;" /></td>
  6. </tr>
  7. <tr>
  8. <td colspan="2"><center><input type="submit" name="Submit" value="zoek" /></center></td>
  9. </tr>
  10. </table>
  11. </form>
  12. <?php
  13. if(isset($_POST['zoek']))
  14. {
  15. $zoek = $_POST['zoek'];
  16. $sql = "SELECT * FROM klanten WHERE kl_achternaam LIKE '%" . $zoek ."%' OR (kl_bedrijfsnaam) LIKE '%" . $zoek . "%'
  17. OR (kl_straatnaam) LIKE '%" . $zoek . "%'";
  18.  
  19. $resultaat = mysql_query($sql) or die (mysql_error());
  20.  
  21. $num = mysql_num_rows($resultaat);
  22.  
  23. if(empty($num))
  24. {
  25. echo "" . $zoek . " werd niet gevonden...";
  26. }
  27. else
  28. {
  29.  
  30. echo "Resultaten:";
  31. echo "<strong>";
  32. echo "&nbsp;";
  33. echo $num;
  34. echo "&nbsp;";
  35. echo "records gevonden.";
  36. echo "</strong>";
  37. echo "<br/><br/>";
  38.  
  39. echo "<table width='200' border='1'>";
  40. echo "<tr>";
  41. echo "<td>ID</td>";
  42. echo "<td>Bedrijfsnaam</td>";
  43. echo "<td>Aanhef</td>";
  44. echo "<td>Voorletter</td>";
  45. echo "<td>Voorvoegsel</td>";
  46. echo "<td>Achternaam</td>";
  47. echo "<td>Straatnaam</td>";
  48. echo "<td>Huisnummer</td>";
  49. echo "<td>Postcode</td>";
  50. echo "<td>Woonplaats</td>";
  51. echo "<td>Telefoonnr</td>";
  52. echo "<td>Telefoonwerk</td>";
  53. echo "<td>Mobielnr</td>";
  54. echo "<td>Faxnr</td>";
  55. echo "<td>Email</td>";
  56. echo "<td>Nieuwsbrief</td>";
  57. echo "<td>Opmerking</td>";
  58. echo "</tr>";
  59. while($row = mysql_fetch_object($resultaat))
  60. {
  61. echo "<tr><td>";
  62. echo $row->kl_klantennr;
  63. echo "</td><td>";
  64. echo $row->kl_bedrijfsnaam;
  65. echo "</td><td>";
  66. echo $row->kl_aanhef;
  67. echo "</td><td>";
  68. echo $row->kl_voorletters;
  69. echo "</td><td>";
  70. echo $row->kl_tussenvoegsel;
  71. echo "</td><td>";
  72. echo $row->kl_achternaam;
  73. echo "</td><td>";
  74. echo $row->kl_straatnaam;
  75. echo "</td><td>";
  76. echo $row->kl_huisnummer;
  77. echo "</td><td>";
  78. echo $row->kl_postcode;
  79. echo "</td><td>";
  80. echo $row->kl_woonplaats;
  81. echo "</td><td>";
  82. echo $row->kl_telefoonnrthuis;
  83. echo "</td><td>";
  84. echo $row->kl_telefoonnrwerk;
  85. echo "</td><td>";
  86. echo $row->kl_mobielnr;
  87. echo "</td><td>";
  88. echo $row->kl_faxnr;
  89. echo "</td><td>";
  90. echo $row->kl_email;
  91. echo "</td><td>";
  92. echo $row->kl_nieuwdbrief;
  93. echo "</td><td>";
  94. echo $row->kl_opmerking;
  95. echo "</td></tr>";
  96. }
  97. echo "</table>";
  98. echo "<br><br>";
  99. }
  100. }
  101. ?>


Hoe kun ik nu zeggen welke form hij moet submitten?
Offline v1pEr - 04/11/2005 14:38
Avatar van v1pEr Nieuw lid met de id's die je aan de forms gegeven hebt, niet?
Offline Ultimatum - 04/11/2005 15:03 (laatste wijziging 04/11/2005 17:33)
Avatar van Ultimatum PHP expert je hebt hier if(isset($_POST['zoek']))
terwijl de naam van je submit button Submit is
en waarom echo je gigantisch veel html..??

  1. <form id="zoek" name="zoek" method="post" action="">
  2. <table border="0" width="720" align="center" cellpadding="1" cellspacing="1" bgcolor="#E9ECEF">
  3. <tr>
  4. <td class="style9" width="13%">Zoek</td>
  5. <td><input name="zoek" type="text" id="zoek" style="background-color:#D0D0D0; border:1px solid;" /></td>
  6. </tr>
  7. <tr>
  8. <td colspan="2"><center><input type="submit" name="zoek" value="zoek" /></center></td>
  9. </tr>
  10. </table>
  11. </form>
  12. <?php
  13. if(isset($_POST['zoek']))
  14. {
  15. $zoek = $_POST['zoek'];
  16. $sql = "SELECT * FROM klanten WHERE kl_achternaam LIKE '%" . $zoek ."%' OR (kl_bedrijfsnaam) LIKE '%" . $zoek . "%'
  17. OR (kl_straatnaam) LIKE '%" . $zoek . "%'";
  18.  
  19. $resultaat = mysql_query($sql) or die (mysql_error());
  20.  
  21. $num = mysql_num_rows($resultaat);
  22.  
  23. if(empty($num))
  24. {
  25. echo "" . $zoek . " werd niet gevonden...";
  26. }
  27. else
  28. {
  29. ?>
  30. Resultaten:
  31. <strong>
  32. &nbsp
  33. <?php echo $num; ?>
  34. &nbsp
  35. records gevonden.
  36. </strong>
  37. <br/><br/>
  38.  
  39. <table width='200' border='1'>
  40. <tr>
  41. <td>ID</td>
  42. <td>Bedrijfsnaam</td>
  43. <td>Aanhef</td>
  44. <td>Voorletter</td>
  45. <td>Voorvoegsel</td>
  46. <td>Achternaam</td>
  47. <td>Straatnaam</td>
  48. <td>Huisnummer</td>
  49. <td>Postcode</td>
  50. <td>Woonplaats</td>
  51. <td>Telefoonnr</td>
  52. <td>Telefoonwerk</td>
  53. <td>Mobielnr</td>
  54. "<td>Faxnr</td>
  55. <td>Email</td>
  56. <td>Nieuwsbrief</td>
  57. <td>Opmerking</td>
  58. </tr>
  59. <?php
  60. while($row = mysql_fetch_object($resultaat))
  61. {
  62. ?>
  63. <tr><td>
  64. <?php echo $row->kl_klantennr; ?>
  65. </td><td>
  66. <?php echo $row->kl_bedrijfsnaam; ?>
  67. </td><td>
  68. <?php echo $row->kl_aanhef; ?>
  69. </td><td>
  70. <?php echo $row->kl_voorletters; ?>
  71. </td><td>
  72. <?php echo $row->kl_tussenvoegsel; ?>
  73. </td><td>
  74. <?php echo $row->kl_achternaam ?>
  75. </td><td>
  76. <?php echo $row->kl_straatnaam ?>
  77. </td><td>
  78. <?php echo $row->kl_huisnummer ?>
  79. </td><td>
  80. <?php echo $row->kl_postcode ?>
  81. </td><td>
  82. <?php echo $row->kl_woonplaats; ?>
  83. </td><td>
  84. <?php echo $row->kl_telefoonnrthuis; ?>
  85. </td><td>
  86. <?php echo $row->kl_telefoonnrwerk ?>
  87. </td><td>
  88. <?php echo $row->kl_mobielnr ?>
  89. </td><td>
  90. <?php echo $row->kl_faxnr ?>
  91. </td><td>
  92. <?php echo $row->kl_email ?>
  93. </td><td>
  94. <?php echo $row->kl_nieuwdbrief ?>
  95. </td><td>
  96. <?php echo $row->kl_opmerking ?>
  97. echo "</td></tr>
  98. <?php
  99. }
  100. ?>
  101. echo "</table>
  102. echo "<br /><br />
  103. <?php
  104. }
  105. }
  106. ?>


heb um een beetje aangepast (bijna alle echo's weg )
als je wel echo's wil mot je even deze regel
  1. if(isset($_POST['submit']))

ipv
  1. if(isset($_POST['zoek']))

regel 14 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.238s