Avatar billede inshadow Nybegynder
15. august 2001 - 18:54 Der er 20 kommentarer og
3 løsninger

Knæk lige den her nød!!

Davs,

Jeg har haft en hel del problemer med noget jeg har prøvet at strikke
sammen. Dette er taget ud af en større sammenhæng, så tænk ikke for meget over hvad det skal bruges til :O)
Men problemet er mere er at jeg slet ikke kan få dette script til at virke som jeg havde håbet. Hvis man kører dette script som det står nu, får man beskedden \"The page cannot be displayed\", og jeg aner ikke hvorfor. Men jeg har nok overset et eller andet.
Nede i koden kan du prøve at skifte linien echo $newarray[0] . \"-newarray<br>\"; med den linie der står umiddelbart ovenover. Så sker der noget nyt.
Knæk nød - tak! :O)

/Stig


<?
$side = 1;

function grabkeys ($felt, $key, $side) {
global $newarray;
$stopkey = array (\"A\",\"Z\");//De key-navne som den ikke skal gemme.
If (!in_array($key , $stopkey)) {
  if ($felt == $side) { $newarray[] = $key;};
};
};

function showkeys ($felt, $key) {
global $newarray;
//echo count($newarray) . \"-count newarray<br>\";
//echo \"<pre>\" . $newarray[0] . \"</pre>-newarray<br>\";
echo $newarray[0] . \"-newarray<br>\";
};

$row = array (\"A\"=>\"1\",\"B\"=>\"1\",\"C\"=>\"1\",\"D\"=>\"1\",\"E\"=>\"1\",\"F\"=>\"1\",\"Z\"=>\"1\");
array_walk ($row, \'grabkeys\', $side);
array_walk ($row, \'showkeys\');
?>
Avatar billede lauer Nybegynder
15. august 2001 - 18:58 #1
øhh.. filen kan ikke vises... det har ikke noget med dit script at gøre.
Du har måske ikke adgang til at køre PHP, eller måske går du ind på en forkert adresse...
det kan også være at du har kaldt din fil noget som den ikke må hedde, f.eks med ÆØÅ
Avatar billede inshadow Nybegynder
15. august 2001 - 19:04 #2
Prøv selv at sætte denne kode ind i en fil og kør den, og se hvad der sker.
Selvfølgelig har jeg PHP adgang, jeg er ved at opbygge et system i PHP, som dette er en del af.
Hvis jeg REM\'er echo $newarray[0] ....
og bruger linien ovenover kører scriptet fint.
Der er ikke noget med ÆØÅ.
Avatar billede myplacedk Nybegynder
15. august 2001 - 19:19 #3
Er jeg den eneste der synes man bør gøre opmærksom på det, hvis man søger om hjælp flere steder?
news:dk.edb.internet.webdesign.serverside.php
Avatar billede myplacedk Nybegynder
15. august 2001 - 19:19 #4
Nå, det blev så IKKE til et link. :)
Men det kunne det have været...
Halvdelen af dette bliver nok til et mailto-link:
news:3b7a8aa8$0$97101$edfadb0f@dspool01.news.tele.dk
Avatar billede myplacedk Nybegynder
15. august 2001 - 19:20 #5
Nej, halvdelen var åbenbart for meget... *gg*
Avatar billede inshadow Nybegynder
15. august 2001 - 19:20 #6
myplacedk>
Det kan da godt fremover, hvis folk synes det.
Jeg har også søgt efter hjælp i php.general.
Men hvorfor?
Avatar billede myplacedk Nybegynder
15. august 2001 - 19:42 #7
Fordi det er træls at bruge en masse energi på at finde en løsning, og så bagefter finde ud af at der allerede arbejdes på det et andet sted.
I dette tilfælle nåede jeg heldigvis kun at bruge energi på at forstå problemet, før jeg fandt ud af at jeg jo allerede havde svaret.
Avatar billede myplacedk Nybegynder
15. august 2001 - 19:43 #8
Jeg synes det er lidt ligesom at låne penge til det samme to steder. Det er lidt at misbruge folks villighed til at hjælpe.
Avatar billede inshadow Nybegynder
15. august 2001 - 19:53 #9
Ok. Det er forståeligt nok.
Skal nok skrive hvis jeg poster spørgsmål andre steder for anden gangs skyld.
Avatar billede myplacedk Nybegynder
15. august 2001 - 19:54 #10
Tak. :)
Avatar billede inshadow Nybegynder
15. august 2001 - 19:59 #11
Du har vel ikke en idé til en løsning på problemet?
Eller en forklaring på problemet?
Avatar billede myplacedk Nybegynder
15. august 2001 - 20:07 #12
Jeg har indtryk af at \"de hårde drenge\" foretrækker usenet, så lad os bare fortsætte diskussionen der. :)
Avatar billede inshadow Nybegynder
15. august 2001 - 20:09 #13
We do that :O)
Avatar billede jakoba Nybegynder
15. august 2001 - 20:57 #14
Hvor bliver  $newarray  erklæret til at være en array-variabel?
Avatar billede inshadow Nybegynder
15. august 2001 - 21:20 #15
Well, Jeg skriver:
if ($felt == $side) { $newarray[] = $key;};
Burde det ikke være nok? Altså hvis jeg er sikker på at udsagnet bliver sandt?
Avatar billede jakoba Nybegynder
15. august 2001 - 21:51 #16
Joe, forudsat altså
  global $newarray; 
kan erklære den det ene sted og genfinde den det andet.

din sekvens bliver:
  global $newarray;          // opretter den i globals uden initiering
                          // handle key \"A\" dvs ingen brug af $newarray
  global $newarray;          //genfind unitieret variabel (kan man det?)
  $newarray[] = \"B\"          // første initiering af variablen

Jeg ved alt for lidt om php til at være sikker, men det føles forkert at $newarray sådan kan ligge i \'Limbo\' imellem de to første kald af grabkeys()

har du evet prøvet at ombytte det 2 første i $row
$row = array (\"B\"=>\"1\",\"A\"=>\"1\",\"C\"=>\"1\",\"D\"=>\"1\",\"E\"=>\"1\",\"F\"=>\"1\",\"Z\"=>\"1\");

mvh JakobA
Avatar billede myplacedk Nybegynder
15. august 2001 - 22:18 #17
Hvis det er det, kan man jo bare indsætte dette nogenlunde i starten af scriptet:
$newarray = array();

For eksempel lige efter:
$side = 1;
Avatar billede limemedia Nybegynder
16. august 2001 - 04:30 #18
Jeg sad og legede lidt med dit script, men som du selv siger det - jeg aner ikke hvad du prøver på at lave med det eksempel...

Jeg ryddede lidt op så det er læseligt. Og }; er unødvendigt, skriv kun }... God kutume er også <?php fremfor <? - det betyder noget når du skal til at lege med XML.

