login  Naam:   Wachtwoord: 
Registreer je!
 Forum

connectie databank en formulier

Offline casso - 11/03/2011 13:15 (laatste wijziging 11/03/2011 13:22)
Avatar van cassoNieuw lid goeiedag,
ik heb een probleem met de connectie tussen mijn formulier en mijn databank,ik werk met xampp en in mijn htdocs staan deze 2 codes:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Naamloos document</title>
  6. <style type="text/css">
  7. #form1 table {
  8. font-family: Verdana, Geneva, sans-serif;
  9. vertical-align: middle;
  10. left: auto;
  11. right: auto;
  12. clip: rect(auto,auto,auto,auto);
  13. margin-right: auto;
  14. margin-left: auto;
  15. border: medium solid #C00;
  16. background-color: #933;
  17. }
  18. body {
  19. background-color: #933;
  20. }
  21. h1 {
  22. font-family: Verdana, Geneva, sans-serif;
  23. text-align: center;
  24. }
  25. #form1 table tr td {
  26. padding-left: 30px;
  27. }
  28. #form1 p #btnVerzenden {
  29. margin-right: auto;
  30. margin-left: auto;
  31. text-align: center;
  32. vertical-align: middle;
  33. }
  34. </style>
  35. </head>
  36.  
  37. <body>
  38. <h1><img src="file:///C|/Documents and Settings/ll-3148/Mijn documenten/Site zonder naam 2/index.gif" width="226" height="62" align="left" />Dienstverplaatsing Koninklijk Atheneum Geel</h1>
  39. <form id="form1" name="form1" method="post" action="">
  40. <p>&nbsp; </p>
  41. <table width="401" height="369" border="0">
  42. <tr>
  43. <td width="213">Voornaam:</td>
  44. <td width="178"><input type="text" name="txtVoornaam" id="txtVoornaam" /></td>
  45. </tr>
  46. <tr>
  47. <td>Achternaam: </td>
  48. <td><input type="text" name="txtAchternaam" id="txtAchternaam" /></td>
  49. </tr>
  50. <tr>
  51. <td>lk-nummer:</td>
  52. <td><input type="text" name="txtLknummer" id="txtLknummer" /></td>
  53. </tr>
  54. <tr>
  55. <td>Automerk: </td>
  56. <td><input type="text" name="txtAutomerk" id="txtAutomerk" /></td>
  57. </tr>
  58. <tr>
  59. <td>Datum van verplaatsing:</td>
  60. <td><input type="text" name="txtDatum" id="txtDatum" /></td>
  61. </tr>
  62. <tr>
  63. <td>Plaats: </td>
  64. <td><input type="text" name="txtPlaats" id="txtPlaats" /></td>
  65. </tr>
  66. <tr>
  67. <td><span style="font-family: Verdana, Geneva, sans-serif">Reden:</span></td>
  68. <td><span style="font-family: Verdana, Geneva, sans-serif">
  69. <textarea name="txtReden" id="txtReden"></textarea>
  70. </span></td>
  71. </tr>
  72. <tr>
  73. <td>&nbsp;</td>
  74. <td><input type="submit" name="btnAnnuleren" id="btnAnnuleren" value="annuleren" />
  75. <input type="submit" name="btnVerzenden" id="btnVerzenden" value="Verzenden" /></td>
  76. </tr>
  77. </table>
  78. <p>&nbsp;</p>
  79. </form>
  80. </body>
  81. </html>


  1. <? // wijst erop dat je begint met php code
  2.  
  3. // je gaat kijken of er effectief op de submitknop van je form is gedrukt.
  4. if (isset($_POST['btnVerzenden'])) {
  5. // 'submit' is hier het name attribuut van je submit knop
  6.  
  7. $Voornaam = $_POST['txtVoornaam']; // 'naam' is de naam van je naam-inputveld
  8. $achternaam = $_POST['txtAchternaam']; // 'email' is de naam van je email-inputveld
  9. $Lknummer = $_POST['txtLknummer']; // weer hetzelfde
  10. $Automerk = $_POST['txtAutomerk']; // idem
  11.  
  12. // nu hebben we alle informatie, en gaan we kijken of naam/mail/tel is ingevuld.
  13. if (($Voornaam != '') && ($achternaam != '') && ($Lknummer != '') && ($Automerk !='')) {
  14. // als je hier inzit was naam, email en tel ingevuld. ga verder met verwerken.
  15. // maak connectie met je db
  16. mysql_connect("localhost", "root", "verplaats");
  17. mysql_select_db("dienstverplaatsing") or die (mysql_error());
  18. // verander db_naam, paswoord en gebruikersnaam met de juiste dingen
  19.  
  20. //nu de data in de db gooien
  21. mysql_query("INSERT INTO dienstverplaatsing (Naam, Voornaam, lk-nummer, auto-kenteken) VALUES ('$Voornaam', '$achternaam', '$Lknummer', '$Automerk')");
  22.  
  23. // alles is nu klaar, nu zorg je ervoor dat je op een HTML pagina komt waar staat dat alles is gelukt
  24. header("Location: index.php"); // verander 'het_is_gelukt.html' naar de naam van een pagina die je zelf maakt
  25. } else {
  26. // er was iets niet goed ingevuld, dus link naar een HTML pagina met een foutmelding en een linkje terug naar het form om het opnieuw in te vullen
  27. header("Location: het_is_niet_gelukt.html"); // ook hier weer, verander de naam naar iets dat je zelf maakt
  28. }
  29. }
  30. ?>


