geen melding dat het verzenden gelukt is.
Geen errors op het eerste zicht. Als ik echter de velden submit krijg ik geen output. Geen mail word verzonden en geen gegevens worden in db gestopt ook de variabele word niet geoutput!
Wat doe ik verkeerd?
Bedankt!
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
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
<?php
session_start();
ob_start();
error_reporting(E_ALL);
// Toevoegen van de config.php, verander de directory als die in een andere map staat.
include_once("config.php");
if(isset($_POST['aanmelden'])){
// Opvragen van gegevens uit de db -> worden later gebruikt als variabelen.
$sql = "SELECT * FROM members WHERE gebruikersnaam='" .$_POST['gebruikersnaam'] . "'";
$query = mysql_query($sql) or die(mysql_error());;
$user_exist = mysql_num_rows($query) or die(mysql_error());;
if(!$_POST['naam'] || !$_POST['wachtwoord'] || !$_POST['gebruikersnaam'] || !$_POST['email']){ // velden ingevuld?
echo $rr, $r1;
echo '<META HTTP-EQUIV = "refresh" CONTENT = '.$rt.'; URL= "./$r0>"';
echo '<br><br><b>'.$re.'</b>';
}
elseif(!eregi("[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+", $_POST['email'])){ // tekens?
echo $rr, $r2;
echo '<META HTTP-EQUIV = "refresh" CONTENT = '.$rt.'; URL= "./$r0>"';
echo '<br><br><b>'.$re.'</b>';
}
elseif(!eregi("[A-Za-z0-9-]", $_POST['gebruikersnaam'])){ // tekens?
echo $rr, $r3;
echo '<META HTTP-EQUIV = "refresh" CONTENT = '.$rt.'; URL= "./$r0>"';
echo '<br><br><b>'.$re.'</b>';
}
elseif($user_exist == 1){ // Controleren als de gebruikersnaam al in gebruik is.
echo $rr, $r4;
echo '<META HTTP-EQUIV = "refresh" CONTENT = '.$rt.'; URL= "./$r0>"';
echo '<br><br><b>'.$re.'</b>';
}
// Activation functie
else {
function Activation($lengte = 10) {
$tekens = array(a, b, c, d, e, f, g, h, i, j, l, k, j, h, g, f, d, s, s, a, m, n, n, m, w, r, t, y, u, p);
$random = '';
for($i = 1; $i <= $lengte; $i++)
$random .= $tekens[rand(0,10)];
return strtoupper($random); //make capital a,b,c to A,B,C
}
// Activation oproepen en verzenden
$activatiecode = Activatie();
$headers = 'MIME-Version: 1.0\n';
$headers .= 'Content-type: text/html; charset=iso-8859-1\n';
$headers .= 'From: '.$webs_reg_name.' <'.webs_reg_mail.'>\n';
$sql = 'INSERT INTO members (id, ondertitel, geslacht, avatar, gebruikersnaam, naam, wachtwoord, status, email, ip, activatie, datum) Values ("", "Nieuw Lid", "'.$_POST["geslacht"].'", "Geen", "'.$_POST["gebruikersnaam"].'", "'.$_POST["naam"].'", "'.$_POST["wachtwoord"].'", "Lid", "' . $_POST["email"] . '", "' . $_POST["ip"] . '", "'.$activatiecode.'", "'.$_POST["datum"].'")';
$query = mysql_query($sql) or die(mysql_error());
include_once ('email_template.php');
mail(''.$_POST["email"].'', ''.$r5.' '.$webs_name.'' , $bericht ,$headers);
// Melding met bericht dat het aanmelden gelukt is.
echo $r6;
echo '<META HTTP-EQUIV = "refresh" CONTENT = '.$rt.'; URL= "./$r0>"';
echo '<br><br><b>'.$re.'</b>';
}
}
// Forumlier dat de user die wil aanmelden moet invullen. (Je kan de benamingen aanpassen.)
else {
$date = date("d-m-Y H:i:s");
$ipadres = $_SERVER['REMOTE_ADDR'];
?>
<center><table><form method=POST action=aanmelden.php>
<td><?= $r7 ?> <TD><input type=text name=gebruikersnaam maxlength='12' value= <? isset($_POST['gebruikersnaam']) ?> ><tr>
<td><?= $r8 ?><TD><input type=text name=naam value= <? isset($_POST['naam']) ?> ><input type=hidden name=datum value= <? $date ?> ><tr>
<td><?= $r9 ?> <TD><input type=password name=wachtwoord value= <? isset($_POST['wachtwoord']) ?> ><input type=hidden name=ip value= <? $ipadres ?> ><tr>
<td><?= $r10 ?><TD><input type=text name=email value= <? isset($_POST['email']) ?> ><tr>
<td><?= $r11 ?><TD><select name=geslacht><option value=Man> <?= $r12 ?> </option><option value=Vrouw> <?= $r13 ?> </option></select><tr>
<td><td><input type=submit name=aanmelden value= <?= $r14 ?> ></form>
</table>
<?
}
// Headers afsluiten om header errors te voorkomen
ob_end_flush();
?>
session_start();
ob_start();
error_reporting(E_ALL);
// Toevoegen van de config.php, verander de directory als die in een andere map staat.
include_once("config.php");
if(isset($_POST['aanmelden'])){
// Opvragen van gegevens uit de db -> worden later gebruikt als variabelen.
$sql = "SELECT * FROM members WHERE gebruikersnaam='" .$_POST['gebruikersnaam'] . "'";
$query = mysql_query($sql) or die(mysql_error());;
$user_exist = mysql_num_rows($query) or die(mysql_error());;
if(!$_POST['naam'] || !$_POST['wachtwoord'] || !$_POST['gebruikersnaam'] || !$_POST['email']){ // velden ingevuld?
echo $rr, $r1;
echo '<META HTTP-EQUIV = "refresh" CONTENT = '.$rt.'; URL= "./$r0>"';
echo '<br><br><b>'.$re.'</b>';
}
elseif(!eregi("[A-Za-z0-9_-]+([\.]{1}[A-Za-z0-9_-]+)*@[A-Za-z0-9-]+([\.]{1}[A-Za-z0-9-]+)+", $_POST['email'])){ // tekens?
echo $rr, $r2;
echo '<META HTTP-EQUIV = "refresh" CONTENT = '.$rt.'; URL= "./$r0>"';
echo '<br><br><b>'.$re.'</b>';
}
elseif(!eregi("[A-Za-z0-9-]", $_POST['gebruikersnaam'])){ // tekens?
echo $rr, $r3;
echo '<META HTTP-EQUIV = "refresh" CONTENT = '.$rt.'; URL= "./$r0>"';
echo '<br><br><b>'.$re.'</b>';
}
elseif($user_exist == 1){ // Controleren als de gebruikersnaam al in gebruik is.
echo $rr, $r4;
echo '<META HTTP-EQUIV = "refresh" CONTENT = '.$rt.'; URL= "./$r0>"';
echo '<br><br><b>'.$re.'</b>';
}
// Activation functie
else {
function Activation($lengte = 10) {
$tekens = array(a, b, c, d, e, f, g, h, i, j, l, k, j, h, g, f, d, s, s, a, m, n, n, m, w, r, t, y, u, p);
$random = '';
for($i = 1; $i <= $lengte; $i++)
$random .= $tekens[rand(0,10)];
return strtoupper($random); //make capital a,b,c to A,B,C
}
// Activation oproepen en verzenden
$activatiecode = Activatie();
$headers = 'MIME-Version: 1.0\n';
$headers .= 'Content-type: text/html; charset=iso-8859-1\n';
$headers .= 'From: '.$webs_reg_name.' <'.webs_reg_mail.'>\n';
$sql = 'INSERT INTO members (id, ondertitel, geslacht, avatar, gebruikersnaam, naam, wachtwoord, status, email, ip, activatie, datum) Values ("", "Nieuw Lid", "'.$_POST["geslacht"].'", "Geen", "'.$_POST["gebruikersnaam"].'", "'.$_POST["naam"].'", "'.$_POST["wachtwoord"].'", "Lid", "' . $_POST["email"] . '", "' . $_POST["ip"] . '", "'.$activatiecode.'", "'.$_POST["datum"].'")';
$query = mysql_query($sql) or die(mysql_error());
include_once ('email_template.php');
mail(''.$_POST["email"].'', ''.$r5.' '.$webs_name.'' , $bericht ,$headers);
// Melding met bericht dat het aanmelden gelukt is.
echo $r6;
echo '<META HTTP-EQUIV = "refresh" CONTENT = '.$rt.'; URL= "./$r0>"';
echo '<br><br><b>'.$re.'</b>';
}
}
// Forumlier dat de user die wil aanmelden moet invullen. (Je kan de benamingen aanpassen.)
else {
$date = date("d-m-Y H:i:s");
$ipadres = $_SERVER['REMOTE_ADDR'];
?>
<center><table><form method=POST action=aanmelden.php>
<td><?= $r7 ?> <TD><input type=text name=gebruikersnaam maxlength='12' value= <? isset($_POST['gebruikersnaam']) ?> ><tr>
<td><?= $r8 ?><TD><input type=text name=naam value= <? isset($_POST['naam']) ?> ><input type=hidden name=datum value= <? $date ?> ><tr>
<td><?= $r9 ?> <TD><input type=password name=wachtwoord value= <? isset($_POST['wachtwoord']) ?> ><input type=hidden name=ip value= <? $ipadres ?> ><tr>
<td><?= $r10 ?><TD><input type=text name=email value= <? isset($_POST['email']) ?> ><tr>
<td><?= $r11 ?><TD><select name=geslacht><option value=Man> <?= $r12 ?> </option><option value=Vrouw> <?= $r13 ?> </option></select><tr>
<td><td><input type=submit name=aanmelden value= <?= $r14 ?> ></form>
</table>
<?
}
// Headers afsluiten om header errors te voorkomen
ob_end_flush();
?>
db verbindingen zitten in de config die geinclude is (zie regel 7-8)
Gewijzigd op 01/01/1970 01:00:00 door Tommy
als ik op de 11de regel echo 'gepost'; zet krijg ik dit te zien na te hebben gedrukt op aanmelden als ik het echter op de 16de regel zet krijg ik dit niet te zien.
ob_start en end flush is niet het voorkomen van header error, maar puur het onderdrukken daarvan. Haal die altijd weg en maak een goed stukje code om headererrors echt te voorkomen!
// Opvragen van gegevens uit de db -> worden later gebruikt als variabelen.
$sql = 'SELECT * FROM members WHERE gebruikersnaam="'.$_POST['gebruikersnaam'] .'"';
$query = mysql_query($sql) or die(mysql_error());
$user_exist = mysql_num_rows($query) or die(mysql_error());
daar ben ik zeker van; als ik dit stukje code weghaal werkt het script wel maar ik moet natuurlijk weten als de gebruikersnaam al in gebruik is...
ik heb de or die weggedaan na de mysql_num_rows en het werkt. De tabel is leeg maar waarom geeft die mysql_num_rows een fout weer ipv een 0?
hier zit idd een foutje. Gebruikersnaam moet met enkele quotes, dus even alle quotes omdraaien:
$sql = "SELECT * FROM members WHERE gebruikersnaam='".$_POST['gebruikersnaam']."'";
PHP Newbie wat voor onzin sla jij nu weer uit.. Nee hoor het is gewoon goed...
het was JUIST beter zoals hij het had newbie :)
De tabel is leeg maar waarom geeft die mysql_num_rows een fout weer ipv een 0?
Dan moet je een error afhandeling toe passen