parse error in mijn script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Peter Lopsen

Peter Lopsen

19/11/2009 13:05:00
Quote Anchor link
Dag allen,

Ik ben ervaren in html/css en probeer nu het een en ander in php te doen en te leren,

voor een eigen website ben ik bezig met een simpele cms, de eerste functies hiervoor (het ophalen en laden van artikelen in mijn database) lukt me wel,
maar nu probeer ik in een aparte div een link te plaatsen om het hele artikel te zien:

het volgende staat in mijn cms_class (die bij het begin geladen wordt):

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function get_wholetext1($id = ''){
        if($id != ""):
            $id = mysql_real_escape_string($id);
            $sql = "SELECT * FROM article article ORDER BY id DESC LIMIT 0, 1 WHERE id = '$id'";
        else:
            echo 'view whole article.';
        endif;
        $res = mysql_query($sql) or die(mysql_error());
        if(mysql_num_rows($res) != 0):
            while($row = mysql_fetch_assoc($res)) {
                echo '<a href="article.php?id=' . $row['id'] . '">' . $row['id'] . '</a>';
                echo 'view whole article.';
            }
        else:
            echo 'ERROR! This page does not exist, please contact one of the moderators!';
        endif;
    }


en dit staat in mijn index.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<div class="articlemore"><?php $obj->get_wholetext1()?></div>


Daarnaast is er dus de div voor het korte artikel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<div class="articletext">
<?php $obj->get_articletext1()?>
</div>


en de daarbij behorende cms_class.php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
function get_articletext1(){
        $sql = "SELECT text FROM article ORDER BY id DESC LIMIT 0, 1" ;
        $res = mysql_query($sql) or die(mysql_error());
        while($row = mysql_fetch_assoc($res)) {
        echo substr($row['text'],0,1200);
        }
    }

Het probleem is als volgt:
Hij haalt het korte artikel goed op, maar ik krijg een error op de functie-code voor de link in de aparte div genaamd:

Parse error: syntax error, unexpected ';', expecting T_FUNCTION in SERVER\_class\cms_class.php on line 196

Nu is line 196 alleen de afsluiting van de php in cms_class.php : '?>'

Kan iemand me helpen de fout in de code te vinden, want ik breek er nu al twee dagen mijn hoofd over!

Bedankt alvast,

Met vriendelijke groet,
Peter
Gewijzigd op 01/01/1970 01:00:00 door Peter Lopsen
 
PHP hulp

PHP hulp

06/05/2024 14:24:35
 
Koen

koen

19/11/2009 13:12:00
Quote Anchor link
wil je even rond je hele code [co de] tags gebruiken?
is wat overzichtelijker
 
- SanThe -

- SanThe -

19/11/2009 13:40:00
Quote Anchor link
Je mist echo.

Je script in je post is nu niet echt leesbaar. Pas je post even aan en gebruik en tags om je code heen. Om php code zet je uiteraard dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php en ?>
Gebruik je Afbeelding knop om dit te doen.

SanThe.
 
Peter Lopsen

Peter Lopsen

19/11/2009 13:54:00
Quote Anchor link
Sorry, wist de juiste [co de] tags niet :)
 

19/11/2009 16:50:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
function get_wholetext1(!$id){
        if($id){
            $id = mysql_real_escape_string($id);
            $sql = "SELECT * FROM article article ORDER BY id DESC LIMIT 0, 1 WHERE id = ".$id."";
        }
else{
            echo 'view whole article.';
        }

        $res = mysql_query($sql) or die(mysql_error());
        if(!mysql_num_rows($res)){
            while($row = mysql_fetch_assoc($res)) {
                echo '<a href="article.php?id=' . $row['id'] . '">' . $row['id'] . '</a>';
                echo 'view whole article.';
            }
else{
            echo 'ERROR! This page does not exist, please contact one of the moderators!';
            }
    }
}

?>
Gewijzigd op 01/01/1970 01:00:00 door
 
- wes  -

- wes -

19/11/2009 17:04:00
Quote Anchor link
Je hebt een else op je while, deze moet op je if

dus even een } ertussen nog (tussen } en else)
 
Peter Lopsen

Peter Lopsen

20/11/2009 12:11:00
Quote Anchor link
bedankt voor de reacties, ik heb het op een andere manier opgelost maar loop nu tegen het volgende;

als je op de link (die in de volgende code behandeld wordt) klikt laad hij het laatste artikel, er staan echter vier artikelen op de index, en bij elk artikel zit uiteraard die link.

Dit is de url die in de index.html staat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<div class="articlemore"><?php $obj->get_wholetext4()?></div>


Dit staat in de cms_class die geladen wordt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
    function get_wholetext4(){
        $sql = "SELECT id FROM article ORDER BY id DESC LIMIT 3, 1" ;
        $res = mysql_query($sql) or die(mysql_error());
        while($row = mysql_fetch_assoc($res)) {
        echo "<a href='article.php?id=" . $row["id"] . "'> view whole article. </a>";
        }
    }


dan in article.php wordt de volgende geladen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
  function get_articlefulltext(){
        $sql = "SELECT * FROM article";
        $res = mysql_query($sql) or die(mysql_error());
        while($row = mysql_fetch_assoc($res)) {
        echo substr($row['text'],0);
        }
    }


met uiteraard weer de daarbijbehorende get object in article.php

Zoals net al gezegd moet hij het artikel openen waarbij wordt geklikt op de homepage, en niet het laatste.

Alvast bedankt
 
- SanThe -

- SanThe -

20/11/2009 12:15:00
Quote Anchor link
Dan zal je de $_GET-waarde moeten gebruiken.
 
Peter Lopsen

Peter Lopsen

20/11/2009 12:22:00
Quote Anchor link
thx, ik ga ff zoeken en spelen, kom ik er niet uit laat ik het wel weer weten! :)
 
Peter Lopsen

Peter Lopsen

20/11/2009 12:27:00
Quote Anchor link
thx, ik ga ff zoeken en spelen, kom ik er niet uit laat ik het wel weer weten! :)

**EDIT**
moeilijk moeilijk :P

Gelieve Niet Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.

SanThe.
Gewijzigd op 01/01/1970 01:00:00 door Peter Lopsen
 
Peter Lopsen

Peter Lopsen

20/11/2009 12:33:00
Quote Anchor link
opgelost, topic kan gesloten worden! bedankt
Gewijzigd op 01/01/1970 01:00:00 door Peter Lopsen
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.