/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Parse error: parse error, unexpected $end
Fra : Henrik Stidsen


Dato : 02-03-03 01:14

Hvad betyder fejlen
Parse error: parse error, unexpected $end...

Linien angives til den allersidste linie i scriptet.

Så vidt jeg kan finde ud af er det en if else konstruktion der fucker
det hele op, jeg kan bare ikke finde ud af hvordan - det håber jeg
jeg kan hvis jeg får en "oversættelse" af ovenstående fejlbesked.

Kører PHP på windows som apache modul.

--
..: Henrik Stidsen - HS235.dk ::...
http://hs235.dk/cracks - http://susie.dk/
http://hs235.dk/billeder :=)

 
 
Niels Andersen (02-03-2003)
Kommentar
Fra : Niels Andersen


Dato : 02-03-03 08:37

Henrik Stidsen wrote in <Xns9332B3706283HS235DK@130.225.247.90>:
> Hvad betyder fejlen
> Parse error: parse error, unexpected $end...
> Linien angives til den allersidste linie i scriptet.

Ja, det er desværre ikke den helt store hjælp. :)

Men det betyder at der et eller andet sted bliver started noget, som ikke
afsluttes igen.

Hvis din editor lægger farver på koden er nogle af den slags fejl nemme at
finde. Fx. fejl i antal quote-tegn (" og ') ses nemt ved at der kommer helt
forkerte farver på efter fejlen.

Hvis din editor selv kan lave indrykning af koden, så er det også nemt at
finde. Efter fejlen vil den automatiske indrykning begynde at opføre sig
forkert. Måske stopper den med indrykning, måske bliver der indrykket for
meget eller for lidt. Læg især mærke til om sidste linje er rykket ind. Fx:

if ($noget) {
if ($nogetandet
echo "Hej.";
}

Læg mærke til at den sidste krølle-parentes ikke er helt ude i venstre side.
Hvis editoren gør sådan, har du sikker glemt en højre-krølleparentes et
sted.

--
Mvh.
Niels Andersen
http://myplace.dk/articles/getpost/?lang=da

Henrik Stidsen (02-03-2003)
Kommentar
Fra : Henrik Stidsen


Dato : 02-03-03 23:25

Niels Andersen <niels-usenet@myplace.dk> wrote in
news:1563465.3J43dX49CS@home.myplace.dk

>> Parse error: parse error, unexpected $end...
>> Linien angives til den allersidste linie i scriptet.
>
> Ja, det er desværre ikke den helt store hjælp. :)

Nej hvis bare den kunne give den korrekte linie hvor fejlen reelt er
- men det kan selvfølgelig være svært når den ikke kender den...

> Men det betyder at der et eller andet sted bliver started noget,
> som ikke afsluttes igen.

Så meget gættede jeg mig også til - men jeg synes scriptet opførte
sig underligt...

Det ser ca. sådan her ud.

$admin_list = explode(",", $admin_users);
if(!in_array($_COOKIE["username"], $admin_list)){
   header("HTTP/1.0 302 Moved Permantly");
   header("Location: http://HTTP/");
   exit;
}

if(!@$_POST["confirm"]){
?>
<html - slettet>
<?php
} else if($_POST["confirm"] == "delete"){
   $user_list = file("$non_public_path/user_data");
   
   foreach($user_list as $user_check){
      if(!ereg("^$_POST[user]::", $user_check)){
         $users_to_keep .= $user_check;
      } else {
         $users_to_keep .= $usercheck;
      }
   }
   // clean new_user_data
   $users_to_keep = trim($users_to_keep);
   
   // Write new user data to file
   $fp = @fopen("$non_public_path/user_data", "w");
   if(@fwrite($fp, $users_to_keep)){echo "Bruger er slettet";}
   else {echo "Brugerdata ikke opdateret - kunne ikke skrive til
filen - $non_public_path/user_data";}
}
?>

Hvis jeg fjerner else if sætningen (og ikke andet) virker det men
selvfølgelig ikke efter hensigten...

Hvis nogen kan spotte en fejl vil jeg blive glad :)

--
..: Henrik Stidsen - HS235.dk ::...
http://hs235.dk/cracks - http://susie.dk/
http://hs235.dk/billeder :=)

Jens Tønnesen (02-03-2003)
Kommentar
Fra : Jens Tønnesen


Dato : 02-03-03 23:37

Henrik Stidsen <idontwantnospam@hs235.dk> skrev i
dk.edb.internet.webdesign.serverside.php:

>if(!@$_POST["confirm"]){

Hvad laver den @ i if-sætningen?

--
Jens Tønnesen - http://www.pressefoto.dk

Niels Andersen (03-03-2003)
Kommentar
Fra : Niels Andersen


Dato : 03-03-03 12:11

Jens Tønnesen wrote in <aq156v0br5h998dksgcpkmuj10lh6im4cv@4ax.com>:
>>if(!@$_POST["confirm"]){
> Hvad laver den @ i if-sætningen?

Den sørger for at der ikke udskrives en notice, hvis variablen ikke
eksisterer. En genvej til:

if(!isset($_POST["confirm"]) || !$_POST["confirm"]){

--
Mvh.
Niels Andersen
http://myplace.dk/articles/getpost/?lang=da

Henrik Stidsen (03-03-2003)
Kommentar
Fra : Henrik Stidsen


Dato : 03-03-03 21:33

Jens Tønnesen <01-2003nospam@pressefoto.dk> wrote in
news:aq156v0br5h998dksgcpkmuj10lh6im4cv@4ax.com

>>if(!@$_POST["confirm"]){
>
> Hvad laver den @ i if-sætningen?

Jeg kører med alle fejl og notices slået til på min lokale maskine -
det er *kun* derfor. (og den forhindrer at der udskrives en notice)

--
..: Henrik Stidsen - HS235.dk ::...
http://hs235.dk/cracks - http://susie.dk/
http://hs235.dk/billeder :=)

Jens Tønnesen (03-03-2003)
Kommentar
Fra : Jens Tønnesen


Dato : 03-03-03 23:26

Henrik Stidsen <idontwantnospam@hs235.dk> skrev i
dk.edb.internet.webdesign.serverside.php:

>Jens Tønnesen <01-2003nospam@pressefoto.dk> wrote in
>news:aq156v0br5h998dksgcpkmuj10lh6im4cv@4ax.com

>>>if(!@$_POST["confirm"]){

>> Hvad laver den @ i if-sætningen?

>Jeg kører med alle fejl og notices slået til på min lokale maskine -
>det er *kun* derfor. (og den forhindrer at der udskrives en notice)

Så er det derfor, jeg aldrig har lagt mærke til det problem. Jeg
troede egentlig kun @ blev brugt i forbindelse med funktioner, men så
blev jeg da så meget klogere.

--
Jens Tønnesen - http://www.pressefoto.dk

Niels Andersen (04-03-2003)
Kommentar
Fra : Niels Andersen


Dato : 04-03-03 00:30

Jens Tønnesen wrote in <mhl76vgrohjkvigvf72eihifmkmval9qob@4ax.com>:
>>>>if(!@$_POST["confirm"]){
>>> Hvad laver den @ i if-sætningen?
>>Jeg kører med alle fejl og notices slået til på min lokale maskine -
> Så er det derfor, jeg aldrig har lagt mærke til det problem.

Det er ikke et problem, det er en feature.

Eksempel:

if ($psasword == 'hemmelig')

Dette virker ikke, da der skulle have stået "password" og ikke "psasword".
Uden noticed sker der intet andet, end at den altid giver "false". Værsgo'
at gå i gang med fejlsøgning.

Med notices får man at vide at variablen $psasword ikke eksisterer. Så
tænker man "jo den gør da så", og så kigger man om den er stavet rigtigt.

(Du mente nok ikke "problem" så slemt, men jeg ville lige sige det
alligevel.)

--
Mvh.
Niels Andersen
http://myplace.dk/articles/getpost/?lang=da

Jens Tønnesen (04-03-2003)
Kommentar
Fra : Jens Tønnesen


Dato : 04-03-03 08:53

Niels Andersen <niels-usenet@myplace.dk> skrev i
dk.edb.internet.webdesign.serverside.php:

[klip]

>(Du mente nok ikke "problem" så slemt, men jeg ville lige sige det
>alligevel.)

Nej, med ordet 'problem' hentydede jeg egentlig til, at jeg aldrig
havde oplevet en ikke-oprettet variabel give en fejlmeddelelse,
antageligvis fordi den feature er slået fra hos mig - det må den være
som default, jeg mindes ikke at have ændret noget i den henseende.

At det kan være en smart feature i fejlsøgningshenseende er jeg ikke i
tvivl om.

--
Jens Tønnesen - http://www.pressefoto.dk

Henrik Stidsen (07-03-2003)
Kommentar
Fra : Henrik Stidsen


Dato : 07-03-03 00:53

Jens Tønnesen <01-2003nospam@pressefoto.dk> wrote in
news:imm86vgoc73rms8b6bjjtqkod7q1cifj53@4ax.com

>>(Du mente nok ikke "problem" så slemt, men jeg ville lige sige
>>det alligevel.)
>
> Nej, med ordet 'problem' hentydede jeg egentlig til, at jeg
> aldrig havde oplevet en ikke-oprettet variabel give en
> fejlmeddelelse, antageligvis fordi den feature er slået fra hos
> mig - det må den være som default, jeg mindes ikke at have
> ændret noget i den henseende.

Den er slået fra pr. default ja - det hedder "notices", det er svjh
kun warning og error der er slået til normalt.

> At det kan være en smart feature i fejlsøgningshenseende er jeg
> ikke i tvivl om.

Det er det - men det er så irriterende at:
if($_POST["action"] == "do something"){
   bla bla
}

giver en "notice" om et "undefined index" hvis den ikke er sat...

--
..: Henrik Stidsen - HS235.dk ::...
http://hs235.dk/cracks - http://susie.dk/
http://hs235.dk/billeder :=)

Niels Andersen (07-03-2003)
Kommentar
Fra : Niels Andersen


Dato : 07-03-03 07:39

Henrik Stidsen wrote in <Xns93378D3FEAEHS235DK@130.225.247.90>:
>> At det kan være en smart feature i fejlsøgningshenseende er jeg
>> ikke i tvivl om.
> Det er det - men det er så irriterende at:
> if($_POST["action"] == "do something"){
> bla bla
> }
> giver en "notice" om et "undefined index" hvis den ikke er sat...

Den er meget nem:

if(@$_POST["action"] == "do something"){

Ét lille tegn, der her betyder noget i stil med "Jeg ved godt at den her
muligvis ikke eksisterer".

Den bruger jeg NÆSTEN altid på $_GET, $_POST og $_COOKIE, da man aldrig kan
sikre sig at klienten sender nogen af disse.

--
Mvh.
Niels Andersen
http://myplace.dk/articles/getpost/?lang=da

Henrik Stidsen (07-03-2003)
Kommentar
Fra : Henrik Stidsen


Dato : 07-03-03 13:39

Niels Andersen <niels-usenet@myplace.dk> wrote in
news:58176247.LLtD9H7SZc@home.myplace.dk

>> Det er det - men det er så irriterende at:
>> if($_POST["action"] == "do something"){
>> bla bla
>> }
>> giver en "notice" om et "undefined index" hvis den ikke er sat...
>
> Den er meget nem:
>
> if(@$_POST["action"] == "do something"){

Jeps, det er jo også lige præcis den jeg bruger - og som der blev
spurgt til effekten af :)

--
..: Henrik Stidsen - HS235.dk ::...
http://hs235.dk/cracks - http://susie.dk/
http://hs235.dk/billeder :=)

Jens Tønnesen (07-03-2003)
Kommentar
Fra : Jens Tønnesen


Dato : 07-03-03 14:50

Henrik Stidsen <idontwantnospam@hs235.dk> skrev i
dk.edb.internet.webdesign.serverside.php:

>Niels Andersen <niels-usenet@myplace.dk> wrote in
>news:58176247.LLtD9H7SZc@home.myplace.dk

>> Den er meget nem:

>> if(@$_POST["action"] == "do something"){

>Jeps, det er jo også lige præcis den jeg bruger - og som der blev
>spurgt til effekten af :)

Jeg har en følelse af, at denne tråd kører i ring: @

--
Jens Tønnesen - http://www.pressefoto.dk

Niels Andersen (03-03-2003)
Kommentar
Fra : Niels Andersen


Dato : 03-03-03 12:10

Henrik Stidsen wrote in <Xns9332EE258934EHS235DK@130.225.247.90>:
> Det ser ca. sådan her ud.
[...]

Den kode giver ingen parse error hos mig. Har du selv prøvet at køre præcis
den kode du viser?

--
Mvh.
Niels Andersen
http://myplace.dk/articles/getpost/?lang=da

Henrik Stidsen (03-03-2003)
Kommentar
Fra : Henrik Stidsen


Dato : 03-03-03 21:35

Niels Andersen <niels-usenet@myplace.dk> wrote in
news:1257546.IG1MkYYTv9@home.myplace.dk

>> Det ser ca. sådan her ud.
> [...]
>
> Den kode giver ingen parse error hos mig. Har du selv prøvet at
> køre præcis den kode du viser?

Har fjernet et par linier HTML der udskrives direkte uden for PHP men
midt i skriptet. (der hvor der står en note om det).

--
..: Henrik Stidsen - HS235.dk ::...
http://hs235.dk/cracks - http://susie.dk/
http://hs235.dk/billeder :=)

Niels Andersen (03-03-2003)
Kommentar
Fra : Niels Andersen


Dato : 03-03-03 22:13

Henrik Stidsen wrote in <Xns9333DB74480B0HS235DK@130.225.247.90>:
>>> Det ser ca. sådan her ud.
>> [...]
>> Den kode giver ingen parse error hos mig. Har du selv prøvet at
>> køre præcis den kode du viser?
> Har fjernet et par linier HTML der udskrives direkte uden for PHP men
> midt i skriptet. (der hvor der står en note om det).

Altså den samme kode giver paser error på én maskine, men ikke på en anden?

Det ser jeg som meget usandsynligt. Er du heeelt sikker på at problemet ikke
ligger i det, du ikke viser?

--
Mvh.
Niels Andersen
http://myplace.dk/articles/getpost/?lang=da

Henrik Stidsen (07-03-2003)
Kommentar
Fra : Henrik Stidsen


Dato : 07-03-03 00:56

Niels Andersen <niels-usenet@myplace.dk> wrote in
news:1321246.pg63InT4H0@home.myplace.dk

>> Har fjernet et par linier HTML der udskrives direkte uden for
>> PHP men midt i skriptet. (der hvor der står en note om det).
>
> Altså den samme kode giver paser error på én maskine, men ikke
> på en anden?

Åbenbart...

> Det ser jeg som meget usandsynligt. Er du heeelt sikker på at
> problemet ikke ligger i det, du ikke viser?

Der er ikke andet...
Filen inkluderes i en anden PHP side der virker med alle andre
includes...

--
..: Henrik Stidsen - HS235.dk ::...
http://hs235.dk/cracks - http://susie.dk/
http://hs235.dk/billeder :=)

Søg
Reklame
Statistik
Spørgsmål : 177519
Tips : 31968
Nyheder : 719565
Indlæg : 6408657
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste