Beste,

Ik heb sinds jaar en dag een website die ik ooit gemaakt heb uit interesse en hobby. Nu is mijn server (Synology) geüpdatet naar een nieuwere php versie en werkt mijn website niet meer. Ik heb van alles geprobeerd maar mijn kennis is niet toereikend... Wie zou mij kunnen helpen om mijn website weer aan de eisen van deze tijd te kunnen maken.

Het betreft onderstaande code waar ik tegen aanloop. Het betreft een php bestand van vele, maar deze geeft foutmeldingen...

Alvast bedankt voor diegene die er naar wil kijken en er aandacht aan besteed!

Groet,

Marc

<?
// met deze 2 variabelen kun je het aantal kolommen en de kolombreedte wijzigen:
$aantalkolommen=3;
$kolombreedte="205px";

//db connectie
include('connectie.php');

//username halen uit url
$array = array('<', '>', '\\', '/', '=', '.blommetje.nl');
$request_url=$_SERVER['HTTP_HOST'];
$username=str_replace($array, "", $request_url);

// selecties maken
if ($username == "www") {
    $userid = 1;
} else {
    $sql = mysqli_query($conn, "SELECT id, gebrnaam FROM users WHERE gebrnaam ='$username'");
    while ($res = mysqli_fetch_assoc($sql)) {
        trigger_error(mysqli_error());
    }

    if (mysqli_num_rows($sql) == 0) {
        header("Location: aanmeld.php");
        exit;
    } else {
        while ($row = mysqli_fetch_assoc($sql)) {
            $userid = $row['id'];
        }
        $username = $row['gebrnaam'];
    }
}

//start de opbouw van de linkpagina
$linkcode="<div class=\"linktank\"><div class=\"linkcontainer\">";

//link aantallen en afbreekwaarden bepalen
$breaksmade=-0;
$makebreak=0;
$count=0;
$counttotal=0;

$sqlll= mysqli_query($connection, "SELECT COUNT(lid) as total FROM links WHERE uid ='$userid'");
if (!($temp_2 =  mysqli_query($sqlll,$conn)))
	showerror();
	$aantallen = mysqli_fetch_array($temp_2);
	
if ($aantallen['total'] == 0)
{
	include('geenlinksgevonden.php');
}

//categorien in de geselecteerde linkdir vinden
$sqll= mysqli_query($conn, "SELECT DISTINCT cat FROM links WHERE uid ='$userid' GROUP BY cat ");
if (!($temp =  mysqli_query($sqll,$conn)))
	showerror();
	$aantalcats=mysqli_num_rows($temp);

	//kolommen
	$totalrows= $aantallen['total'] + $aantalcats;
	$splitvalue= ceil($totalrows/$aantalkolommen);

	// voor elke categorie een apart blok bouwen
	while ($groep = mysqli_fetch_array($temp))
	{
		$category=$groep["cat"];

		// voor elk blok de links selecteren & html code schrijven
		$sql= mysqli_query($conn, "SELECT * FROM links WHERE cat = '$category'  AND uid ='$userid' ORDER BY naam ");
		if (!($result =  mysqli_query($sql,$connection)))
			showerror();
			$count++;
			$counttotal++;								

			//categorie kop
			$linkcode.="<div class=\"list1\">".$category."</div><div>";
			while ($row = mysqli_fetch_array($result) )
			{
				$count++;
				$counttotal++;								

				//link
				$linkcode.="<a target=\"_blank\" href=\"".$row["link"]."\">".$row["naam"]."</a><br>";
				if ($count >= $splitvalue)
				{
					$makebreak=1;
				}
			}
			if ($makebreak==1)
			{ 

				// einde?
				if ($counttotal == $totalrows)
				{
					$linkcode.= "</div><br>";
				}

				//nog een kolom		
				else 
				{ 
					$linkcode.= "</div></div><div class=\"linkcontainer\">";
					$makebreak=0;
					$count=0;
					$breaksmade++;
				}
			}
			else
			{

			//einde categorie
			$linkcode.= "</div><br>";
			}
		}	

		//niet genoeg kolommen maar wel genoeg categorien correctie:
		if ($breaksmade < $aantalkolommen && $aantalcats >=$aantalkolommen)
		{
			function str_replace_count($search,$replace,$subject,$times) 
		{
	 	$subject_original=$subject;
	  	$len=strlen($search);   
	   	$pos=0;
	   	for ($i=1;$i<=$times;$i++) 
		{
			$pos=strpos($subject,$search,$pos);
		   	if($pos!==false) 
			{               
				$subject=substr($subject_original,0,$pos);
			   	$subject.=$replace;
			   	$subject.=substr($subject_original,$pos+$len);
			   	$subject_original=$subject;
		   	}
			else
			{
				break;
		   	}
	   	}
	   	return($subject);
	}
	$extrabreaks =$aantalkolommen-$breaksmade;
	$linkcode = str_replace_count("</div><br>",  "</div></div><div class=\"linkcontainer\">",  $linkcode, ($extrabreaks-1));
}
?>
<style type="text/css">
<!--
.list1 {
	font-weight:bold;
	background-color:#0060ac;
	/* background-color: #E96516; */
	color: #ffffff;
	text-align:center;
	/* letter-spacing: 1px; */
	line-height: 17pt;
	margin-bottom: 5px;
	border-radius: 10px 10px 10px 10px;
	/* border:2px solid #E96516; */
}

.linktank {
width:<? echo ($aantalkolommen*$kolombreedte)+($aantalkolommen*14) ?>px;
}

.linkcontainer {
	float:left;
	margin:0px 5px;
	line-height: 13pt;
	width:<? echo $kolombreedte;?>;
}
-->
</style>
<?php echo "<br clear=\"all\">".$linkcode.""; ?>
Ik zie ook dat je <? gebruik i.p.v. <?php.
Dat zal ook voor problemen kunnen zorgen omdat de short-tag al lange tijd wordt afgeraden.
Ok, ga ik aanpassen, thanks!
Welke editor gebruik je? Als een goede editor gebruikt, dan zou je al op de vingers getikt moeten worden als je een argument vergeet, en houdt auto-complete je op de hoogte welke variabele je moet gebruiken.
euh, ik gebruik teksteditor op mijn Mac. Welke editor kan je aanbevelen?
Ikzelf gebruik NetBeans IDE.
Op Mac gebruikte ik vroeger TextWrangler.
Maar tegenwoordig helpt Eclipse mij met alles wat ik nodig heb.
NetBeans heb ik nooit geprobeerd maar ziet er op het eerste gezicht ook goed uit.

We kunnen live meekijken op https://www.blommetje.nl .
Heb netbeans nu geïnstalleerd, maar ook dat is even puzzelen. Zag de functie debug, maar moet nu wat argumenten opgeven...
Als je deftig wilt programmeren, dan zet je de display_errors uit in productie. :)
Errors kan je altijd in de, voor jou bereikbare, error_log vinden.
- Ariën - op 20/06/2023 11:30:44

Als je deftig wilt programmeren, dan zet je de display_errors uit in productie. :)
Errors kan je altijd in de, voor jou bereikbare, error_log vinden.


Maar in je ontwikkel-omgeving zet je die juist wel aan, zodat je met alle errors direct om je oren geslagen wordt.

Zet je overal het weergeven van je errors uit, dan kan het zo maar zijn dat je jaren met een fout blijft zitten, zonder dat in de gaten te hebben. (zeker als je ook niet heel vaak je errorlog raadpleegt.)

Voorlopig worstel ik nog met netbeans, kom er nog niet echt uit.

En ook niet uit mijn code...

Reageren