inlog met registratie e-mail
Ik ben opzoek naar een inlogsysteem met registratie e-mail.
Ik wil als iemand zich registreerd een email krijgt met wachtwoord en activeren.
alvast bedankt
Er staan tig van deze systemen in de scriptlibrary.
Ja dat weet ik heb jij er dan meschien alleen één die werkt want ik ben nu al met de zoveelste bezig en niemand kan ze oplossen.
http://www.phphulp.nl/forum/showtopic.php?cat=1&id=57147
dan doe je maar een aanvraag?
Een ieder die een beetje bekend is met de mail protocollen kan jouw vertellen hoe je het probleem moet oplossen.
Echter sla je alle goede adviesen in de windt...
De stappen:
1. controleer eerst hoe je via je providor (mail providor) mag mailen via een script
dus is authenticatie verplicht de ja of de nee
2. kijk dan of php config in orde is
3. pak een mailclass als
- php mailer
- swift mailer
en klaar ben je.
Daarna ga je natuurlijk het script nog aanpassen zodat het voldoet aan alle eisen:
-> shorttags omzetten naar de ware php tags
-> form post controle
-> form veld controles
-> backticks ` uit sql statements verwijderen
-> _fetch_assoc gebruiken ipv _fetch_object
-> protectie tegen SQL injection
-> correcte foutafhandelingen
Pluk de dag, maak zelf een correct registratie script
Gewijzigd op 01/01/1970 01:00:00 door Noppes
ik weet dat bij het contact formulier dit staat:
['smtp_server'] = 'relay.versatel.net'; //'smtp.example.com';
echter ik weet niet hoe ik dit moet toevoegen in mijn script
Laten we gewoon de verschillende stappen eens bekijken, te beginnen met je aanmeldformulier. Hoe ziet dat er uit?
Jan Koehoorn schreef op 22.10.2008 20:19:
Laten we gewoon de verschillende stappen eens bekijken, te beginnen met je aanmeldformulier. Hoe ziet dat er uit?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?php
###################################
## PHPMYLOGON: A LOGIN SYSTEM ##
## (c) 2006 Jorik Berkepas ##
## Under the GNU GPL license ##
## [email protected] ##
###################################
// Page for registrate new users
include_once("config.php");
include_once("lang/lang_".$lang.".php");
$pml_title = $site_name;
include("htmltop.php");
include_once("connect.php");
if(!isset($_SESSION['user_id'])) {
if(isset($_POST['submit'])) {
// Exec
// Check fields
if($_POST['user'] != "" AND $_POST['pass1'] != "" AND $_POST['pass2'] != "" AND $_POST['email'] != "") {
// Username-check
$sql = "SELECT id FROM `".$db_tbl."` WHERE name='".$_POST['user']."'";
$query = mysql_query($sql);
$count = mysql_num_rows($query);
if($count == 0) {
// E-mailcheck
if(preg_match("/^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$/i", $_POST['email'])) {
// Email passed check
if($_POST['pass1'] == $_POST['pass2']) {
$actcode = mt_srand((double)microtime()*100000);
while(strlen($actcode) <= 10) {
$i = chr(mt_rand (0,255));
if(eregi("^[a-z0-9]$", $i)) {
$actcode = $actcode.$i;
}
}
$md5pass = md5($_POST['pass1']);
if($activate == TRUE) {
$sql = "INSERT INTO `".$db_tbl."` (name,password,state,mail,active,actcode) VALUES ('".$_POST['user']."','".$md5pass."',0,'".$_POST['email']."',0,'".$actcode."')";
}else{
$sql = "INSERT INTO `".$db_tbl."` (name,password,state,mail,active,actcode) VALUES ('".$_POST['user']."','".$md5pass."',0,'".$_POST['email']."',1,'')";
}
$query = mysql_query($sql);
if($query == TRUE) {
$sql = "SELECT id FROM `".$db_tbl."` WHERE name='".$_POST['user']."'";
$query = mysql_query($sql);
$rij = mysql_fetch_object($query);
$dbid = htmlspecialchars($rij->id);
$bericht = $reg_mail;
$bericht .= "CONFIRM: ".$site_url."activate.php?id=".$dbid."&code=".$actcode."®istration=true \n\n";
$bericht .= "Username/Gebruikersnaam: ".$_POST['user']."\n";
$bericht .= "Password/Wachtwoord: ".$_POST['pass1']."\n";
$mail = mail($_POST['email'],"Registratie ".$sitenaam,$bericht,"From: ".$sitenaam." <".$sitemail.">");$mysql_query($sql) OR trigger_error(mysql_error());
if($activate == TRUE) {
if($mail == TRUE) {
echo $reg_truemail;
}else{
echo $error;
}
}else{
echo $reg_nomail;
}
}else{
echo $error;
}
}else{
echo $reg_pascheck;
}
}else{
echo $reg_mailcheck;
}
}else{
echo $reg_userexists;
}
}else{
echo $reg_field;
}
}else{
// Form
?>
<form method="post" action="registrate.php">
<table>
<tr>
<td><label for="user"><?= $reg_username ?>:</label></td><td><input id="user" type="text" name="user" maxlength="50" /></td>
</tr>
<tr>
<td><label for="pass1"><?= $reg_password ?>:</label></td><td><input id="pass1" type="password" name="pass1" /></td>
</tr>
<tr>
<td><label for="pass2"><?= $reg_repeat ?>:</label></td><td><input id="pass2" type="password" name="pass2" /></td>
</tr>
<tr>
<td><label for="mail"><?= $reg_mail ?>:</label></td><td><input id="mail" type="text" name="email" maxlength="100" /></td>
</tr>
<tr>
<td></td><td><input type="submit" name="submit" value="<?= $reg_reg ?>" /></td>
</tr>
</table>
</form>
<?
if($activate == TRUE) {
echo "<small>".$reg_mailnote."</small>";
}
}
}else{
echo $reg_loginerror;
}
include("htmlbottom.php");
?>
###################################
## PHPMYLOGON: A LOGIN SYSTEM ##
## (c) 2006 Jorik Berkepas ##
## Under the GNU GPL license ##
## [email protected] ##
###################################
// Page for registrate new users
include_once("config.php");
include_once("lang/lang_".$lang.".php");
$pml_title = $site_name;
include("htmltop.php");
include_once("connect.php");
if(!isset($_SESSION['user_id'])) {
if(isset($_POST['submit'])) {
// Exec
// Check fields
if($_POST['user'] != "" AND $_POST['pass1'] != "" AND $_POST['pass2'] != "" AND $_POST['email'] != "") {
// Username-check
$sql = "SELECT id FROM `".$db_tbl."` WHERE name='".$_POST['user']."'";
$query = mysql_query($sql);
$count = mysql_num_rows($query);
if($count == 0) {
// E-mailcheck
if(preg_match("/^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$/i", $_POST['email'])) {
// Email passed check
if($_POST['pass1'] == $_POST['pass2']) {
$actcode = mt_srand((double)microtime()*100000);
while(strlen($actcode) <= 10) {
$i = chr(mt_rand (0,255));
if(eregi("^[a-z0-9]$", $i)) {
$actcode = $actcode.$i;
}
}
$md5pass = md5($_POST['pass1']);
if($activate == TRUE) {
$sql = "INSERT INTO `".$db_tbl."` (name,password,state,mail,active,actcode) VALUES ('".$_POST['user']."','".$md5pass."',0,'".$_POST['email']."',0,'".$actcode."')";
}else{
$sql = "INSERT INTO `".$db_tbl."` (name,password,state,mail,active,actcode) VALUES ('".$_POST['user']."','".$md5pass."',0,'".$_POST['email']."',1,'')";
}
$query = mysql_query($sql);
if($query == TRUE) {
$sql = "SELECT id FROM `".$db_tbl."` WHERE name='".$_POST['user']."'";
$query = mysql_query($sql);
$rij = mysql_fetch_object($query);
$dbid = htmlspecialchars($rij->id);
$bericht = $reg_mail;
$bericht .= "CONFIRM: ".$site_url."activate.php?id=".$dbid."&code=".$actcode."®istration=true \n\n";
$bericht .= "Username/Gebruikersnaam: ".$_POST['user']."\n";
$bericht .= "Password/Wachtwoord: ".$_POST['pass1']."\n";
$mail = mail($_POST['email'],"Registratie ".$sitenaam,$bericht,"From: ".$sitenaam." <".$sitemail.">");$mysql_query($sql) OR trigger_error(mysql_error());
if($activate == TRUE) {
if($mail == TRUE) {
echo $reg_truemail;
}else{
echo $error;
}
}else{
echo $reg_nomail;
}
}else{
echo $error;
}
}else{
echo $reg_pascheck;
}
}else{
echo $reg_mailcheck;
}
}else{
echo $reg_userexists;
}
}else{
echo $reg_field;
}
}else{
// Form
?>
<form method="post" action="registrate.php">
<table>
<tr>
<td><label for="user"><?= $reg_username ?>:</label></td><td><input id="user" type="text" name="user" maxlength="50" /></td>
</tr>
<tr>
<td><label for="pass1"><?= $reg_password ?>:</label></td><td><input id="pass1" type="password" name="pass1" /></td>
</tr>
<tr>
<td><label for="pass2"><?= $reg_repeat ?>:</label></td><td><input id="pass2" type="password" name="pass2" /></td>
</tr>
<tr>
<td><label for="mail"><?= $reg_mail ?>:</label></td><td><input id="mail" type="text" name="email" maxlength="100" /></td>
</tr>
<tr>
<td></td><td><input type="submit" name="submit" value="<?= $reg_reg ?>" /></td>
</tr>
</table>
</form>
<?
if($activate == TRUE) {
echo "<small>".$reg_mailnote."</small>";
}
}
}else{
echo $reg_loginerror;
}
include("htmlbottom.php");
?>
Gewijzigd op 01/01/1970 01:00:00 door harry
Wil niet veel zeggen, maar in dit script word er al een mail verstuurd.
maar dat is het probleem bij hem ;) zn script werkt niet
Debuggen dan maar he ;)
en dat debuggen kan ik dat of ???
Lees de php beginnershandleiding, kijk voor fouten... e.d.
dat is het probleem dat heb ik gedaan en ik kan nbiks vinden daarom kom ik naar jullie
Staat je config ingesteld om e-mails te verzenden? (config van dit systeem bedoel ik dan)
hij staat niet in config maar in registreer