login  Naam:   Wachtwoord: 
Registreer je!
 Forum

waar plaatsen?

Offline webbiexl - 03/05/2005 09:32 (laatste wijziging 03/05/2005 09:35)
Avatar van webbiexlPHP interesse hey ik wil een registratie datum en tijd met NOW() in mn database posten (leden_temp). maar ik weet niet waar ik
  1. mysql_query("INSERT INTO leden_temp SET datum = NOW() WHERE gebruikersnaam = '" . $_POST['gebruiker'] . "'");
plaatsen moet?

ik heb al een hoop geprobeerd maar ik kom er niet uit ook niet via het zoeken in scripts, tuts en op t forum....
ik had ook al geprobeerd om hm direct te schrijven via SET, dat lukt wel met time maar niet met now om de een of andere reden... en via time krijg ik de tijd niet op de juiste manier (die ik wil) in mn db...
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  4. <title><?=$cfg['site']?> || Registreren</title>
  5. </head>
  6.  
  7. <body>
  8. <?php
  9. include('config.php');
  10. if($cfg['cronjobs'] != 1) {
  11. include('cronjobs.php');
  12. }
  13. if(isset($_COOKIE['gebruiker'])) {
  14. header("Location: ingelogged.php");
  15. }
  16. ?>
  17. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  18. "http://www.w3.org/TR/html4/loose.dtd">
  19. <h2>Maak een account aan op <?=$cfg['site']?></h2>
  20. <?php if(!isset($_POST['Submit'])) { ?>
  21. <form name="form1" method="post" action="">
  22. <table border="0">
  23. <tr>
  24. <td>Gebruikersnaam:</td>
  25. <td><input name="gebruikersnaam" type="text" id="gebruikersnaam" size="35"></td>
  26. </tr>
  27. <tr>
  28. <td>Voornaam:</td>
  29. <td><input name="voornaam" type="text" id="voornaam" size="35"></td>
  30. </tr>
  31. <tr>
  32. <td>Achternaam:</td>
  33. <td><input name="achternaam" type="text" id="achternaam" size="35"></td>
  34. </tr>
  35. <tr>
  36. <td>Geslacht:</td>
  37. <td> <select size="1" name="geslacht">
  38. <option value="0"> ! </option>
  39. <option value="man">Man</option>
  40. <option value="vrouw">Vrouw</option>
  41. </select>
  42. </td>
  43. <tr>
  44. <td>Wachtwoord:</td>
  45. <td><input name="wachtwoord" type="password" id="wachtwoord" size="35"></td>
  46. </tr>
  47. <tr>
  48. <td>Wachtwoord herhalen: </td>
  49. <td><input name="wachtwoord2" type="password" id="wachtwoord2" size="35"></td>
  50. </tr>
  51. <tr>
  52. <td>E-mailadres:</td>
  53. <td><input name="email" type="text" id="email" size="35"></td>
  54. </tr>
  55. <tr>
  56. <td colspan="2"><input type="submit" name="Submit" value="Registreren">
  57. <input type="reset" name="Reset" value="Wissen"></td>
  58. </tr>
  59. </table>
  60. </form>
  61. <?php
  62. } else {
  63. $error = array();
  64. if(!check_email($_POST['email'])) {
  65. $error[] = 'Er is geen geldig e-mailadres ingevuld.';
  66. }
  67. if($_POST['gebruikersnaam'] == "") {
  68. $error[] = 'Er is geen gebruikersnaam ingevuld.';
  69. }
  70. if(!preg_match("/^[-_0-9a-z]{2,}$/i", $_POST['gebruikersnaam'])) { // Thx to FangorN for this check :]
  71. $error[] = 'Een gebruikersnaam mag slechts alfanummerieke tekens bevatten (a-z, 0-9), underscore (_) of liggend streepje (-).';
  72. }
  73. if($_POST['wachtwoord'] == "" || $_POST['wachtwoord'] != $_POST['wachtwoord2']) {
  74. $error[] = 'Er is geen wachtwoord ingevuld of de 2 wachtwoorden komen niet overeen.';
  75. }
  76. if(geregistreerd($_POST['gebruikersnaam'],gebruikersnaam)) {
  77. $error[] = '<strong>'.$_POST['gebruikersnaam'].'</strong> is reeds geregistreerd.';
  78. }
  79. if(geregistreerd($_POST['email'],email)) {
  80. $error[] = '<strong>'.$_POST['email'].'</strong> is reeds geregistreerd. Slechts één account per e-mailadres is toegestaan.';
  81. }
  82. if(geregistreerd($_POST['voornaam'])) {
  83. $error[] = 'Je hebt je voornaam niet ingevuld.';
  84. }
  85. if(geregistreerd($_POST['achternaam'])) {
  86. $error[] = 'Je hebt je achternaam niet ingevuld.';
  87. }
  88. $fouten = sizeof($error); // aantal errors tellen
  89. if($fouten != 0) { // Er is minstens 1 error
  90. echo 'Er kon geen account worden aangemaakt omwille van de volgende reden(en):';
  91. echo '<ul>';
  92. for($i = 0; $i < $fouten; $i++) {
  93. echo '<li>'.$error[$i].'</li>';
  94. }
  95. echo '</ul>';
  96. } else {
  97. $activatiecode = activatiecode($cfg['act_lengte']);
  98. $tpl = new TemplatePower('mail.tpl');
  99. $tpl->prepare();
  100. $tpl->assign(array(
  101. "site" => $cfg['site'],
  102. "url" => $cfg['url'],
  103. "gebruikersnaam" => $_POST['gebruikersnaam'],
  104. "wachtwoord" => $_POST['wachtwoord'],
  105. "code" => $activatiecode
  106. ));
  107. $template = $tpl->getOutputContent();
  108.  
  109. $headers = "MIME-Version: 1.0\n";
  110. $headers .= "Content-type: text/html; charset=iso-8859-1\n";
  111. $headers .= "From: ".$cfg['site']." <".$cfg['email'].">\n";
  112. mail($_POST['email'],"Account op ".$cfg['site']." activeren",$template,$headers);
  113. mysql_query("INSERT INTO leden_temp (gebruikersnaam,voornaam,achternaam,wachtwoord,email,code,geslacht) VALUES ('".$_POST['gebruikersnaam']."','".$_POST['voornaam']."','".$_POST['achternaam']."','".md5($_POST['wachtwoord'])."','".$_POST['email']."','".$activatiecode."','".$_POST['geslacht']."')");
  114. ?>Je account is tijdelijk geregistreerd. Controleer nu je mailbox, binnen enkele ogenblikken zal er een activatiemail arriveren.<br /><strong>Attentie Hotmail-gebruikers:</strong> Kijk ook bij "Ongewenste post"!!
  115. <?php
  116. }
  117. } ?>
  118. </body>
  119. </html>

