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 [email protected]

<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">&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> 
]



Vanwaar de keuze voor $_GLOBALS i.p.v. normale variabelen?
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.
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]<?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"; };

?>

[size=xsmall]Toevoeging op 07/11/2018 07:18:28:[/size]

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.
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 [php]mysqli_real_escape_string[/php] 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.
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.
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.

[size=xsmall]Toevoeging op 07/11/2018 16:59:59:[/size]

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

Reageren