<?php
    $side = 1;

    function grabkeys ($felt, $key, $side) {
        global $newarray;
        $stopkey = array (\"A\",\"Z\");//De key-navne som den ikke skal gemme.
        If (!in_array($key , $stopkey)) {
              if ($felt == $side) {
                $newarray[] = $key;
            }
        }
    }

    function showkeys ($felt, $key) {
        global $newarray;
        echo $newarray[0] . \"-newarray<br>\";
    }

    $row = array (\"A\"=>\"1\",\"B\"=>\"1\",\"C\"=>\"1\",\"D\"=>\"1\",\"E\"=>\"1\",\"F\"=>\"1\",\"Z\"=>\"1\");
    reset($row);
    array_walk ($row, \'grabkeys\', $side);
    reset($row);
    array_walk ($row, \'showkeys\');
?>

Når du anvender PHP4 skal du huske at resette dit $row array. Jeg får fin udprint ad det med A-newarray skrevet på skærmen.

Kan du ikke lige sige hvad det egentlig er du vil frem til ?
Avatar billede myplacedk Nybegynder
16. august 2001 - 07:30 #19
Troels Arvin har anerkendt det som en bug.
Han har lavet et simplere script, som giver samme fejl.
Fejlen bliver rapporteret i PHP\'s bugtracker.

Læs evt. her: <news:9leucr$jva$1@sunsite.dk>
Avatar billede inshadow Nybegynder
17. august 2001 - 12:39 #20
Dem der mener at de er berettiget til nogle point, må lige lægge et svar ind.

/Stig
Avatar billede limemedia Nybegynder
17. august 2001 - 12:40 #21
svar
Avatar billede myplacedk Nybegynder
17. august 2001 - 13:09 #22
.
Avatar billede inshadow Nybegynder
17. august 2001 - 14:10 #23
Tak for hjælpen - især til myplacedk.

/Stig
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester