php oude code hoe te beginnen met dit project ?
Ik wil dolgraag deze website upgraden naar php 7.2, dit is een website voor een vereniging en niet bedoeld voor commerciele doeleinden.
Ik heb gezien dat mysql niet meer werkt en dat moet mysqli worden onder andere, ook het posten van data naar je database heeft nieuwe code.
Deze website maakte ook gebruik van Fusebox, ik dacht dat dit een onderdeel was van Coldfusion, Fusebox is ook niet meer levend, niets meer te krijgen qua software updates, deze fusebox verzorgde de links, deze moet ik dus eruit slopen en gewoon normale links maken. Ik heb echter weinig verstand van programmeren maar wil het graag leren. Heb veel documentatie gelezen maar het is niet makkelijk.
Ik wil graag weten wat te doen....direct van php4 naar php7 of eerst het hele spul upgraden naar php5.6 ofzo ?
Ik heb veel gelezen over php maar het hele internet staat vol met informatie, ik heb moeite te begrijpen wat nu nieuwe en oude code is....ik heb veel vrije tijd en ik denk als ik wat voorbeelden heb van herschreven code dat ik een hoop zelf kan en wil veranderen. Ik had de website op mijn server geinstalleerd en merkte dat de login / registratie ook niet werkte op de php 5.3 versie van de server, wie wil mij helpen en de gepubliceerde php file te upgraden naar php7.2 zodat ik kan zien hoe het moet , het gaat om ongeveer 40 files.Schrik niet....dit is de registratie code, ik dacht dat het het beste idee was om eerst deze file te herstellen zodat ik naar de database kan schrijven en dat is het belangrijkste, hartelijk bedankt voor het lezen van mijn bericht en je kunt mij ook mailen via mijn persoonlijke e-mail adres [email protected]
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
<table width="690" align="center">
<tr><td bgcolor="#EEEACC"><span class="kop3">Registration form</span></td></tr>
<tr><td>
<?php
if ($submit){
if ($n_email=="" or $password==""){
echo("
<br><br><center><span class=\"txt-bold\">
Your registration failed, because you have to enter an e-mail address and password to register !!
<br><br><br>
<a href=\"javascript:history.go(-1)\" class=\"txt\"><b>Go back to register again</b></a>
</span></center>");
}
else {
$dbcnx = @mysql_connect("localhost", "db", "paswdatabase");
mysql_select_db('db');
$sql ="SELECT call from sitemembers WHERE call = '$call'";
$result=mysql_query($sql);
$ismember=mysql_num_rows($result);
if ($ismember>0) {
echo("<br><br><center><span class=\"txt-bold\">You are already registered!</span>");
echo("<br><br><b><span class=\"txt\">Click <a href=\"javascript:void(0)\" onClick=\"MM_openBrWindow('pop-up.php','','width=300,height=150')\">here</a> to login.</span></b>");
echo("<br><br><b><span class=\"txt\">If you have lost your password, click <a href=\"javascript:void(0)\" onClick=\"MM_openBrWindow('register/sendpass.php','','width=300,height=150')\">here</a></span>.</b>");
echo("<br><br><b><span class=\"txt\">Please contact the <a href=\"mailto:[email protected]?Subject=Problem%20with%20password.&Body=Hi%20Admin%21%0D%0A%0D%0AI%20am%20getting%20an%20error%20message%20when%20I%20try%20to%20register%20on%20to%20your%20website.%0D%0A%0D%0AI%20am%20sure%20that%20I%20have%20never%20registered%20before.%0D%0A%0D%0ACan%20you%20please%20help%20me%3F%0D%0A%0D%0ARegards%2C%0D%0A%0D%0A%3Cname%3E%20%28%3Cunitnumber%[email protected]%29.\">admin</a> if you feel you shouldn't receive this error.</span></b></center>");
}
else {
if($cluster=="on"){
$cl=TRUE; }
else {
$cl=FALSE;
}
$sql =" INSERT INTO sitemembers
(
call,
password,
cluster,
cl_email,
name,
n_email
)
VALUES (
trim('$call'),
md5('$password'),
'$cl',
trim('$cl_email'),
trim('$name'),
trim('$n_email')
)";
if (mysql_query($sql)) {
echo("<P ALIGN=center><B>Thanks for being a member of the cl</B></P>");
setcookie("username",$call,time()+24*60*60);
} else {
echo("<P>Error adding new member: " .
mysql_error() . "</P>");
}
$env_report = $REMOTE_HOST." ".$REMOTE_ADDR." ".$HTTP_USER_AGENT;
$bodywm = $call." ".$name." heeft zich ingeschreven op de website met e-mail adres: ".$n_email.".\n\n".
"The signup was done from: ".$env_report;
$bodyeu = "Welcome at the huppeldepup Website, ".$name.".\n\n".
"You are registered with login ID ".$call." and password ".$password.".";
$header="From: our Registration System <[email protected]>";
$subjectwm="Nieuwe inschrijving.";
$subjecteu="Welcome at the huppeldepup Website";
mail("[email protected]", $subjectwm, $bodywm, $header);
mail($n_email, $subjecteu, $bodyeu, $header);
location("index.php?fuseaction=register.thanks");
}
}
}
?>
</td></tr>
</table>[/quote]
[size=xsmall][i]Toevoeging op 30/10/2018 04:04:27:[/i][/size]
dit is de tabel waar de inschrijving in plaats vind, ik denk dat het makkelijk is dat ik deze file ook plaats zodat U kunt zien hoe en wat:
[quote]<table width="690" align="center">
<tr><td bgcolor="#EEEACC"><span class="kop3">Registration form</span></td></tr>
<tr>
<td><br>
<span class="txt">Please before you register and want to use the cluster, read the following lines carefully.
<ul>
<li>Remember that this cluster is used by other people as well, you are not the only one.
Be serious, behave yourself and do not abuse the IR-DX cluster. We will only warn once,
after that you will be expelled from the cluster for a period of time.</li>
<li>Be accurate when filling in the cluster fields. Fill in all the fields correctly.</li>
<li>Use the English language while chatting and insert spots to the cluster.</li>
<li>Use your standard DX-callsign (QRZ) when register for example : <b>123IR101</b> (prefix, groupname, unitnumber),
so no spaces please.<br>
<b>If you have an unitnumber below nr. 10, use 00 before the unitnumber. For example 005.</b></li>
<li>The system administrator is allowed to remove a user, when the e-mail of a user is bouncing back to the IR-DX cluster</li>
<li>Your privacy is guaranteed. We will not re-sell your information or forward it to third parties, such as other groups, websites etc.</li>
</ul>
By using the IR-DX Cluster, you signify your agreement to these terms of use.
</span>
<FORM ACTION="act_register.php" METHOD="POST">
<INPUT TYPE="hidden" NAME="cl_email" value="niks">
<INPUT TYPE="Hidden" NAME="level" VALUE="0">
<table width="690" border="0" cellspacing="0" cellpadding="3" align="center" bordercolor="Black" class="txt">
<TR>
<TD bgcolor="#99CCFF" class="register">What is your Callsign?</TD>
<TD bgcolor="#CCCCCC" class="register">
<INPUT TYPE="TEXT" NAME="call" SIZE="10" MAXLENGTH="10" class="formfield"> <b>(example: 12IR249)</b>
</TD>
</TR>
<TR>
<TR>
<TD bgcolor="#99CCFF" class="register">What is your personal name?</TD>
<TD bgcolor="#CCCCCC" class="register">
<INPUT TYPE="TEXT" NAME="name" SIZE="25" MAXLENGTH="10" class="formfield">
</TD>
</TR>
<TR>
<TD bgcolor="#99CCFF" class="register">Choose a password (max. 8 characters)</TD>
<TD bgcolor="#CCCCCC" class="register">
<INPUT TYPE="TEXT" NAME="password" SIZE="8" MAXLENGTH="8" class="formfield">
</TD>
</TR>
<TR>
<TD bgcolor="#99CCFF" class="register">What is your normal e-mail address?</TD>
<TD bgcolor="#CCCCCC" class="register">
<INPUT TYPE="TEXT" NAME="n_email" SIZE="30" MAXLENGTH="30" class="formfield">
</TD>
</TR>
<TR>
<TR>
<TD bgcolor="#99CCFF" class="register">Check here if you want cluster notification?</TD>
<TD bgcolor="#CCCCCC" class="register">
<INPUT TYPE="CHECKBOX" NAME="cluster" class="formfield">
</TD>
</TR>
<TR>
<TD bgcolor="#99CCFF" class="register">To what e-mail address do we send this notification?</TD>
<TD bgcolor="#CCCCCC" class="register">
<INPUT TYPE="TEXT" NAME="cl_email" SIZE="30" MAXLENGTH="30" class="formfield">
</TD>
</TR>
<TR>
<TD bgcolor="#99CCFF" class="register"> </TD>
<TD bgcolor="#CCCCCC" class="register">
<input type="SUBMIT" name="submit" value="SUBMIT" class="submit">
</TD>
</TR>
</TABLE>
</FORM>
</td>
</tr>
<tr><td class="txt">
Disclaimer
<br><br>
Every effort has been made to make this website as complete and accurate as possible,
but no guarantee or fitness is implied. The information is on ''''as-is'''' basis.
The publisher shall have neither liability nor responsibility to any person or entity
with respect to any loss or damages arising from the information contained on this website.
</td></tr>
</table>
<tr><td bgcolor="#EEEACC"><span class="kop3">Registration form</span></td></tr>
<tr><td>
<?php
if ($submit){
if ($n_email=="" or $password==""){
echo("
<br><br><center><span class=\"txt-bold\">
Your registration failed, because you have to enter an e-mail address and password to register !!
<br><br><br>
<a href=\"javascript:history.go(-1)\" class=\"txt\"><b>Go back to register again</b></a>
</span></center>");
}
else {
$dbcnx = @mysql_connect("localhost", "db", "paswdatabase");
mysql_select_db('db');
$sql ="SELECT call from sitemembers WHERE call = '$call'";
$result=mysql_query($sql);
$ismember=mysql_num_rows($result);
if ($ismember>0) {
echo("<br><br><center><span class=\"txt-bold\">You are already registered!</span>");
echo("<br><br><b><span class=\"txt\">Click <a href=\"javascript:void(0)\" onClick=\"MM_openBrWindow('pop-up.php','','width=300,height=150')\">here</a> to login.</span></b>");
echo("<br><br><b><span class=\"txt\">If you have lost your password, click <a href=\"javascript:void(0)\" onClick=\"MM_openBrWindow('register/sendpass.php','','width=300,height=150')\">here</a></span>.</b>");
echo("<br><br><b><span class=\"txt\">Please contact the <a href=\"mailto:[email protected]?Subject=Problem%20with%20password.&Body=Hi%20Admin%21%0D%0A%0D%0AI%20am%20getting%20an%20error%20message%20when%20I%20try%20to%20register%20on%20to%20your%20website.%0D%0A%0D%0AI%20am%20sure%20that%20I%20have%20never%20registered%20before.%0D%0A%0D%0ACan%20you%20please%20help%20me%3F%0D%0A%0D%0ARegards%2C%0D%0A%0D%0A%3Cname%3E%20%28%3Cunitnumber%[email protected]%29.\">admin</a> if you feel you shouldn't receive this error.</span></b></center>");
}
else {
if($cluster=="on"){
$cl=TRUE; }
else {
$cl=FALSE;
}
$sql =" INSERT INTO sitemembers
(
call,
password,
cluster,
cl_email,
name,
n_email
)
VALUES (
trim('$call'),
md5('$password'),
'$cl',
trim('$cl_email'),
trim('$name'),
trim('$n_email')
)";
if (mysql_query($sql)) {
echo("<P ALIGN=center><B>Thanks for being a member of the cl</B></P>");
setcookie("username",$call,time()+24*60*60);
} else {
echo("<P>Error adding new member: " .
mysql_error() . "</P>");
}
$env_report = $REMOTE_HOST." ".$REMOTE_ADDR." ".$HTTP_USER_AGENT;
$bodywm = $call." ".$name." heeft zich ingeschreven op de website met e-mail adres: ".$n_email.".\n\n".
"The signup was done from: ".$env_report;
$bodyeu = "Welcome at the huppeldepup Website, ".$name.".\n\n".
"You are registered with login ID ".$call." and password ".$password.".";
$header="From: our Registration System <[email protected]>";
$subjectwm="Nieuwe inschrijving.";
$subjecteu="Welcome at the huppeldepup Website";
mail("[email protected]", $subjectwm, $bodywm, $header);
mail($n_email, $subjecteu, $bodyeu, $header);
location("index.php?fuseaction=register.thanks");
}
}
}
?>
</td></tr>
</table>[/quote]
[size=xsmall][i]Toevoeging op 30/10/2018 04:04:27:[/i][/size]
dit is de tabel waar de inschrijving in plaats vind, ik denk dat het makkelijk is dat ik deze file ook plaats zodat U kunt zien hoe en wat:
[quote]<table width="690" align="center">
<tr><td bgcolor="#EEEACC"><span class="kop3">Registration form</span></td></tr>
<tr>
<td><br>
<span class="txt">Please before you register and want to use the cluster, read the following lines carefully.
<ul>
<li>Remember that this cluster is used by other people as well, you are not the only one.
Be serious, behave yourself and do not abuse the IR-DX cluster. We will only warn once,
after that you will be expelled from the cluster for a period of time.</li>
<li>Be accurate when filling in the cluster fields. Fill in all the fields correctly.</li>
<li>Use the English language while chatting and insert spots to the cluster.</li>
<li>Use your standard DX-callsign (QRZ) when register for example : <b>123IR101</b> (prefix, groupname, unitnumber),
so no spaces please.<br>
<b>If you have an unitnumber below nr. 10, use 00 before the unitnumber. For example 005.</b></li>
<li>The system administrator is allowed to remove a user, when the e-mail of a user is bouncing back to the IR-DX cluster</li>
<li>Your privacy is guaranteed. We will not re-sell your information or forward it to third parties, such as other groups, websites etc.</li>
</ul>
By using the IR-DX Cluster, you signify your agreement to these terms of use.
</span>
<FORM ACTION="act_register.php" METHOD="POST">
<INPUT TYPE="hidden" NAME="cl_email" value="niks">
<INPUT TYPE="Hidden" NAME="level" VALUE="0">
<table width="690" border="0" cellspacing="0" cellpadding="3" align="center" bordercolor="Black" class="txt">
<TR>
<TD bgcolor="#99CCFF" class="register">What is your Callsign?</TD>
<TD bgcolor="#CCCCCC" class="register">
<INPUT TYPE="TEXT" NAME="call" SIZE="10" MAXLENGTH="10" class="formfield"> <b>(example: 12IR249)</b>
</TD>
</TR>
<TR>
<TR>
<TD bgcolor="#99CCFF" class="register">What is your personal name?</TD>
<TD bgcolor="#CCCCCC" class="register">
<INPUT TYPE="TEXT" NAME="name" SIZE="25" MAXLENGTH="10" class="formfield">
</TD>
</TR>
<TR>
<TD bgcolor="#99CCFF" class="register">Choose a password (max. 8 characters)</TD>
<TD bgcolor="#CCCCCC" class="register">
<INPUT TYPE="TEXT" NAME="password" SIZE="8" MAXLENGTH="8" class="formfield">
</TD>
</TR>
<TR>
<TD bgcolor="#99CCFF" class="register">What is your normal e-mail address?</TD>
<TD bgcolor="#CCCCCC" class="register">
<INPUT TYPE="TEXT" NAME="n_email" SIZE="30" MAXLENGTH="30" class="formfield">
</TD>
</TR>
<TR>
<TR>
<TD bgcolor="#99CCFF" class="register">Check here if you want cluster notification?</TD>
<TD bgcolor="#CCCCCC" class="register">
<INPUT TYPE="CHECKBOX" NAME="cluster" class="formfield">
</TD>
</TR>
<TR>
<TD bgcolor="#99CCFF" class="register">To what e-mail address do we send this notification?</TD>
<TD bgcolor="#CCCCCC" class="register">
<INPUT TYPE="TEXT" NAME="cl_email" SIZE="30" MAXLENGTH="30" class="formfield">
</TD>
</TR>
<TR>
<TD bgcolor="#99CCFF" class="register"> </TD>
<TD bgcolor="#CCCCCC" class="register">
<input type="SUBMIT" name="submit" value="SUBMIT" class="submit">
</TD>
</TR>
</TABLE>
</FORM>
</td>
</tr>
<tr><td class="txt">
Disclaimer
<br><br>
Every effort has been made to make this website as complete and accurate as possible,
but no guarantee or fitness is implied. The information is on ''''as-is'''' basis.
The publisher shall have neither liability nor responsibility to any person or entity
with respect to any loss or damages arising from the information contained on this website.
</td></tr>
</table>
https://www.dxloops.nl/dsp_register.php
Edit:
Ik heb code-tags geplaatst. Gelieve dit in het vervolg zelf toe te voegen aan je bericht.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Gewijzigd op 30/10/2018 22:20:39 door - Ariën -
Ik vind het eigenlijk al bijzonder dat het script het al tot de upgrade overleefd heeft. Want superglobals zijn al ruim 12(?) jaar standaard.
Omdat het al best een oud script is, denk ik dat toch het beste is om van begin af aan boel nieuw op te (laten) bouwen. De Technieken in PHP en de beveiliging-procedures (opslag wachtwoorden, sql-injection tegengaan o.a., veiligheid bij inloggen) zijn enorm veranderd dat alles beter herzien moet worden. Zo zie ik dat je enkel een username in de cookie opslaat, en die is eenvoudig aan te passen. Dus iemand zo eenvoudig jouw account kunnen overnemen.
Ook de HTML is best verouderd. Tabellen gebruik je tegenwoordig niet meer om je layout op te bouwen, een enkel voor overzichtslijstjes.
Als je dit wilt laten doen kan je het beste een vacaturetopic aanmaken in het Vacatureforum op deze site.
Gewijzigd op 30/10/2018 09:36:48 door - Ariën -
Ook is er misschien iets voor te zeggen om code "op onderwerp" te gaan organiseren. Hierboven passeren al een aantal zaken de revue:
- routing van de applicatie (Fusebox, ha! de laatste keer dat ik hiermee werkte was tijdens mijn afstuderen)
- pagina-opbouw met een opdeling in verschillende acties
- formulieren, de validatie en de afhandeling hiervan
- communicatie met de database
- mailverkeer
Doordat je deze zaken van elkaar lostrekt, en daarmee in wezen modulair maakt, wordt het ook makkelijker (althans, dat is het streven :)) om pagina's en functionaliteit aan te passen en toe te voegen.
Daarnaast zijn er in al die tijd wellicht ook nieuwe ideeën en wensen bijgekomen of blijft de site helemaal hetzelfde? Dit is misschien ook een moment om bepaalde dingen opnieuw of verder uit te werken.
Dit is een radio programma, men hoort een station en spot dit station wat dan gepubliceerd wordt in de spotbox.
Als je ingelogd was kon je onder andere je preferences veranderen, je kon je latitude, longitude ingeven zodat het programma precies de beamheading publiceerde van jou lokatie gegevens (je woonplaats) naar de gespotte lokatie bijvoorbeeld USA dat is vanuit Nederland zo'n 310 graden.
In de database staat dus een landenlijst onder andere met latitude/longitude gegevens.
Deze beamheading functie zou als laatste hersteld kunnen worden, het is eerst zaak dat de login en de volgende "mainpagina" werkt.
Het heeft misschien nut om het uit te besteden maar uiteraard zitten daar kosten aan vast en je schrikt van de prijzen die men tegenwoordig vraagt om dit te laten doen.
Mocht iemand het echter voor een redelijke prijs willen doen dan wil ik dat best overwegen.
Thomas er hoeven dus geen andere uitbreidingen plaats te vinden voor deze site, alles wat we nodig hebben is reeds aanwezig. Dat scheelt ook weer, leuk dat jij ook met de fusebox in aanrakig bent geweest, maar het zal eruit moeten want het werkt gewoon niet meer ook oude php data.
De site bestond uit veel meer paginas maar dat hebben we niet nodig, het is nu alleen van belang dat ik het cluster werkend krijg, de basis is dus een goed werkende login te maken, ik had me verdiept in login procedures, met session is het veiliger want de session staat op je eigen server, cookies staan bij mensen op hun computer....graag informatie van jullie wat is de beste manier om een veilige login te maken met door verwijzing naar members pagina ?
Dit geeft jullie een betere kijk op wat nu precies de bedoeling is, wat denken jullie ervan ?
Hartelijk bedankt alvast voor jullie interesse!
Echter zal het meer werk zijn om alles te refurbishen en overhaulen dan het opnieuw te bouwen. Niet alleen de functies zijn veranderd, maar ook de flow van bepaalde acties zoals inloggen. En dan heb ik het nog niet over de HTML gehad.
Ik weet niet hoe groot je applicatie is, maar je zou ongetwijfeld een framework kunnen gebruiken. Zo kan je jouw buisinesslayer van PHP met je code al lostrekken van je layout. Of misschien een bestaand CMS als Wordpress.
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
<table width="690" align="center">
<tr><td>
<?php
function Strip($string){
$string = @((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $string) : ((trigger_error("[MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work.", E_USER_ERROR)) ? "" : "")) ;
return $string;
}
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
if (empty($_POST['n_email']) or empty($_POST['password'])){
echo("<br><br>
<center>
<span class=\"txt-bold\">
Your registration failed, because you have to enter an e-mail address and password to register !!
<br><br><br>
<a href=\"javascript:history.go(-1)\" class=\"txt\"><b>Go back to register again</b></a>
</span>
</center>");
} else {
($GLOBALS['___mysqli_ston'] = mysqli_connect($host, $username, $password)) or die('error connecting to databasse');
((bool)mysqli_query($GLOBALS["___mysqli_ston"], "USE $databasename")) or die('error selecting database');
$sql = "SELECT call from sitemembers WHERE call = '".Strip($_POST['call'])."'";
$result = mysqli_query($GLOBALS["___mysqli_ston"], $sql);
$ismember = mysqli_num_rows($result);
if ($ismember>0) {
echo("<br><br><center><span class=\"txt-bold\">You are already registered!</span>");
echo("<br><br><b><span class=\"txt\">Click <a href=\"javascript:void(0)\" onClick=\"MM_openBrWindow('pop-up.php','','width=300,height=150')\">here</a> to login.</span></b>");
echo("<br><br><b><span class=\"txt\">If you have lost your password, click <a href=\"javascript:void(0)\" onClick=\"MM_openBrWindow('register/sendpass.php','','width=300,height=150')\">here</a></span>.</b>");
echo("<br><br><b><span class=\"txt\">Please contact the <a href=\"mailto:[email protected]?Subject=Problem%20with%20password.&Body=Hi%20Admin%21%0D%0A%0D%0AI%20am%20getting%20an%20error%20message%20when%20I%20try%20to%20register%20on%20to%20your%20website.%0D%0A%0D%0AI%20am%20sure%20that%20I%20have%20never%20registered%20before.%0D%0A%0D%0ACan%20you%20please%20help%20me%3F%0D%0A%0D%0ARegards%2C%0D%0A%0D%0A%3Cname%3E%20%28%3Cunitnumber%[email protected]%29.\">admin</a> if you feel you shouldn't receive this error.</span></b></center>");
}
else {
if($_POST['cluster'] == "on"){
$cl=TRUE;
}else {
$cl=FALSE;
}
$call = trim($_POST['call']);
$password = md5($_POST['password']);
$cl_email = trim($_POST['cl_email']);
$name = trim($_POST['name']);
$n_email = trim($_POST['n_email']);
$sql ="INSERT INTO sitemembers
(
call,
password,
cluster,
cl_email,
name,
n_email
)
VALUES (
'".Strip($call)."',
'".Strip($password)."',
'".Strip($cl)."',
'".Strip($cl_email)."',
'".Strip($name)."',
'".Strip($n_email)."'
)";
if (mysqli_query($GLOBALS["___mysqli_ston"], $sql)) {
echo("<P ALIGN=center><B>Thanks for being a member of the cl</B></P>");
setcookie("username",$call,time()+24*60*60);
} else {
echo("<P>Error adding new member: " .
((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) .
"</P>");
}
$env_report = $REMOTE_HOST." ".$REMOTE_ADDR." ".$HTTP_USER_AGENT;
$bodywm = $call." ".$name." heeft zich ingeschreven op de website met e-mail adres: ".$n_email.".\n\n".
"The signup was done from: ".$env_report;
$bodyeu = "Welcome at the huppeldepup Website, ".$name.".\n\n".
"You are registered with login ID ".$call." and password ".$password.".";
$header="From: our Registration System <[email protected]>";
$subjectwm="Nieuwe inschrijving.";
$subjecteu="Welcome at the huppeldepup Website";
if(mail("[email protected]", $subjectwm, $bodywm, $header)){
if(mail($n_email, $subjecteu, $bodyeu, $header)){
header("Location: index.php?fuseaction=register.thanks");
exit;
}else{
echo "Mail error to member!";
}
}else{
echo "Mail error to admin!";
}
}
}
}
?>
</td></tr>
</table>
<table width="690" align="center">
<tr>
<td bgcolor="#EEEACC"><span class="kop3">Registration form</span></td>
</tr>
<tr>
<td>
<br>
<span class="txt">Please before you register and want to use the cluster, read the following lines carefully.
<ul>
<li>Remember that this cluster is used by other people as well, you are not the only one.
Be serious, behave yourself and do not abuse the IR-DX cluster. We will only warn once,
after that you will be expelled from the cluster for a period of time.</li>
<li>Be accurate when filling in the cluster fields. Fill in all the fields correctly.</li>
<li>Use the English language while chatting and insert spots to the cluster.</li>
<li>Use your standard DX-callsign (QRZ) when register for example : <b>123IR101</b> (prefix, groupname, unitnumber),
so no spaces please.<br>
<b>If you have an unitnumber below nr. 10, use 00 before the unitnumber. For example 005.</b></li>
<li>The system administrator is allowed to remove a user, when the e-mail of a user is bouncing back to the IR-DX cluster</li>
<li>Your privacy is guaranteed. We will not re-sell your information or forward it to third parties, such as other groups, websites etc.</li>
</ul>
By using the IR-DX Cluster, you signify your agreement to these terms of use.
</span>
<FORM ACTION="inlog.php" METHOD="POST">
<INPUT TYPE="hidden" NAME="cl_email" value="niks">
<INPUT TYPE="Hidden" NAME="level" VALUE="0">
<table width="690" border="0" cellspacing="0" cellpadding="3" align="center" bordercolor="Black" class="txt">
<TR>
<TD bgcolor="#99CCFF" class="register">
What is your Callsign?
</TD>
<TD bgcolor="#CCCCCC" class="register">
<INPUT TYPE="TEXT" NAME="call" SIZE="10" MAXLENGTH="10" class="formfield"> <b>(example: 12IR249)</b>
</TD>
</TR>
<TR>
<TD bgcolor="#99CCFF" class="register">
What is your personal name?
</TD>
<TD bgcolor="#CCCCCC" class="register">
<INPUT TYPE="TEXT" NAME="name" SIZE="25" MAXLENGTH="10" class="formfield">
</TD>
</TR>
<TR>
<TD bgcolor="#99CCFF" class="register">
Choose a password (max. 8 characters)
</TD>
<TD bgcolor="#CCCCCC" class="register">
<INPUT TYPE="TEXT" NAME="password" SIZE="8" MAXLENGTH="8" class="formfield">
</TD>
</TR>
<TR>
<TD bgcolor="#99CCFF" class="register">
What is your normal e-mail address?
</TD>
<TD bgcolor="#CCCCCC" class="register">
<INPUT TYPE="TEXT" NAME="n_email" SIZE="30" MAXLENGTH="30" class="formfield">
</TD>
</TR>
<TR>
<TD bgcolor="#99CCFF" class="register">
Check here if you want cluster notification?
</TD>
<TD bgcolor="#CCCCCC" class="register">
<INPUT TYPE="CHECKBOX" NAME="cluster" value="on" class="formfield">
</TD>
</TR>
<TR>
<TD bgcolor="#99CCFF" class="register">
To what e-mail address do we send this notification?
</TD>
<TD bgcolor="#CCCCCC" class="register">
<INPUT TYPE="TEXT" NAME="cl_email" SIZE="30" MAXLENGTH="30" class="formfield">
</TD>
</TR>
<TR>
<TD bgcolor="#99CCFF" class="register">
</TD>
<TD bgcolor="#CCCCCC" class="register">
<input type="SUBMIT" name="submit" value="SUBMIT" class="submit">
</TD>
</TR>
</TABLE>
</FORM>
</td>
</tr>
<tr>
<td class="txt">
Disclaimer
<br><br>
Every effort has been made to make this website as complete and accurate as possible,
but no guarantee or fitness is implied. The information is on ''''as-is'''' basis.
The publisher shall have neither liability nor responsibility to any person or entity
with respect to any loss or damages arising from the information contained on this website.
</td>
</tr>
</table>
Dan blijft nog steeds dat de inlog lek is.
Ik zal even mijn file erbij plaatsen voor de connectie database
De code is een beetje lastig te begrijpen voor mij met die $string = @((isset($GLOBALS["___mysqli_ston"] enzo.Ik weet nu niet of ik $string of $GLOBALS moet gebruiken.
Ik probeerde zo'n connect.php file te maken maar lukte niet, ik krijg geen verbinding met de database, kun je mij hiermee ook op weg helpen ? Ik moet even weten waar ik de inlude moet plaatsen en wat de code is voor de include, of moet ik mijn database gegevens in deze file ergens plaatsen ? Ik zie alleen niet waar dat zou moeten.
Even ter informatie van Arien, geeft niets dat de login lek is, ik denk dat het van belang is dat ik eerst deze oude code waarvan de login niet werkt eerst werkend krijg, dan kan ik verder met bekijken hoe we dit kunnen aanpakken, als de login werkt kan ik de beveilgde members only index.php bereiken en eventueel geinteresseerde developers het spul laten bekijken en een eventuele offerte vragen wat de kosten zijn om het php 7.2 werkend te krijgen plus beveiligd. Ik heb inmiddels ook contact met een medelid van de vereniging en die heeft wat meer kijk op coderen als ikzelf, hij had het spul ooit geimplenteerd in php Nuke, hij verblijft momenteel in het buitenland maar is rond 20 November weer thuis, in ieder geval nogmaals bedankt Mausie Wausie, het heeft geen haast maar kun je me op weg helpen hoe ik de database moet connecten ? Bedankt alvast ! Grt Jan
ps ik had ook getest met een include, een class die de mysql verbinding veranderd in mysqli, ik had de php versie op mijn server op 7.2 gezet en veel files werkten maar dit is slechts een probeersel en niet iets wat blijvend is, oorspronkelijk is deze class geschreven om de developer de gelegenheid te geven om in de tusentijd de scripts te herschrijven naar php7.2 maar je kunt dus wel gewoon je website blijven gebruiken mocht je provider ineens helemaal over gaan op php 7 en de oudere versies niet meer mogelijk maakt.
Quote:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$host = "localhost";
$username = "mijn gebruikersnaam database";
$password = "paswoord database";
// Create connection
$GLOBALS = mysqli_connect($host, $username, $password);
// Check connection
if ($GLOBALS->connect_error) {
die("Connection failed: " . $GLOBALS->connect_error);
}
echo "Connected successfully";[/quote]
$host = "localhost";
$username = "mijn gebruikersnaam database";
$password = "paswoord database";
// Create connection
$GLOBALS = mysqli_connect($host, $username, $password);
// Check connection
if ($GLOBALS->connect_error) {
die("Connection failed: " . $GLOBALS->connect_error);
}
echo "Connected successfully";[/quote]
Gewijzigd op 07/11/2018 06:22:39 door Jan Meijer
Het klopt dat het nog niet water dicht is maar mij ging het om de mysqli fincties en de post, werk zelf ook liever met session en md5 is ook al verouderd ik gebruik hiervoor de password_hash functie.
In jouw connect.php moet je dit eerste onderstaande code zetten en dan include_once("path/to/db_connect.php");.
Dit stukje code staat ook in het script op regel 23, 24 deze regels mag je verwijderen als je een connect.php gebruikt:
connect.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
//vul hier onder de juiste database gegevens in
$host = "localhost";
$username = "gebruikersnaam database";
$password = "paswoord database";
$databasename = 'database naam';
//vanaf hier niks aan doen
//db select and connection
($GLOBALS['___mysqli_ston'] = mysqli_connect($host, $username, $password)) or die('error connecting to databasse');
((bool)mysqli_query($GLOBALS["___mysqli_ston"], "USE $databasename")) or die('error selecting database');
unset($host, $username, $password);
?>
//vul hier onder de juiste database gegevens in
$host = "localhost";
$username = "gebruikersnaam database";
$password = "paswoord database";
$databasename = 'database naam';
//vanaf hier niks aan doen
//db select and connection
($GLOBALS['___mysqli_ston'] = mysqli_connect($host, $username, $password)) or die('error connecting to databasse');
((bool)mysqli_query($GLOBALS["___mysqli_ston"], "USE $databasename")) or die('error selecting database');
unset($host, $username, $password);
?>
Het stukje code wat jij bedoeld met "$string = @((isset($GLOBALS["___mysqli_ston"])" staat in een functie, dit gebruik je bij het invoegen van de gegevens (zie hier onder) in jouw database het is Strip($string) is makkelijker te gebruiken dan telkens een lange regel te moeten gebruiken houd het overzichtelijker:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function Strip($string){
$string = @((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $string) : ((trigger_error("[MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work.", E_USER_ERROR)) ? "" : "")) ;
return $string;
}
$sql ="INSERT INTO sitemembers
(
call,
password,
cluster,
cl_email,
name,
n_email
)
VALUES (
'".Strip($call)."',
'".Strip($password)."',
'".Strip($cl)."',
'".Strip($cl_email)."',
'".Strip($name)."',
'".Strip($n_email)."'
)";
$string = @((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_ston"])) ? mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $string) : ((trigger_error("[MySQLConverterToo] Fix the mysql_escape_string() call! This code does not work.", E_USER_ERROR)) ? "" : "")) ;
return $string;
}
$sql ="INSERT INTO sitemembers
(
call,
password,
cluster,
cl_email,
name,
n_email
)
VALUES (
'".Strip($call)."',
'".Strip($password)."',
'".Strip($cl)."',
'".Strip($cl_email)."',
'".Strip($name)."',
'".Strip($n_email)."'
)";
Hoop dat je er wat aan hebt suc6.
Gr Mausie.
error selecting database.
Denk dat op deze regel iets verkeerd gaat?
((bool)mysqli_query($GLOBALS["___mysqli_ston"], "USE $databasename")) or die('error selecting database');
Klopt het dat de databasename in single quotes moet en de rest in dubbel wat in de database verbindingsfile staat ?
De twee regels die jij bedoelde, die eruit gehaald konden worden als ik connect.php gebruik ofzo heb ik laten staan, misschien kun je daar anders even een voorbeeldje van sturen met wat fantasie gegevens van databasenaam, paswoord, username, host. Thanks !
je kunt hem ook zo gebruiken moet je deze regel verwijderen:
Code (php)
1
((bool)mysqli_query($GLOBALS["___mysqli_ston"], "USE $databasename")) or die('error selecting database');
en de deze regel gebruiken:
Code (php)
1
($GLOBALS['___mysqli_ston'] = mysqli_connect($host, $username, $password, $databasename)) or die('error connecting to databasse');
je hebt maar een verbinding nodig, misschien zit daar het probleem in of je gebruikt hem via de include of je gebruikt de database verbinding inline in het script.
gr mausie.
Gewijzigd op 06/11/2018 10:24:54 door - Ariën -
klopt je kan ook gewoon variabelen gebruiken alleen ik had de variabelen in veel scripts nodig vandaar heb ik zo ff snel overgenomen.
Nu hoef de ik niet overal globale $variabele te gebruiken. ;-).
Maar je kan ze natuurlijk altijd vervangen met gewone variabelen.
Mocht je het leuk vinden en tijd hebben verder te helpen dan uiteraard super bedankt, anders moet ik nu zelf maar gaan proberen het spul om te bouwen, veel nieuwe code die jij hebt gemaakt inclusief de function strip moet uiteraard in de thanks file komen.
Ik zal even de dsp_thanks.php hierbij uploaden dan kun je het zien wat er loos is.
De foutmelding die ik kreeg was:
Error fetching members from database!
Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'call, name, password, level, n_email, cluste' at line 1
Dus er wordt nu ook nog niets naar de database geschreven maar de verbinding heb ik gelukkig werkend gekregen moest wat kleine dingetjes aanpassen.
Quote:
Toevoeging op 07/11/2018 07:18:28:
Ik kan de tabel die ook in het script staat niet netjes plaatsen, wil er geen puinhoop van maken, dit is gewoon de tabel waar de gegeven login informatie in staat.
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
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
<?php
$user = $HTTP_COOKIE_VARS["username"];
$dbcnx = @mysql_connect("localhost", "user", "wachtwoord");
mysql_select_db('databasenaam');
$password = md5($password);
$members_info = mysql_query("
SELECT call,
name,
password,
level,
n_email,
cluster,
cl_email
FROM sitemembers
WHERE call = '$user'
");
if (!$members_info) {
echo("<P>Error fetching members from database!<BR> " .
"Error: " . mysql_error());
exit();
}
$rs = mysql_fetch_array($members_info) ;
$members_id = $rs["members_id"];
$call = $rs["call"];
$password = $rs["password"];
$level = $rs["level"];
$cluster = $rs["cluster"];
$cl_email = $rs["cl_email"];
$name = $rs["name"];
$n_email = $rs["n_email"];
if($cluster==1) {
$cl="on"; }
else {
$cl="off"; };
?>
$user = $HTTP_COOKIE_VARS["username"];
$dbcnx = @mysql_connect("localhost", "user", "wachtwoord");
mysql_select_db('databasenaam');
$password = md5($password);
$members_info = mysql_query("
SELECT call,
name,
password,
level,
n_email,
cluster,
cl_email
FROM sitemembers
WHERE call = '$user'
");
if (!$members_info) {
echo("<P>Error fetching members from database!<BR> " .
"Error: " . mysql_error());
exit();
}
$rs = mysql_fetch_array($members_info) ;
$members_id = $rs["members_id"];
$call = $rs["call"];
$password = $rs["password"];
$level = $rs["level"];
$cluster = $rs["cluster"];
$cl_email = $rs["cl_email"];
$name = $rs["name"];
$n_email = $rs["n_email"];
if($cluster==1) {
$cl="on"; }
else {
$cl="off"; };
?>
Toevoeging op 07/11/2018 07:18:28:
Ik kan de tabel die ook in het script staat niet netjes plaatsen, wil er geen puinhoop van maken, dit is gewoon de tabel waar de gegeven login informatie in staat.
Gewijzigd op 07/11/2018 07:16:28 door Jan Meijer
Zet deze tussen `backquotes` of hernoem dit veld.
Verder zijn de mysql_***() functions verouderd.
Ook zit er SQL-injection in. Gebruik mysqli_real_escape_string en bij sterke voorkeur PHP-sessions i.p.v. cookies. Als ik mijn username innmijn cookie aanpas naar 'admin' of 'Jan' dan ben ik onder die naam bekend op je site. Niet echt veilug.
Gewijzigd op 07/11/2018 09:15:06 door - Ariën -
Ik wil er wel naar kijken alleen begrijp ik niet wat de bedoeling is, na de registratie moet de gebruiker dan op de zelfde pagina blijven of moet hij door gestuurd worden naar "index.php?fuseaction=register.thanks"?
Wat moet het bestand "dsp_thanks.php" doen?
In het bestand "dsp_thanks.php" werk je ook weer met mysql in plaats van mysqli en wat Ariën ook al zij je moet bij het invoegen van gegevens in de database "mysqli_real_escape_string" gebruiken om sql injection tegen te gaan en de naam call in de database aanpassen naar een andere naam die niet gereserveerd in door de MariaDB (database).
Gr Mausie.
Toevoeging op 07/11/2018 16:59:59:
Mausie Wausie hartelijk bedankt voor je hulp en interesse, ik denk dat je mij het beste even een e-mailtje kunt sturen of een PM hier zodat we persoonlijk contact hebben, ik kan je dan de link geven van de website zodat je kunt zien wat het is en hoe het werkt(e) mijn e-mail [email protected]
Ik stel je hulp zeer op prijs omdat ik zelf niet veel weet van php7 maar ben nog wel leergierig.
Dit was een website gebouwd door een kennis en die heeft helaas geen tijd meer om te helpen, de site is denk geschreven zo'n 16 jaar geleden dus het is lek als een mandje met allemaal oude code.
Je kunt ook even teruglezen hier in dit forum bericht maar het is beter als je zelf de site ziet met alle files en ook de database.
Eind december moet ik weer betalen maar ik wil ook mijn domeinnaam veranderen.
Stuur me svp een mailje of laat even weten als je liever PM doet, grt Jan