php oude code hoe te beginnen met dit project ?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Innovatieve, nauwkeurige Senior PHP Developer voor

Eind jaren ’90 is dit bedrijf opgericht. Ze hebben zich altijd beziggehouden met het ontwikkelen van software voor overheidsinstanties. Dit zijn instanties waaronder bijvoorbeeld ook onder andere : de belastingdienst, burgerszaken, verschillende bedrijven, notarissen, incassobureau’s en ook nog bewindvoerders. Momenteel tellen ze 20 medewerkers, waarvan 2/3 deel allemaal developers zijn. Doordat ze de enigste aanbieder van dit soort software op de markt zijn, groeien ze erg hard. Door de enorme groei, hebben ze dan ook concrete groeiplannen in het verschiet. Functie-omschrijving Het bedrijf wordt door allerlei instanties ingeschakeld. Tegenwoordig wordt alles digitaal geregeld en gezien de essentie van dit soort

Bekijk vacature »

Jan Meijer

Jan Meijer

30/10/2018 03:26:53
Quote Anchor link
Beste mensen, ik ben helemaal nieuw op deze leuke site en dit is mijn eerste bericht, ik ben 56 en geemigreerd naar Thailand en woon daar bijna 10 jaar alweer, tot mijn verbijstering heb ik gemerkt dat de techniek zeer snel vooruit gaat, ik heb een website op Antagonist en deze is geschreven door een kennis in php4 denk ik, uiteraard werkt niets op php7.2.
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 jjpmeijer@gmail.com

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<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:admin@dxloops.nl?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%3E@str.nl%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 <admin@llll.nl>";
                $subjectwm="Nieuwe inschrijving.";
                $subjecteu="Welcome at the huppeldepup Website";
              mail("admin@ttttt.nl", $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">&nbsp;</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.
Gewijzigd op 30/10/2018 22:20:39 door - Ariën -
 
PHP hulp

PHP hulp

14/11/2018 02:36:22
 
- Ariën -
Beheerder

- Ariën -

30/10/2018 09:31:47
Quote Anchor link
Zo te zien missen er superglobsls als $_POST, $_GET en $_SERVER en moeten de verouderde mysql_***() functies worden omgebouwd naar mysqli_***().

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 -
 
Thomas van den Heuvel

Thomas van den Heuvel

30/10/2018 15:14:40
Quote Anchor link
Zoals @Ariën aangeeft is er inmiddels veel veranderd. Omdat bepaalde concepten nu anders werken of in het geheel niet meer bestaan, en omdat zaken omtrent security inmiddels ook een hoge vlucht hebben genomen denk ik niet dat het makkelijk (en mogelijk ook niet wenselijk) is om dit 1:1 te vertalen.

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.
 
Jan Meijer

Jan Meijer

01/11/2018 04:32:08
Quote Anchor link
Beste Ariën en Thomas hartelijk bedankt voor jullie reactie, ik begrijp dat de mysql functies overgezet moeten worden naar msqli of PDO, ook de superglobals...ik denk dat dit wel te doen is en als eerste moet gebeuren, ik denk dat ik dat zelf kan doen maar soms zal ik op problemen stuiten, ik was al begonnen met een gedownload login / register script om daarvan uit te starten, dit moet dan de beginpagina worden, ik had dit script werkend maar ik begrijp als je ingelogd bent dat je dan normaliter doorverwezen wordt naar een beveilgde pagina die alleen mensen kunnen bereiken die ingelogd zijn, het werkt met session maar ik weet niet of ik dan ook een setcookie erin moet zetten omdat de zogenaamde beveilgde pagina gewoon te bereiken is in de browser ook als je niet ingelogd bent, ik denk dat het gedownloade script niet compleet is, ik ga hier mee verder en kan uiteraard in een ander topic raad vragen dat is fijn, ik ga even uitleggen wat de bedoeling is van deze kleine website, ik heb dus een login nodig met een cookie, de cookie onthoudt de roepnaam van iemand die we later nodig hebben (om een spot te maken), de beveiligde pagina bestond uit 4 verschillende dingen die door html script frameset en frames ingvoegd weren in deze pagina, dit was een chatbox waarin je kunt chatten met de andere mensen die ook ingelogd zijn, dan daarboven de chatinput, daaronder een spotinput, daaronder de getoonde spots van de leden die deze verzonden hebben dmv de spotinput.
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!
 
- Ariën -
Beheerder

- Ariën -

01/11/2018 08:55:32
Quote Anchor link
Ikzelf heb mijn inlogsysteem op PHP-sessies draaien. Deze gebruiken wel een identificatie-cookie met de SessionID.

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.
 
Mausie Wausie

Mausie Wausie

05/11/2018 19:59:32
Quote Anchor link
Probeer het hier eens mee, ik heb het niet getest!

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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

<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:admin@dxloops.nl?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%3E@str.nl%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 <admin@llll.nl>";
                $subjectwm="Nieuwe inschrijving.";
                $subjecteu="Welcome at the huppeldepup Website";
                if(mail("admin@ttttt.nl", $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">
                            &nbsp;
                        </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>
 
- Ariën -
Beheerder

- Ariën -

05/11/2018 20:11:39
Quote Anchor link
Dan blijft nog steeds dat de inlog lek is.
 
Jan Meijer

Jan Meijer

06/11/2018 05:23:18
Quote Anchor link
Mausie Wausie hartelijk bedankt! Ik probeerde het te testen maar ik denk dat ik iets fout doe met de database connectie, ik denk dat ik ergens een Include Once of Include moet plaatsen met de database gegevens, zoiets als connect.php.
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)
PHP script in nieuw venster Selecteer het PHP script
1
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]
Gewijzigd op 07/11/2018 06:22:39 door Jan Meijer
 
Mausie Wausie

Mausie Wausie

06/11/2018 07:40:22
Quote Anchor link
Hoi Jan,

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)
PHP script in nieuw venster Selecteer het PHP script
1
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);
?>

 


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)
PHP script in nieuw venster Selecteer het PHP script
1
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)."'
                                    )";


