Avatar billede anderseiler Nybegynder
02. februar 2005 - 15:17 Der er 6 kommentarer og
2 løsninger

Total mærkelig fejl i sidst line!

Parse error: parse error, unexpected $ in /usr/home/gameplan/public_html/anders/info.php on line 55

Den fejl møder jeg, hver gang jeg prøver og se siden. Line 55 er den sidste i mit script, som lyder:

<?php
$inavn.php == include( "navn.php" );
$idomain.php == include( "domain.php" );
?>
<html>
<head>
<title>Unknown titel</title>
</head>
<body>

<?php

//skirer navn.php kun bliver inkluderet en gang
function vertify_navn($vertify_navn) {
    if ($inavn) {
        return true;
    } else {
        return false; } }

//sikrer domain.php kun bliver inkluderet en gang
function vertify_domain($vertify_domain) {
    if ($idomain) {
        return true;
    } else {
        return false; }

//sikrer domain.php ikke bliver inkluderet hvis navn.php gør
function only_navn($only_navn) {
    if ($inavn) {
        return true;
    } else {
        return false; }

//navn
if (empty($navn))
        { if ($vertify_navn == false) { echo $inavn; }
    }else{
        if ($vertify_domain == false) { if ($only_navn == false) { echo $idomain; } }; };

//virksomhed navn
if (empty($vnavn))
        { if ($vertify_navn == false) { echo $inavn; }
    }else{ 
        if ($vertify_domain == false) { if ($only_navn == false) { echo $idomain; } }; };

//adresse
if (empty($adresse))
        { if ($vertify_navn == false) { echo $inavn; }
    }else{ 
        if ($vertify_domain == false) { if ($only_navn == false) { echo $idomain; } }; };

?>

</body>
</html>

Hurtig gennemgang af hvad scriptet gør:
I navn.php skriver man sit navn, vnavn (virksomhed navn) og adresse. Overstående checker så om de er udfyldt, hvis de alle er udfyldt skal man gå videre til domain.php. Hvis der er en/flere som ikke er udfyldt skal navn.php så vises igen.

Er der ikke en eller anden som ved hvorfor der kommer sådan en virkelig mærkelig og irreterende fejl? Jeg kan så sige, at navn.php og domain.php begge virker perfekt!
Avatar billede jakobdo Ekspert
02. februar 2005 - 15:23 #1
Prøv denne kode:

<?php
$inavn.php == include( "navn.php" );
$idomain.php == include( "domain.php" );
?>
<html>
<head>
<title>Unknown titel</title>
</head>
<body>

<?php

//skirer navn.php kun bliver inkluderet en gang
function vertify_navn($vertify_navn)
{
    if ($inavn)
    {
        return true;
    }
    else
    {
    return false;
    }
}

//sikrer domain.php kun bliver inkluderet en gang
function vertify_domain($vertify_domain)
{
    if ($idomain)
    {
        return true;
    }
    else
    {
        return false;
    }
}

//sikrer domain.php ikke bliver inkluderet hvis navn.php gør
function only_navn($only_navn)
{
    if ($inavn)
    {
        return true;
    }
    else
    {
        return false;
    }
}

//navn
if (empty($navn))
{
    if ($vertify_navn == false)
    {
        echo $inavn;
    }
}
else
{
    if ($vertify_domain == false)
    {
        if ($only_navn == false)
        {
            echo $idomain;
        }
    }
}

//virksomhed navn
if (empty($vnavn))
{
    if ($vertify_navn == false)
    {
        echo $inavn;
    }
}
else
{
    if ($vertify_domain == false)
    {
        if ($only_navn == false)
        {
            echo $idomain;
        }
    }
}

//adresse
if (empty($adresse))
{
    if ($vertify_navn == false)
    {
        echo $inavn;
    }
}
else
{
    if ($vertify_domain == false)
    {
        if ($only_navn == false)
        {
            echo $idomain;
        }
    }
}

?>

</body>
</html>
Avatar billede flim Nybegynder
02. februar 2005 - 15:23 #2
Check dine { og }..

Den fejl kommer 99% af gangene når man har glemt sådan en. Prøv at sætte en } tilsidst, og se om det ikke hjælper :-)
Avatar billede jakoba Nybegynder
02. februar 2005 - 15:24 #3
det betyder sandsynligvis at du har glemt en afsluttende tuborg et sted. Jeg vil ikke gætte på hvor den mangler da jeg ikke gider omskrive din vane med at sætte } bagerst på linierne istedet for nedenunder den linie med { som den hører sammen med,
Avatar billede anderseiler Nybegynder
02. februar 2005 - 15:28 #4
Det var det med de tuborg. Til jakoba, så manglede der 2, en i hver af de 2 nederste funktioner :)

Men tak til jer alle tre. I havde alle ret :)
Avatar billede jakobdo Ekspert
02. februar 2005 - 15:30 #5
Du havde også nogle: ; ; ; for meget hist og pist!
Avatar billede flim Nybegynder
02. februar 2005 - 15:32 #6
Smider lige et svar hvis nu....
Avatar billede anderseiler Nybegynder
02. februar 2005 - 15:37 #7
Hm troede man skulle afslutte en if sætning med ; .. Synes jeg at have læst.. Skidt.. :) Flim du får de 30, du var den første med et svar, i stedet for en kommentar.. Men igen.. Tak til alle!!
Avatar billede jakoba Nybegynder
02. februar 2005 - 23:28 #8
det skader ikke at skrive en ; også efter en }, men i php og C/C++ er det aldrig nødvendigt, I nogle ældre sprog (Algol og Pascal) skal der ALTID ; efter en afsluttet sætning, også de komplekse (if, while, case/switch, ...) dog bør der aldrig (i nogen af sprogene) stå et ; foran ordet 'else'

mvh JakobA
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