Avatar billede connor Nybegynder
21. juli 2001 - 19:56 Der er 18 kommentarer og
4 løsninger

Hvad betyder: Parse error: parse error in c:\\beta\\gbog\\gbog.php on line 105

Hvad betyder: Parse error: parse error in c:\\beta\\gbog\\gbog.php on line 105

linje 105:
<td align=\\\"center\\\" width=\\\"34%\\\"><A href=\"<?=$PHP_SELF;?>?side=beta/gbog/skriv\">Skriv</A></td>
Avatar billede blood Nybegynder
21. juli 2001 - 19:59 #1
<td align=\\\"center\\\" width=\\\"34%\\\"><A href=\"$PHP_SELF?side=beta/gbog/skriv\\\">Skriv</A></td>
Avatar billede blood Nybegynder
21. juli 2001 - 19:59 #2
ups
<td align=\\\"center\\\" width=\\\"34%\\\"><A href=\\\"$PHP_SELF?side=beta/gbog/skriv\\\">Skriv</A></td>
Avatar billede nucklear Nybegynder
21. juli 2001 - 19:59 #3
Hmm en parse error kan betyde meget... Umidbart kan jeg ikke se nogen fejl i den linie...
Avatar billede nucklear Nybegynder
21. juli 2001 - 20:00 #4
blood > Ohh ... Tror jeg sover *G*
Avatar billede -mascot- Nybegynder
21. juli 2001 - 20:01 #5
bruger du echo på den linje ? hvis du gør skal den se sådan her ud:
echo \"<td align=\\\"center\\\" width=\\\"34%\\\"><A href=\\\"$PHP_SELF?side=beta/gbog/skriv\\\">Skriv</A></td>\";

hvis ikke du gør skal det se sådan her ud:
<td align=\"center\" width=\"34%\"><A href=\"<?=$PHP_SELF;?>?side=beta/gbog/skriv\">Skriv</A></td>
Avatar billede blood Nybegynder
21. juli 2001 - 20:02 #6
*g*
Avatar billede thundercall Nybegynder
21. juli 2001 - 20:30 #7
\"><A href=\"<?=$PHP_SELF;?>?side=beta/gbog/skriv\">Skriv</A></

,...kan i ikke se det??

<?=$PHP_SELF;?>
=
Avatar billede blood Nybegynder
21. juli 2001 - 20:38 #8
thundercall >> kan du ikke se at det er det jeg har fjernet!
Avatar billede thundercall Nybegynder
21. juli 2001 - 20:49 #9
Mmhh,.. jo og vil du høre noget sjovt?

med =
<A href=\"/phpx/test/parse.php?side=beta/gbog/skriv\">Skriv</A>
--- altså virker en <?= som echo...
------------
det viste jeg f***** ikke,...
Avatar billede barefoot Nybegynder
21. juli 2001 - 23:45 #10
connor => hvis du kun vil vide hvad det betyder, så er det fordi at du har en syntaksfejl.

