login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Array wordt niet goed aangemaakt

Offline HellsChicken - 04/10/2006 16:06
Avatar van HellsChickenNieuw lid Ik maak een array aan met het volgende: http://www.plaatscode.be/2792/

Maar de array wordt niet goed aangemaakt. Dit is de output.

  1. AAAAay(
  2. "0" => array("naam" => "Menukop",
  3. "link" => ""),
  4. "1" => array("naam" => "menu link 1",
  5. "link" => "menu1"),
  6. "2" => array("naam" => "menu link 2",
  7. "link" => "menu2")
  8. )


De array wordt dus helemaal niet goed opgeslagen. Met een ander stuk code werkt dit wel goed.
http://www.plaatscode.be/2793/

Zoals je kan zien is de code bijna hetzelfde. Alleen zijn de variabele namen een beetje veranderd. Weet iemand wat het probleem kan zijn? Code heb ik al 4 keer herschreven en ik kan er echt niet uitkomen.

7 antwoorden

Gesponsorde links
Offline Thomas - 04/10/2006 16:23
Avatar van Thomas Moderator Waarom heb je er statements als
$_POST['loc_naam'][$i] = $_POST['loc_naam'][$i];
in zitten?

Die doen niet zoveel.
Offline HellsChicken - 04/10/2006 16:26 (laatste wijziging 04/10/2006 16:26)
Avatar van HellsChicken Nieuw lid Die heb ik er alvast instaan om de beveiliging in te zetten. Maar dat doe ik zodra de array goed wordt aangemaakt.

//edit: en het doet wel wat! geheugen innemen 
Offline Thomas - 04/10/2006 16:52
Avatar van Thomas Moderator Ik kan niet zien hoe je deze informatie invoert (formulier), en ik kan niet zien hoe je aan het eindresultaat komt (AAAAay(...)).

Het ziet er naar uit dat er het e.e.a. intern overschreven wordt doordat er iets in het geheugen mis gaat met array-pointers - althans, zoiets zou ik verwachten.

Om je probleem op te lossen heb ik op zijn minst de twee bovengenoemde zaken nodig, om zo het gedrag wat jij ondervindt te kunnen reproduceren.

Het is onredelijk om te verwachten dat als jij een stukje van de puzzel aanlevert, dat wij de hele puzzel oplossen.
Offline HellsChicken - 04/10/2006 17:14
Avatar van HellsChicken Nieuw lid http://www.plaatscode.be/2797/ Hier is de gehele code.

De array pointers worden nergens overschreden. Dat had ik ook verwacht. Het formulier heeft er niks mee te maken, de array wordt ergens verkeerd opgeslagen.

Tevens lees ik hier altijd dat je "Niet de gehele code, maar de relevante code" moet posten. Dus dat deed ik ook.

Ik maak zo de website voor je klaar. Even een paar dingen beveiligen voordat ik het openbaar gooi
Offline xSc - 04/10/2006 17:18
Avatar van xSc Onbekend "0" => array("naam" => "Menukop",
"link" => ""),
"1" => array("naam" => "menu link 1",
"link" => "menu1"),
"2" => array("naam" => "menu link 2",
"link" => "menu2")

Haal de nummerieke keys even buiten de quotes.
Offline HellsChicken - 04/10/2006 17:22 (laatste wijziging 04/10/2006 17:39)
Avatar van HellsChicken Nieuw lid Quotes om nummerieke keys maken niks uit. Zoals je kan zien voegt $array[] ook quotes toe.. (hebt het net wel uitgetest en het werkt niet)

http://dev-zone...atoevoegen

Hier staat de pagina. Zoals je kan zien is er niks aan de hand met de locatie berekening, maar wel met de menu berekening

//edit: misschien ook handig om erbij te vermelden.. een PHP expert uit m'n klas denkt dat het een bug is in PHP.. Dus indien er hier niemand uit kan komen, plaats ik een bug report op php.net
Offline Gerard - 04/10/2006 19:19
Avatar van Gerard Ouwe rakker Opgelost via IRC.

Het probleem zat er dus in dat hij, wanneer er niet op $_POST['bereken_menu'] was gedrukt, hij die $pst_menu aanmaakte maar er een array instopte in string vorm.

Als hij dan enkele regels later een nieuw element wilde toevoegen aan die variabele lukte dat niet, juist omdat het dus als string geïnitialiseert was en niet als array.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.168s