PHP forum uitbreiden
Ik heb gebruik gemaakt van een forum op mijn website. Ik maakte gebruik van de bekendere, gratis te downloaden forumsoftware op internet (phpBB, MyBB).
Nu ik weet hoe dit werkt ben ik van plan een eigen (versimpeld) forum te gaan maken/schrijven.
Ik kwam uit op deze tutorial. Het heeft mij erg goed geholpen en doordat ik heb opgezocht wat ik niet snapte is het mij helemaal duidelijk hoe dat forum in de tut werkt.
Nu zou ik om te beginnen graag een veld toe willen voegen op het registratieformulier. Ik heb al via SQL de kolom aangemaakt voor dit extra veld. Het hoeft geen verplicht veld te zijn. Wie zou mij kunnen uitleggen hoe ik dit toe kan voegen?
code registreren.php
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
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
<?php
error_reporting(E_ALL);
include('verbind.php');
if(isset($_POST['registreer'])){
function email_validator($email){
if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$email))
{$geldig = 'ja'; }
else{$geldig = 'nee';}
return $geldig;
}
function email_check($email){
$email_query = "SELECT gebruiker_email FROM gebruiker WHERE gebruiker_email='".$email."';";
$email_sql = mysql_query($email_query)or die(mysql_error());
if(mysql_num_rows($email_sql) == 0)
{$bezet = 'nee';}
else{$bezet = 'ja' ;}
return $bezet;
}
function gebruikersnaam_check($gebruikersnaam){
$gebruikersnaam_query = "SELECT gebruiker_naam FROM gebruiker WHERE gebruiker_naam='".$gebruikersnaam."';";
$gebruikersnaam_sql = mysql_query($gebruikersnaam_query)or die(mysql_error());
if(mysql_num_rows($gebruikersnaam_sql) == 0)
{$bezet = 'nee' ;}
else{$bezet = 'ja';}
return $bezet;
}
if(trim($_POST['gebruikersnaam']) == ""){
echo 'U heeft geen gebruikersnaam ingevuld';
}elseif(gebruikersnaam_check($_POST['gebruikersnaam']) == 'ja'){
echo 'Deze gebruikersnaam is al in gebruik, kies a.u.b een ander.';
}elseif($_POST['wachtwoord1'] != $_POST['wachtwoord2']){
echo 'De opgegeven wachtwoorden komen niet overeen';
}elseif($_POST['wachtwoord1'] == ""){
echo 'Er zijn geen wachtwoord<b>en</b> opgegeven';
}elseif(email_validator($_POST['emailadres']) == 'nee'){
echo 'Het ingevulde emailadres is niet geldig';
}elseif(email_check($_POST['emailadres']) == 'ja'){
echo 'Er is al iemand geregistreerd met dit emailadres.';
}else{
$query = "INSERT INTO gebruiker
(gebruiker_naam, gebruiker_wachtwoord, gebruiker_email)
VALUES
('".mysql_real_escape_string($_POST['gebruikersnaam'])."',
'".md5($_POST['wachtwoord1'])."',
'".$_POST['emailadres']."');";
$sql = mysql_query($query)or die(mysql_error());
echo 'U bent succesvol aangemeld. Hieronder kunt u inloggen:';
include('inloggen.php');
}
}else{
?>
<form action="registreren.php" method="POST">
<table>
<tr><td>Gebruikersnaam:</td><td><input type="text" name="gebruikersnaam" value=""></td></tr>
<tr><td>Wachtwoord:</td><td><input type="password" name="wachtwoord1" value=""></td></tr>
<tr><td>Wachtwoord nogmaals:</td><td><input type="password" name="wachtwoord2" value=""></td></tr>
<tr><td>Emailadres:</td><td><input type="text" name="emailadres" value=""></td></tr>
<tr><td></td><td><input type="submit" name="registreer" value="Aanmelden">
</table>
</form>
<?php
}
?>
error_reporting(E_ALL);
include('verbind.php');
if(isset($_POST['registreer'])){
function email_validator($email){
if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$email))
{$geldig = 'ja'; }
else{$geldig = 'nee';}
return $geldig;
}
function email_check($email){
$email_query = "SELECT gebruiker_email FROM gebruiker WHERE gebruiker_email='".$email."';";
$email_sql = mysql_query($email_query)or die(mysql_error());
if(mysql_num_rows($email_sql) == 0)
{$bezet = 'nee';}
else{$bezet = 'ja' ;}
return $bezet;
}
function gebruikersnaam_check($gebruikersnaam){
$gebruikersnaam_query = "SELECT gebruiker_naam FROM gebruiker WHERE gebruiker_naam='".$gebruikersnaam."';";
$gebruikersnaam_sql = mysql_query($gebruikersnaam_query)or die(mysql_error());
if(mysql_num_rows($gebruikersnaam_sql) == 0)
{$bezet = 'nee' ;}
else{$bezet = 'ja';}
return $bezet;
}
if(trim($_POST['gebruikersnaam']) == ""){
echo 'U heeft geen gebruikersnaam ingevuld';
}elseif(gebruikersnaam_check($_POST['gebruikersnaam']) == 'ja'){
echo 'Deze gebruikersnaam is al in gebruik, kies a.u.b een ander.';
}elseif($_POST['wachtwoord1'] != $_POST['wachtwoord2']){
echo 'De opgegeven wachtwoorden komen niet overeen';
}elseif($_POST['wachtwoord1'] == ""){
echo 'Er zijn geen wachtwoord<b>en</b> opgegeven';
}elseif(email_validator($_POST['emailadres']) == 'nee'){
echo 'Het ingevulde emailadres is niet geldig';
}elseif(email_check($_POST['emailadres']) == 'ja'){
echo 'Er is al iemand geregistreerd met dit emailadres.';
}else{
$query = "INSERT INTO gebruiker
(gebruiker_naam, gebruiker_wachtwoord, gebruiker_email)
VALUES
('".mysql_real_escape_string($_POST['gebruikersnaam'])."',
'".md5($_POST['wachtwoord1'])."',
'".$_POST['emailadres']."');";
$sql = mysql_query($query)or die(mysql_error());
echo 'U bent succesvol aangemeld. Hieronder kunt u inloggen:';
include('inloggen.php');
}
}else{
?>
<form action="registreren.php" method="POST">
<table>
<tr><td>Gebruikersnaam:</td><td><input type="text" name="gebruikersnaam" value=""></td></tr>
<tr><td>Wachtwoord:</td><td><input type="password" name="wachtwoord1" value=""></td></tr>
<tr><td>Wachtwoord nogmaals:</td><td><input type="password" name="wachtwoord2" value=""></td></tr>
<tr><td>Emailadres:</td><td><input type="text" name="emailadres" value=""></td></tr>
<tr><td></td><td><input type="submit" name="registreer" value="Aanmelden">
</table>
</form>
<?php
}
?>
Met vriendelijke groet,
Rutje1
Gewijzigd op 01/01/1970 01:00:00 door Rutje1
Kan iemand mij met een simpele uitleg helpen?
Maak me blij =D
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<form action="registreren.php" method="POST">
<table>
<tr><td>Gebruikersnaam:</td><td><input type="text" name="gebruikersnaam" value=""></td></tr>
<tr><td>Wachtwoord:</td><td><input type="password" name="wachtwoord1" value=""></td></tr>
<tr><td>Wachtwoord nogmaals:</td><td><input type="password" name="wachtwoord2" value=""></td></tr>
<tr><td>Emailadres:</td><td><input type="text" name="emailadres" value=""></td></tr>
<tr><td>Extra_VEld:</td><td><input type="text" name="extra" value=""></td></tr>
<tr><td></td><td><input type="submit" name="registreer" value="Aanmelden">
</table>
</form>
<table>
<tr><td>Gebruikersnaam:</td><td><input type="text" name="gebruikersnaam" value=""></td></tr>
<tr><td>Wachtwoord:</td><td><input type="password" name="wachtwoord1" value=""></td></tr>
<tr><td>Wachtwoord nogmaals:</td><td><input type="password" name="wachtwoord2" value=""></td></tr>
<tr><td>Emailadres:</td><td><input type="text" name="emailadres" value=""></td></tr>
<tr><td>Extra_VEld:</td><td><input type="text" name="extra" value=""></td></tr>
<tr><td></td><td><input type="submit" name="registreer" value="Aanmelden">
</table>
</form>
daarna moet je de insert query aanpassen:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$query = "INSERT INTO gebruiker
(gebruiker_naam, gebruiker_wachtwoord, gebruiker_email, naam_van_extra_veld)
VALUES
('".mysql_real_escape_string($_POST['gebruikersnaam'])."',
'".md5($_POST['wachtwoord1'])."',
'".$_POST['emailadres']."', '".mysql_real_escape_string($_POST['extra'])."');";
?>
$query = "INSERT INTO gebruiker
(gebruiker_naam, gebruiker_wachtwoord, gebruiker_email, naam_van_extra_veld)
VALUES
('".mysql_real_escape_string($_POST['gebruikersnaam'])."',
'".md5($_POST['wachtwoord1'])."',
'".$_POST['emailadres']."', '".mysql_real_escape_string($_POST['extra'])."');";
?>
Hopelijk kom je hiermee verder, dus de naam van het veld extra is 'extra', na het submitten word de value dus geplaatst in de superglobal $_POST['extra'] we zetten een veldj bij bij de velden, en we zetten een value meer bij de values... we escapen $_POST['extra'] voor de veiligheid
Mvg, Manaus
Gewijzigd op 01/01/1970 01:00:00 door Manaus
Hartelijk bedankt, het is voor mij erg belangrijk en nu ga ik proberen meerdere opties toe te voegen.
Met vriendelijke groeten,
Rutje1 :)