Når php parseren skal udføre koden tjekker den første om der er nogle tegn som optræder et upassende antal gange.
F.eks. hvis du skriver (() i stedet for (())
Eller: echo \'hej\'
hvor der mangler et ; i enden.

Lige i dit tilfælde ser det ud til at du starter med at udskrive linien et par linier højre oppe.
Derfor ville det være rart med lidt mere kode.
Avatar billede connor Nybegynder
22. juli 2001 - 16:23 #11
Det som jeg prøver at lave er en gæstebog. Når den bliver loadet kan man se hele indholdet, samt et link til at kunne skrive en ny besked...

Hvis jeg undlader linket til den nye besked, så vises indholdet korrekt.

Dette link: <A href=\"<?=$PHP_SELF;?>?side=gbog/skriv\">Skriv</A>

Denne form for link har jeg brugt flere steder på min hjemmeside uden problemer.

Jeg ved ikke hvorfor det ikke virker i gæstebogen
Jeg kan godt poste hele gæstebogen hvis det kan hjælpe...
Avatar billede barefoot Nybegynder
22. juli 2001 - 16:51 #12
Virker det:?
<A href=\"<?=$PHP_SELF?>?side=gbog/skriv\">Skriv</A>


Hvis ikke så prøv at sende de 5 linier der står over ov under hvis du ikke vil sende hele koden...
Avatar billede connor Nybegynder
22. juli 2001 - 16:56 #13
nej

Her er lidt af koden, og jeg kan godt vise det hele hvis det bliver nødvendigt... det fylder bare meget.

#
# Her sætter vi det hele sammen i en tabel vi kan bruge til at sætte ind på siden.
#

$nav = \"<table width=\\\"$tabel_bredde\\\" border=\\\"0\\\" cellpadding=\\\"5\\\" cellspacing=\\\"0\\\">
    <tr><td align=\\\"left\\\" width=\\\"33%\\\">$forrige_nav</td>
    <td align=\\\"center\\\" width=\\\"34%\\\"><td align=\\\"center\\\" width=\\\"34%\\\">
   
    <A href=\"<?=$PHP_SELF?>?side=gbog/skriv\">Skriv</A>

   
    </td></td>
    <td align=\\\"right\\\" align=\\\"33%\\\">$naeste_nav</td></tr>
    </table>\";

#
# Og skriver tabellen ud med det samme:
#

echo \"$nav <p />\";

#
Avatar billede barefoot Nybegynder
22. juli 2001 - 17:26 #14
<?php
#
# Her sætter vi det hele sammen i en tabel vi kan bruge til at sætte ind på siden.
#

$nav = \"<table width=\\\"$tabel_bredde\\\" border=\\\"0\\\" cellpadding=\\\"5\\\" cellspacing=\\\"0\\\">
    <tr><td align=\\\"left\\\" width=\\\"33%\\\">$forrige_nav</td>
    <td align=\\\"center\\\" width=\\\"34%\\\"><td align=\\\"center\\\" width=\\\"34%\\\">
   
    <A href=\"$PHP_SELF?side=gbog/skriv\">Skriv</A>

   
    </td></td>
    <td align=\\\"right\\\" align=\\\"33%\\\">$naeste_nav</td></tr>
    </table>\";

#
# Og skriver tabellen ud med det samme:
#

echo \"$nav <p />\";

#
Avatar billede connor Nybegynder
22. juli 2001 - 17:34 #15
det virker stadig ikke : Parse error: parse error in c:\\gbog\\gbog.php on line 107

Nu poster jeg alså hele siden:

<?php

#####################################################################
#                                                                  #
#  Dette er en simpel gæstebog, stillet til rådighed af webcafe.dk  #
#        Skidtet er klampret sammen af claus@webclaus.com          #
#                                                                  #
#  Gennemgang af kode samt installationsvejledning finder du på:    #
#                                                                  #
#        http://webcafe.dk/php/artikler/205/phpa205.php3            #
#                                                                  #
#####################################################################

require(\"gbog/gbog-ting/mysql-funktioner.php\");
require(\"gbog/gbog-ting/design-funktioner.php\");
require(\"gbog/gbog-ting/indstillinger.php\");

#
# Når folk kigger på gBogen første gang har de ikke noget $start_nr, så vi giver dem et nul,
# så de starter med det nyeste indlæg.
# Hvis en skuummel gæst selv prøver at sætte $start_nr kan den ende med at blive under nul,
# når man bruger navigationen. Hvis den er under nul laver vi den også om til nul, så
# mysql ikke begynder at brokke sig over ugyldigt input
#

if(!$start_nr || $start_nr < 0) {
    $start_nr = 0;
}

#
# Udskriver den første stump HTML
#

echo top(\"G&aelig;stebog\");

#
# Vi henter to ting ud af MySQL - først og fremmest alle de indlæg vi skal kigge på
# men også en hurtig optælling af, hvor mange indlæg der er ialt. Det sidste skal vi
# bruge når vi bygger \"frem\"- og \"tilbage\"-links.
#
# Der er ingen grund til at åbne databasen endnu - vi skal først lige have bygget
# de to forespørgsler.
#

$sql = \"select id, navn, epost, date_format(tid, \'%e/%c %Y, %H:%i\') as tiden, besked from gaestebog order by tid desc limit $start_nr, $antal_ad_gangen\";
$taeller_sql = \"select count(*) as antal from gaestebog\";

#
# Nu åbner vi databasen, hiver informationerne ud og lukker med det samme igen.
# Det er god skik at en forbindelse til database ikke er åben længere end højst nødvendigt.
#
# Abstraktionerne fra mysql-funktioner.php sørger for alt det grove arbejde og fejlhåndtering - dejligt.
#

aabn_forbindelse_og_vaelgdb();
$resultat = sql_spoerg_og_faa_svar($sql);
$optaelling = sql_spoerg_og_faa_svar($taeller_sql);
luk_forbindelse();

#
# Så går vi igang med at bygge navigationen
# Først bruger vi extract til at få $antal ud til behandling.
# Vi looper ikke igennem resultatet, da vi ved der kun er een række,
# så vi tilgår den direkte ved $optaelling[0].
#

extract($optaelling[0]);

#
# Skal der laves et links til flere indlæg?
#

if($antal > ($start_nr + $antal_ad_gangen)) {
   
    $naeste_start_nr = $start_nr + $antal_ad_gangen;
    $naeste_nav = \"<a href=\\\"$PHP_SELF?start_nr=$naeste_start_nr\\\">N&aelig;ste</a>\";

} else {

    $naeste_nav = \"<span class=\\\"doedt-link\\\">N&aelig;ste</span>\";

}

#
# Skal der laves link til forrige indlæg?
#

if($start_nr > 0 && ($start_nr - $antal_ad_gangen) < $antal) {

    $forrige_start_nr = $start_nr - $antal_ad_gangen;
    $forrige_nav = \"<a href=\\\"$PHP_SELF?start_nr=$forrige_start_nr\\\">Forrige</a>\";

} else {

    $forrige_nav = \"<span class=\\\"doedt-link\\\">Forrige</span>\";

}

#
# Her sætter vi det hele sammen i en tabel vi kan bruge til at sætte ind på siden.
#

$nav = \"<table width=\\\"$tabel_bredde\\\" border=\\\"0\\\" cellpadding=\\\"5\\\" cellspacing=\\\"0\\\">
    <tr><td align=\\\"left\\\" width=\\\"33%\\\">$forrige_nav</td>
    <td align=\\\"center\\\" width=\\\"34%\\\"><td align=\\\"center\\\" width=\\\"34%\\\">
   
    <A href=\"$PHP_SELF?side=gbog/skriv\">Skriv</A>

   
    </td></td>
    <td align=\\\"right\\\" align=\\\"33%\\\">$naeste_nav</td></tr>
    </table>\";

#
# Og skriver tabellen ud med det samme:
#

echo \"$nav <p />\";

#
# Her begynder det egentlig interesante - vi looper os igennem de enkelte indlæg
# og skriver dem ud til skærmen.
#
# Hvis forespørgslen ikke har returneret nogle resultater, springer vi alt dette over.
#

if(count($resultat) < 1) {

  echo \"Der er ingen indl&aelig;g i gBogen\";

} else {

  for($i=0;$i<count($resultat);$i++) {

    #
    # Med extract får vi smidt værdierne i variabler
    #
   
    extract($resultat[$i]);

    #
    # Vi brugte addslashes() da vi lagde tingene i databasen så for at få det til
    # at se læseligt ud, fjerne vi dem igen med stripslashes()
    #

    $besked = stripslashes($besked);
    $navn = stripslashes($navn);
    $epost = stripslashes($epost);

    #
    # Hvis der ikke må bruges HTML fjerner vi lige alle tags med htmlentities()
    #

    if($html_p != \"t\") {
        $navn = htmlentities($navn);
        $epost = htmlentities($epost);
        $besked = htmlentities($besked);
    }

    #
    # For at vi får linjeskift i HTML også, bruger vi nl2br til at skifte alle \\n
    # ud med <br>

    $besked = nl2br($besked);

    #
    # Vi laver et simpelt check: Hvis eposten indeholder et snabel-a, så laver
    # vi det til en mailto:
    #
    # Dette er dog ingen garanti for, at eposten er gyldig.
    #

    if(ereg(\"@\", $epost)) {
        $navn = \"<a href=\\\"mailto:$epost\\\">$navn</a>\";
    }

    #
    # Så er alt klart til browseren og vi spytter en tabel ud med denne besked.
    # Hvis du vil ændre markant i udseendet af din gæstebog, så er det
    # i blokken herunder det foregår. Du skal bare beholde de givne navne i
    # <input>-tagsene.
    #
    # Vi hopper lige ud af PHP-mode lidt, så vi er fri for at escape alle gåseøjnene.
    #

?>

    <table width=\"<?php echo $tabel_bredde; ?>\" cellpadding=\"1\" cellspacing=\"0\" border=\"0\">
        <tr><td class=\"gbog-baggrund\" width=\"100%\" align=\"center\">

            <table border=\"0\" cellpadding=\"8\" cellspacing=\"0\" width=\"100%\">
                <tr><td class=\"gbog-top\" width=\"100%\">Skrevet af: <strong><?php echo $navn; ?></strong>, <?php echo $tiden; ?></td></tr>
            </table>

        </td></tr><tr><td class=\"gbog-baggrund\" align=\"center\" width=\"100%\">

            <table border=\"0\" cellpadding=\"8\" cellspacing=\"0\" width=\"100%\">
                <tr><td class=\"gbog-bund\" width=\"100%\">
                <?php echo $besked; ?>
                <p align=\"right\"><a class=\"slet\" href=\"<?php echo \"slet.php?id=$id&start_nr=$start_nr\"; ?>\">slet</a></p></td></tr>
            </table>

        </td></tr>
    </table><p />

<?php

  #
  # Vi hopper tilbage i PHP-mode.
  #
  # Her slutter loopet og PHP springer tilbage og går hele turen igennem med den næste
  # besked. Når der ikke er flere indlæg i denne omgang går PHP videre.
  #

  }

  #
  # Endelig skriver vi frem- og tilbage-links på i bunden af siden også.
  #

  echo $nav;

  #
  # Her slutter if-else-konstruktionen der fanger, om der er nogle indlæg overhovedet.
  #

}

#
# Og spytter den sidste stump HTML ud.
#

echo bund();

?>
Avatar billede barefoot Nybegynder
22. juli 2001 - 17:39 #16
Linie 107:
    <A href=\\\"$PHP_SELF?side=gbog/skriv\\\">Skriv</A>

Det er vel ikke nødvendigt at poste det hele igen?
Avatar billede connor Nybegynder
22. juli 2001 - 17:45 #17
Det første var bare et brudstykke af hele koden, og fejlen var åbenbart ikke der. Derfor blev det hele postet for at fejlen måske kunne gennemskues, for jeg kan ikke...
Avatar billede barefoot Nybegynder
22. juli 2001 - 17:51 #18
nej nej....

Jeg mente at du skulle rette linie 107 med det som jeg sendte.

Og det var ment som et spørgsmål om jeg skulle sende alt din kode igen med rettelsen eller om den ene linie var nok:))
Avatar billede connor Nybegynder
22. juli 2001 - 17:58 #19
ok beklager...

Jeg prøvede at sætte din rettelse ind, (som du kan se herover) men der virker stadig ikke.
Siden kan ikke loades, og der kommer den omtalte fejl...
Avatar billede barefoot Nybegynder
22. juli 2001 - 18:15 #20
Det kan jeg ikke se herover. Der er jo den gamle rettelse.
Her er den nye:
Linie 107:
    <A href=\\\"$PHP_SELF?side=gbog/skriv\\\">Skriv</A>
Avatar billede connor Nybegynder
22. juli 2001 - 18:24 #21
>> barefoot

Ok det var mig som ikke var helt vågen.
Nu virker det !

Som tak for din hjælp giver jeg dig 100 point, det har du fortjent...  :-)
Avatar billede barefoot Nybegynder
22. juli 2001 - 19:11 #22
oj, mange tak:-)))
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