login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Koppelen aan inlogscript

Offline prass - 16/02/2005 19:14
Avatar van prassNieuw lid Heey allemaal ik heb het volgende gevonden :

Als members zich op jou site kunnen inschrijven, dan wil je het liefst wel dat er niet onnodig veel profielen (of iets in de zin van) worden gemaakt. Dmv dit script kan je mensen een profiel laten maken. Maar voordat ze daarvan gebruik kunnen maken, moet deze eerst geactiveerd worden. Dit wordt gedaan door een activerings mailtje naar de persoon te sturen met een daarin unieke code. Alleen met die code kunnen zij hun profiel activeren. Op deze mannier weet je dus ook meteen of het opgegeven email-adres wel het juiste is.
Ik heb gebruik gemaakt van de tabel "temp_profiel", voor de tijdelijk profielen, en de tabel "profiel" deze is voor de geactiveerde profielen.
Er zijn een aantal dingen die je nog moet aanpassen, database-naam, password... etc Maar ik denk wel dat dat voor zich spreekt

Veel plezier met het script!
Mad_Mike

ps. zijn er vragen, laat ze horen!!

  1. CREATE TABLE temp_profiel (
  2. value varchar(35) NOT NULL default ",
  3. code varchar(35) NOT NULL default ",
  4. username varchar(255) NOT NULL default '',
  5. voornaam varchar(255) NOT NULL default '',
  6. achternaam varchar(255) NOT NULL default '',
  7. email varchar(255) NOT NULL default ''
  8. ) TYPE=MyISAM;
  9.  
  10.  
  11. CREATE TABLE `profiel` (
  12. `id` int(11) NOT NULL auto_increment,
  13. `code` varchar(35) NOT NULL default '',
  14. `username` varchar(255) NOT NULL default '',
  15. `voornaam` varchar(255) NOT NULL default '',
  16. `achternaam` varchar(255) NOT NULL default '',
  17. `email` varchar(255) NOT NULL default '',
  18. PRIMARY KEY (`id`)
  19. ) TYPE=MyISAM AUTO_INCREMENT=1
  20.  
  21.  
  22.  
  23.  
  24. connect.php
  25. -----------------------------------------------------------------------------------
  26.  
  27. <?php
  28. mysql_connect("localhost", "username", "password");
  29. mysql_select_db("tabel-naam") or die("Unable to select database.");
  30. ?>
  31.  
  32.  
  33.  
  34.  
  35. formulier.php
  36. -----------------------------------------------------------------------------------
  37.  
  38. <?
  39. // als het formulier nog niet ingevuld is
  40. if(!$_POST['submit'])
  41. {
  42. ?>
  43. <html>
  44. <head>
  45. <title>Aanmelden als member</title>
  46. </head>
  47.  
  48. <body>
  49. <p><strong>Aanmelden als member:</strong></p>
  50. <form action="formulier.php" method="post">
  51.  
  52. <table border="0" cellspacing="0" cellpadding="0">
  53. <tr>
  54. <td width="130">Username:</td>
  55. <td width="144"><input name="username" type="text" id="username"></td>
  56. </tr>
  57. <tr>
  58. <td>Voornaam:</td>
  59. <td><input name="voornaam" type="text" id="voornaam"></td>
  60. </tr>
  61. <tr>
  62. <td>Achternaam:</td>
  63. <td><input name="achternaam" type="text" id="achternaam"></td>
  64. </tr>
  65. <tr>
  66. <td>Email:</td>
  67. <td><input name="email" type="text" id="email"></td>
  68. </tr>
  69. <tr>
  70. <td>&nbsp;</td>
  71. <td>&nbsp;</td>
  72. </tr>
  73. <tr>
  74. <td>Password:</td>
  75. <td><input name="password" type="text" id="password"></td>
  76. </tr>
  77. <tr>
  78. <td>Bevestig password:</td>
  79. <td><input name="password2" type="text" id="password2"></td>
  80. </tr>
  81. <tr>
  82. <td>&nbsp;</td>
  83. <td>&nbsp;</td>
  84. </tr>
  85. <tr>
  86. <td><input name="submit" type="submit" id="submit" value="Versturen"></td>
  87. <td>&nbsp;</td>
  88. </tr>
  89. </table>
  90. </form>
  91. </body>
  92. </html>
  93. <?
  94. }
  95. else
  96. {
  97. // formulier is ingevuld, de gegevens kunnen worden verwerkt
  98. if(!isset($_POST['username']))
  99. {
  100. $error = "U heeft geen username ingevuld";
  101. }else{
  102. $username = $_POST['username'];
  103. }
  104.  
  105. if(!isset($_POST['voornaam']))
  106. {
  107. $error = "Er is geen voornaam ingevuld";
  108. }else{
  109. $voornaam = $_POST['voornaam'];
  110. }
  111.  
  112. if(!isset($_POST['achternaam']))
  113. {
  114. $error = "Er is geen achternaam ingevuld";
  115. }else{
  116. $achternaam = $_POST['achternaam'];
  117. }
  118.  
  119. if(!isset($_POST['email']))
  120. {
  121. $error = "Er is geen email-adres in gevuld";
  122. }else{
  123. $email = $_POST['email'];
  124. }
  125.  
  126. if(!isset($_POST['password']))
  127. {
  128. $error = "U moet een password in voeren";
  129. }else{
  130. $password = $_POST['password'];
  131. }
  132.  
  133. if($password != $_POST['password2'])
  134. {
  135. $error = "De door u ingevoerde passwords zijn niet gelijk aan elkaar";
  136. }
  137.  
  138. if($error != "")
  139. {
  140. echo $error;
  141. exit;
  142. }
  143.  
  144. // Alle gegevens zijn ingevuld. Dus kunnen de gegevens naar de database verzonden worden
  145. include("connect.php");
  146.  
  147. // Met het volgende script wordt een code gegenereerd van 10 karakters. Deze code dient als activatie code..
  148. $lengte = "10";
  149. function value ($lengte) {
  150. $value = "";
  151. mt_srand ((double) microtime() * 1000000);
  152. while (strlen($value) < $lengte) {
  153. $kiezen = chr(mt_rand (0,255));
  154. if (eregi("^[a-z0-9]$", $kiezen)) $value = $value.$kiezen;
  155. };
  156. return ($value);
  157. };
  158. $value = md5(value ($lengte));
  159.  
  160. // Dezeheader zorgt ervor dat jou gegevens beschikbaar zijn voor de persoon die een activerings email verzonden wordt
  161. $headers = "MIME-Version: 1.0\r\n";
  162. $headers .= "Content-type: text;\r\n\tcharset=\"iso-8859-1\"\r\n";
  163. $headers .= "From: \"Jou naam\" <jemaan@provider.iets>\r\n";
  164.  
  165. // Dit is het bericht dat de persoon in zijn activerings mailtje krijgt
  166. $bericht =
  167. "Beste $voornaam,
  168. Bedankt voor het aanmaken van uw profiel. Om deze te activeren dient u op onderstaande link te klikken.
  169.  
  170. http://www.blablabla.com/pages/activeer_profiel.php?value=$value
  171.  
  172. Met vriendelijke groet,
  173. Je naam
  174.  
  175. Mocht deze email ten onrechte naar u verstuurd zijn, neem dan contact op met onze webmaster";
  176.  
  177. // Kijken of er al een profiel bestaat met dezelfde usename
  178. $result = mysql_query("SELECT username FROM profiel WHERE username = '$username'");
  179. if($row = mysql_fetch_array($result))
  180. {
  181. echo "Helaas u kunt dit profiel niet aanmaken, er bestaat al een profiel met dezelfde username...";
  182. }
  183. else
  184. {
  185. $password = md5($password);
  186. // Gegevens in de temp_profiel tabel zetten
  187. $query="INSERT INTO temp_profiel (value, code, username, voornaam, achternaam, email) VALUES ('$value', $password', '$username', '$voornaam', '$achternaam', '$email')";
  188. mysql_query($query) or die(mysql_error());
  189. mail($email, "Acitverings mail", $bericht, $headers);
  190. echo "Bedankt voor het aanmaken van u profiel,";
  191. echo "<br>";
  192. echo "Er is een activatie email naar u gestuurd. Door de daarin staande link te openen wordt u profiel geactiveerd!";
  193. }
  194.  
  195. }
  196. ?>
  197.  
  198.  
  199.  
  200.  
  201. activeer_profiel.php
  202. -----------------------------------------------------------------------------------
  203. <?php
  204. //connectie maken met de database
  205. include ("connect.php");
  206.  
  207.  
  208. // kijken of er een temp_profiel is met de waarde "value" (de activerings code)
  209. $value = $_GET['value'];
  210. $result = mysql_query("SELECT * FROM temp_profiel WHERE value = '$value'");
  211.  
  212. if($row = mysql_fetch_array($result))
  213. {
  214. $code = $row['code'];
  215. $username = $row['username'];
  216. $voornaam = $row['voornaam'];
  217. $achternaam = $row['achternaam'];
  218. $email = $row['email'];
  219.  
  220. //gegevens van de temp_profiel tabel naar de profiel tabel copieren
  221. $query="INSERT INTO profiel (code, username, voornaam, achternaam, email) VALUES ('$code', '$username', '$voornaam', '$achternaam', '$email')";
  222. mysql_query($query) or die(mysql_error("Er is een fout opgetreden tijdens het veranderen van uw profiel. Probeer het later nog een keer."));
  223.  
  224. // gegevens uit de temp_profiel tabel verwijderen
  225. $query2 = "DELETE FROM temp_profiel WHERE value = '$value'";
  226. mysql_query($query2) or die(mysql_error());
  227.  
  228.  
  229. $bericht = "Bedankt uw profiel is geactiveerd!";
  230. $bericht .= "<br>";
  231. $bericht .= "U kunt nu inloggen met uw gegevens...";
  232. }
  233. else
  234. {
  235. $bericht = "Helaas....";
  236. $bericht .= "Er is een fout opgetreden. Probeer het later nog een keer";
  237. }
  238. ?>


Nu is dit natuurlijk heel mooi
Maar nu wil ik dit koppelen aan een membersysteem met inlog
Iemand een idee ? of mis nog wat liggen ?

Lataz

2 antwoorden

Gesponsorde links
Offline numlockrond - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van numlockrond Onbekend kun je er natuurlijk niet zomaar aan koppelen, want het is een soortgelijk script. Het gaat niet om een forum of artikelensysteem dat je aan een inlogsysteem wilt koppelen.rnrnSowieso is het koppelen van 2 losse script vaak niet zo makkelijk. Je kunt beter php leren en gewoon zelf je scripts schrijven (of activatie mail inbouwen in een bestaand inlogsysteem).rnrnps waarom trouwen 60 (ong.) enters onderaan het script
Offline prass - 30/11/1999 00:00
Avatar van prass Nieuw lid Is het dan makkelijker om dit in een inlogscript te bouwen
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.218s