Avatar billede ®azzer® Nybegynder
30. november 2000 - 18:02 Der er 22 kommentarer og
2 løsninger

Hjælp til script der egentlig virker

Jeg har dette script som umiddelbart virker men når siden med scriptet loades så kommer med denne fejl meddelse

Warning: Undefined variable: stem in e:\\apache\\htdocs\\reloaded\\index.php on line 2

Warning: Undefined variable: status in e:\\apache\\htdocs\\reloaded\\index.php on line 16

Den del af scriptet der genererer fejlen er her. Det er et afstemningsscript og det ser umiddelbart ud til at virke. Jeg kører PHP4 på serveren og jeg tror det er problemet da de virkede fint i php3

<?php
    if($stem){  setcookie(\"statusw\",\"stemt16\",time()+86400);
    $counterfile = \"$stem.txt\";
    if(file_exists($counterfile))    {    $fil = fopen($counterfile,  \"r\");
    $count = fread($fil, 8);
    fclose($fil);
    }  else    $count=0;
    $count++;
    $fil = fopen($counterfile,  \"w\");
    fwrite($fil, $count);
    fclose($fil);
    header(\"Location: index.php\");}
?>
<?php
    $hoejre = \"hoejre.php\";
    if($status == \"stemt16\"){    setcookie(\"status\",\"stemt16\",time()+86400);
    $hoejre = \"hoejrestemt.php\";}
?>

Nogen der kan hjælpe ?

Mvh Rasmus
Avatar billede blood Nybegynder
30. november 2000 - 18:07 #1
Du skal altid huske at når man kører en \"setcookie\"
skal det ALTID køres før alt andet på siden loades
dvs. det skal sættes øverst i filen
før <HTML> og <HEAD>
Avatar billede mystart Nybegynder
30. november 2000 - 18:10 #2
Hvis fejlen ikke var der da du kørte PHP3, kunne du evt. prøve at rename dit doku til index.php3...
Avatar billede ®azzer® Nybegynder
30. november 2000 - 19:36 #3
Blood > Jeps det er jeg klar over.

Mystart > Jeg kører med PHP4 på serveren og man kan så vist jeg ved ikke køre både php3 og 4 ? Det hjælper ihvertfald ikke en meter på koden at ændre den til .php3 ! Hvis jeg skulle ændre noget så var det at installere PHP3 på serveren istedet, men det er jeg ikke interesseret i.
Avatar billede mortenfn Nybegynder
30. november 2000 - 20:27 #4
Scriptet ser regtigt ud - der ser ud til at det er de linger hvor du sætter et filnavn = en variabel det er nok .(dot) den er gal med
Avatar billede mortenfn Nybegynder
30. november 2000 - 20:31 #5
når jeg kører scriptet er der ingen fejl
Avatar billede ®azzer® Nybegynder
01. december 2000 - 01:27 #6
Morten > kører din server med php4 ? For jeg sagde jo at det virkede i PHP3

Men kan det være fordi det ikke er kompatiblet med PHP4.. altså scriptet?
Avatar billede defrost Nybegynder
01. december 2000 - 09:06 #7
Det er din warning-level, der er sat meget højt. Jeg må dog indrømme, at jeg ikke på stående fod kan huske, hvilken variable, der indstiller det. Men prøv at kigge i php.ini
Avatar billede mortenfn Nybegynder
01. december 2000 - 15:27 #8
min kører php4 som modul
Avatar billede defrost Nybegynder
01. december 2000 - 15:40 #9
Hvad står din error_reporting til i din php.ini?
Avatar billede mortenfn Nybegynder
01. december 2000 - 16:32 #10
error_reporting    = E_ALL & ~E_NOTICE

php.ini bruges ikke når php kører som modul under apache i win98
Avatar billede ®azzer® Nybegynder
01. december 2000 - 17:39 #11
Mortenfn >

Hvis det virker på din server med PHP4 som modul, så må det vel også kunne lade sif gøre hos mig? Har du en ide om hvor jeg skal ind og ændre noget ?
Avatar billede mortenfn Nybegynder
01. december 2000 - 19:06 #12
du mangler et w for meget i første setcookie
Avatar billede mortenfn Nybegynder
01. december 2000 - 19:08 #13
eller har du to forskellige kager?
Avatar billede ®azzer® Nybegynder
04. december 2000 - 14:41 #14
Mortenfn :

Den skulle gerne kun lave en kage...

W for meget ?
Avatar billede blazer Nybegynder
04. december 2000 - 14:58 #15
<?php
    if($stem){  setcookie(\"status\",\"stemt16\",time()+86400);
    $counterfile = \"$stem.txt\";
    if(file_exists($counterfile))    {    $fil = fopen($counterfile,  \"r\");
    $count = fread($fil, 8);
    fclose($fil);
    }  else    $count=0;
    $count++;
    $fil = fopen($counterfile,  \"w\");
    fwrite($fil, $count);
    fclose($fil);
    header(\"Location: index.php\");}
?>
<?php
    $hoejre = \"hoejre.php\";
    if($status == \"stemt16\"){    setcookie(\"status\",\"stemt16\",time()+86400);
    $hoejre = \"hoejrestemt.php\";}
?>
Avatar billede ®azzer® Nybegynder
04. december 2000 - 15:16 #16
Jeg får stadig fejlmedelelse...

i linie 2 og 16
Avatar billede ®azzer® Nybegynder
04. december 2000 - 15:22 #17
Cannot add header information - headers already sent by

Hvorfor får jeg den nu ? Og hvad betyder det ?
Avatar billede ®azzer® Nybegynder
04. december 2000 - 15:23 #18
Der kom lige lidt flere point på!
Avatar billede mortenfn Nybegynder
04. december 2000 - 19:10 #19
fejlen opstår når du setter kagen efter du har skrevet noget til siden, setcookie skal være første udskrigt til seden også før <html>
Avatar billede ®azzer® Nybegynder
04. december 2000 - 23:27 #20
Cannot add header information - headers already sent by

Den kommer pga den anden fejl den anden fejl, da fejl bliver sendt til siden før alt andet. Så det betyder ikke noget.

Men det var rigtigt at w skulle fjernes fra status. Men den kommer stadig med den samme fejl som oppe i starten. Er det muligt at det er en serveropsætning?
Avatar billede ®azzer® Nybegynder
05. december 2000 - 00:06 #21
Okay.. jeg har fundet ud af at det er et opsætningsproblem.
Avatar billede ®azzer® Nybegynder
05. december 2000 - 00:15 #22
Så hvis der er nogen der ved hvad det er jeg skal in og ændre på serveren så ville det da være dejligt :o)
Avatar billede ®azzer® Nybegynder
06. december 2000 - 02:55 #23
Hm.. lidt point for at hjælpe trods alt
Avatar billede ®azzer® Nybegynder
06. december 2000 - 02:55 #24
selvom det ikke hjalp :(
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