ik heb ook nog mijn sql database die dienstverplaatsing noemt

4 antwoorden

Gesponsorde links
Offline Elmar85 - 11/03/2011 13:22 (laatste wijziging 11/03/2011 13:26)
Avatar van Elmar85 Lid begin is niet met:

<? maar met <?php

enne.... wat is je probleem? ( het enige wat ik ook snel even zie in je html formulier, is dat je nog een action moet invullen ( linken naar php bestand )
Offline UpLink - 11/03/2011 13:33 (laatste wijziging 11/03/2011 13:38)
Avatar van UpLink ... op regel 21 van het PHP-gedeelte

  1. mysql_query("INSERT INTO dienstverplaatsing (Naam, Voornaam, lk-nummer, auto-kenteken) VALUES ('$Voornaam', '$achternaam', '$Lknummer', '$Automerk')");


veranderen naar:

  1. mysql_query("INSERT INTO dienstverplaatsing (Naam, Voornaam, lk-nummer, auto-kenteken) VALUES ('".$Voornaam."', '".$achternaam."', '".$Lknummer."', '".$Automerk."')");


Moet volstaan....

//EDIT:

en je action ook instellen:

  1. action="<?php $_SERVER['PHP_SELF']; ?>"
Offline casso - 16/03/2011 19:37
Avatar van casso Nieuw lid ok dankuwel, maar is het eigelijk een probleem dat het 2 verschillende pagina's zijn?
Offline Wim - 16/03/2011 21:18
Avatar van Wim Crew algemeen
casso schreef:
ok dankuwel, maar is het eigelijk een probleem dat het 2 verschillende pagina's zijn?


Je geeft meteen aan waar het probleem in je code zit :-)

op regel 39 van je html, in de form tag, staat "action". Die action verwijst naar de pagina waar het formulier naar gestuurd moet worden, je php dus. Bij jou is die leeg, in dat geval zou de php code in hetzelfde bestand moeten staan.

Je hebt nu dus 2 keuzes:
- Je veranderd de action in je html zodat deze naar het php bestand verwijst
- Je plaatst je php code in hetzelfde bestand als je html (wordt meestal bovenaan gedaan, zodat als er niet gesubmit is je via een else (ter vervolg van je if op regel 4) je html kan weergeven en een logische opbouw hebt).

Beide manieren hebben voor en nadelen, aan jou de keuze.
Ikzelf verkies meestal om het in hetzelfde bestand te zetten omdat het immers code is die samen hoort.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.234s