Onlangs heb ik een nieuwere WAMP geïnstalleerd: versie 3.3.0_x86 i.p.v. versie 2.5.
Nu blijken de bestaande scripts allerlei errors, waarschuwingen en fouten op te leveren. Dat zal wel komen door veranderde regels en afspraken, maar is dus een klus om de scripts aan te passen. Ik weet wel een beetje van php maar ben niet doorgewinterd, dus ik leg wat ik niet snap maar aan dit forum voor.

Hier is er een:

Warning: Trying to access array offset on value of type null in C:\wamp\www\modellenAlle.php on line <i>213</i></th></tr>

Ter verduidelijking geef ik eerst de context van regel 213. Vooraan de regelnummers van het script


6: $result = mysqli_query($db,"SELECT * FROM categorie") or die ("ophalen van gegevens is niet gelukt.<br />");
7: $selectiecriteria = array();
8:    while ($selcrit = mysqli_fetch_assoc($result))
9:    {
10:     $selected = "";
11:        if (!EMPTY ($_POST['categorie']) && ($_POST['categorie'] == $selcrit['id_cat']))
12:        {
13:         if (($_POST['categorie']) == "'%'")
14:        {$selected = "selected";}
15:   }
16:     $selectiecriteria[] = "<option value=\"'".$selcrit['id_cat']."'\">".$selcrit['Categorie']."</option>\n";
17:   }
18:
19:   if (EMPTY ($_POST['categorie'])){$selectie = "WHERE categorie.id_cat LIKE ".$_GET['categorie'];}
20:   else {$selectie = "WHERE categorie.id_cat LIKE ".$_POST['categorie'];}
... in html-blok ...
213   <option value="'%'"<?php if ( $selcrit['categorie'] == "'%'" ) { echo " selected"; } ?>>alle categorieën</option>


Dit levert de volgende waarschuwing op
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>

Bedoeling is om in de selectie lijst eerste de optie "alle categorieën" op te nemen. Deze optie kiezen moet er in resulteren dat ALLE categoriën uit de database worden opgehaald.
Daarna volgen de categorieën als afzonderlijke opties.

Ik snap echter niet wat de waarschuwing betekent. Wat is er fout op regel 213?
Zonder de code die er omheen zit wordt het lastig om te oordelen. Dus wordt het even debuggen.
Heeft $selcrit['categorie'] wel een waarde? Met meldt van te voren een print_r($selcrit)?
- Ariën - op 15/10/2024 11:35:41

Heeft $selcrit['categorie'] wel een waarde? Met meldt van te voren een print_r($selcrit)?


Dat laatste begrijp ik niet goed. Bedoel je 'echo'?
Ik gedaan:
echo $selcrit'"MMM";

Dat levert alleen MMM op:
Doe ik:'
echo $selcrit['categorie']'"MMM";

dan geeft dat een error:
Warning: Trying to access array offset on value of type null 

Dus $selcrit is blijkbaar leeg.


Zowel dit ...

Guus Wiegerinck op 15/10/2024 12:28:05

Ik gedaan:
echo $selcrit'"MMM";


als dit ...

Guus Wiegerinck op 15/10/2024 12:28:05

Doe ik:'
echo $selcrit['categorie']'"MMM";


... is geen valide PHP-code.

Probeer eerst eens dit:

<?php
var_dump($selcrit);
?>

Ozzie PHP op 15/10/2024 15:10:35

Zowel dit ...

[quote="Guus Wiegerinck op 15/10/2024 12:28:05"]
Ik gedaan:
echo $selcrit'"MMM";


als dit ...

Guus Wiegerinck op 15/10/2024 12:28:05

Doe ik:'
echo $selcrit['categorie']'"MMM";


... is geen valide PHP-code.
[/quote]

...maar het werkt wél. ):



Probeer eerst eens dit:

<?php
var_dump($selcrit);
?>




Als ik deze code in het script zet en vernieuw het scherm, zie ik er niets van.
Je zult toch echt iets moeten zien.
>> ...maar het werkt wél. ):

Nee ...

>> Als ik deze code in het script zet en vernieuw het scherm, zie ik er niets van.

Waarschijnlijk omdat je een error triggert.

Zet deze code eens na de while-lus. In jouw voorbeeld in het eerste bericht is dat op regel 18.

<?php
var_dump($selcrit);
exit;
?>
Dan krijg ik:

Kan geen verbinding maken

Firefox kan geen verbinding maken met de server op localhost.
Laat eens zien hoe je de code erin hebt gezet?
Guus Wiegerinck op 15/10/2024 23:05:10

Dan krijg ik:

Kan geen verbinding maken

Firefox kan geen verbinding maken met de server op localhost.


Dan staat je webserver blijkbaar uit, of zit je op een ander netwerk.
Dit heeft niks met je probleem te maken.

Reageren