Warning: Trying to access array offset on value of type null
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
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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 categorien</option>
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 categorien</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?
Gewijzigd op 15/10/2024 11:48:27 door Guus Wiegerinck
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:
Dat levert alleen MMM op:
Doe ik:'
dan geeft dat een error:
Dus $selcrit is blijkbaar leeg.
als dit ...
... is geen valide PHP-code.
Probeer eerst eens dit:
Gewijzigd op 15/10/2024 15:11:44 door Ozzie PHP
Ozzie PHP op 15/10/2024 15:10:35:
...maar het werkt wél. ):
Quote:
Als ik deze code in het script zet en vernieuw het scherm, zie ik er niets van.
Je zult toch echt iets moeten zien.
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.
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.
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.
Wat ik wel gek vind, is dat de achter de homepage een andere index.html zit dan ik aantref in www. Zelfs toen WAMP net geïnstalleerd was en ik localhost opende, gaf die niet de index.php weer die in de www stond, maar MIJN index.html. Huh??? Waar haalt die die vandaan? Geen idee, waar WAMP een homepage opslaat, ergens buiten de directory wamp, die niet verwijderd wordt met de-installatie. En ergens vraag ik me af of hier niet de oorzaak zou kunnen zitten van GEEN VERBINDING.
Toevoeging op 16/10/2024 17:00:20:
Ik kan ook niet meer bij phpMyAdmin. Dezelfde reden.
Als je de melding krijgt dat er geen verbinding is, dan draait Apache blijkbaar niet. Kijk eens bij bij je draaiende processen en services via CTRL+SHIFT+ESC. Is Apache een service (wat superhandig in Windows), check dan de het Windows logboek als het niet start.
Eigenlijk is dit wel een ander topic waard.
Gewijzigd op 16/10/2024 19:32:41 door - Ariën -
Ja, dit is eigenlijk wel een nieuw topic.
Ik stel inderdaad voor om een nieuw topic aan te maken, en deze weer omhoog te halen als je wilt terug komen op het probleem uit je topicstartbericht.
Het probleem met die lege variabele $selcrit heb ik opgelost door al die regels te verwijderen. Ik had dat script jaren geleden geschreven, maar nu snapte ik niet meer goed zo waarom ik het zó geschreven had. Ik kreeg hetzelfde resultaat zonder die regels. Daarmee waren de foutmeldingen verdwenen.
Alle andere scripts van mijn project heb ik intussen aangepast. Het voornaamste was het aanpassen van de inloggegevens. Ik heb daar een apart bestandje inc_connect_db.php van gemaakt dat ik oproep met include. En dat werkt goed. Eventuele wijzigingen hoef ik voortaan nog maar op één plek te doen.