12 antwoorden

Gesponsorde links
Offline MechaVore - 03/05/2005 09:37 (laatste wijziging 03/05/2005 09:38)
Avatar van MechaVore Gouden medaille

PHP gevorderde
regel 113
  1. <? mysql_query("INSERT INTO leden_temp (gebruikersnaam,voornaam,achternaam,wachtwoord,email,code,geslacht,datum) VALUES ('".$_POST['gebruikersnaam']."','".$_POST['voornaam']."','".$_POST['achternaam']."','".md5($_POST['wachtwoord'])."','".$_POST['email']."','".$activatiecode."','".$_POST['geslacht']."', NOW() )"); ?>


ik heb geen ervarign met now maat je kan ook time() gebruiken.
Offline Maarten - 03/05/2005 09:38 (laatste wijziging 03/05/2005 09:38)
Avatar van Maarten Erelid
  1. mysql_query("INSERT INTO leden_temp SET datum = NOW() WHERE gebruikersnaam = '" . $_POST['gebruiker'] . "'");

Wat een query-structuur...

ofwel is het
  1. INSERT INTO tabel (veld1,veld2,veld3) VALUES ('waarde1','waarde2','waarde3')

OF
  1. UPDATE tabel SET veld1 = 'waarde1', veld2 = 'waarde2'



Maar niet iets ertussen.
Offline Legolas - 03/05/2005 09:43
Avatar van Legolas Onbekend @Lightblade:
zet NOW() dan ook buiten de "", dus:
  1. <? mysql_query("INSERT INTO leden_temp (gebruikersnaam,voornaam,achternaam,wachtwoord,email,code,geslacht,datum) VALUES ('".$_POST['gebruikersnaam']."','".$_POST['voornaam']."','".$_POST['achternaam']."','".md5($_POST['wachtwoord'])."','".$_POST['email']."','".$activatiecode."','".$_POST['geslacht']."','". NOW() ."')"); ?>

parset ie iets sneller^^
Offline Maarten - 03/05/2005 09:44 (laatste wijziging 03/05/2005 09:44)
Avatar van Maarten Erelid Euh, NOW() is toch een mysql functie en geen php functie, dus wrm buiten die quotes? Anders kan je evengoed met time() en date() gaan werken...
Offline webbiexl - 03/05/2005 09:48
Avatar van webbiexl PHP interesse wat een respons op de vroege morgen
@murfy, dat zal ik dan net fout hebben getikt.....
@legolas, dat is mij ook vreemd, dat mysql buiten ""
Offline Legolas - 03/05/2005 09:48
Avatar van Legolas Onbekend @Murfy: ik dacht dat als je NOW() tussen die dubbel quotes zet, dat PHP dan eerst denkt dat het gewoon een string is, en die string dus weer moet parsen, waardoor hij tot conclusie komt dat het NOW() is. dan gaat het dus langzamer.
(dacht ik hoor;-) )
Offline Gerard - 03/05/2005 09:51 (laatste wijziging 03/05/2005 09:56)
Avatar van Gerard Ouwe rakker Omdat NOW() een MySQL functie is maakt het niet uit wat PHP doorgeeft. MySQL maakt er zelf een timestamp van in het speciale veld wat ervoor gemaakt is DATETIME. 

En wat jij bedoelt is normaliter met php bij enkele quotes. Maar zoals je al ziet in de queries is dat normaal bij MySQL. Omdat je alleen vaak dynamische gegevens in wil voeren in de database die van PHP afkomstig zijn moet je zorgen dat de variabelen dus vervangen kunnen worden door de waardes en dat je dus de variabelen buiten de quotes neerzet.

toevoeging
Je kan het trouwens makkelijk zelf doen, wat je topicvraag is.
Zet eens voor jezelf neer:
- Waar heb in de invoer
- Wordt er iets gecontroleerd of het goed is
- Waar wordt de verwerking van de gegevens gedaan (invoeren)

Zo ff al je if statements af lopen, etc.
Zo kom je vanzelf ook aan het goede antwoord.
Offline webbiexl - 03/05/2005 09:57
Avatar van webbiexl PHP interesse dus ik moet???
Offline Maarten - 03/05/2005 10:00
Avatar van Maarten Erelid Leren uit je fouten en de reply's lezen.

De oplossing van Lightblade dus.
Offline webbiexl - 03/05/2005 10:12
Avatar van webbiexl PHP interesse beetje overheen gelezen, ben beetje dislecties....
Offline Gerard - 03/05/2005 11:41
Avatar van Gerard Ouwe rakker beetje? over een hele post heenlezen 
Offline webbiexl - 03/05/2005 11:54
Avatar van webbiexl PHP interesse over het einde van de query 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.239s