Hoop dat je er wat aan hebt suc6.

Gr Mausie.
 
Jan Meijer

Jan Meijer

06/11/2018 09:24:04
Quote Anchor link
Wow! Jij bent snel Maus, super bedankt, ik heb het aangepast zoals jij vertelde, echter ik krijg de volgende foutmelding:
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 !
 
Mausie Wausie

Mausie Wausie

06/11/2018 10:22:40
Quote Anchor link
Hoi jan,

je kunt hem ook zo gebruiken moet je deze regel verwijderen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
((bool)mysqli_query($GLOBALS["___mysqli_ston"], "USE $databasename")) or die('error selecting database');


en de deze regel gebruiken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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.
 
- Ariën -
Beheerder

- Ariën -

06/11/2018 10:24:33
Quote Anchor link
Vanwaar de keuze voor $_GLOBALS i.p.v. normale variabelen?
Gewijzigd op 06/11/2018 10:24:54 door - Ariën -
 
Mausie Wausie

Mausie Wausie

06/11/2018 12:52:02
Quote Anchor link
Hoi 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.
 
Jan Meijer

Jan Meijer

07/11/2018 06:19:15
Quote Anchor link
Mausie Wausie, leuke naam trouwens, hartelijk bedankt! Ik heb de include eruit gehaald en de database gewoon vanuit de file zelf verbinding laten maken met jou optie, het werkt! Ik ben nu verbonden met de database en hij doet het maar ik denk dat ik nu foutmeldingen krijgt van de door gelinkte "thanks for register file" In de code staat de link (header("Location: index.php?fuseaction=register.thanks");) Ik zie ook nog geen echo verschijnen met Thanks for being a member of the cl.
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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"; };

?>


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
 
- Ariën -
Beheerder

- Ariën -

07/11/2018 08:52:10
Quote Anchor link
Call is een gereserveerde naam in MariaDB.
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 -
 
Mausie Wausie

Mausie Wausie

07/11/2018 15:32:11
Quote Anchor link
Ho jan,

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.
 
Jan Meijer

Jan Meijer

07/11/2018 16:51:54
Quote Anchor link
Beste Arien, bedankt voor je informatie, ja het klopt allemaal wat je zegt over de veiigheid enzo, maar momenteel was de doelstelling om het even allemaal werkend te krijgen zodat ervaren mensen het werkend kunnen zien en dan kunnen bepalen hoe het om te bouwen naar php7.

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 jjpmeijer@gmail.com
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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.