Jump to content


Photo

unexpected $ error


  • Please log in to reply
4 replies to this topic

#1 techiefreak05

techiefreak05
  • Members
  • PipPipPip
  • Advanced Member
  • 494 posts
  • LocationER, MN

Posted 12 September 2006 - 08:00 AM

i just tried the pagination tutorial on phpfreaks.com.. and it doesnt work.. i get a unexpect $ error.. heres the code i have for the pagination:

<table width="150" align="right">
<tr>
<td>
<b> Your Bulletins:</b><br>
<div class="section" width="150" align="right">			
<center> 
	        <h5 class="heading">
	            Bulletins    |<a href=postComment.php>Post Bulletin</a>|
	        </h5>
</center>
<?php
$user = $_SESSION[username];
$queryF="SELECT * FROM friends WHERE `username` = '$_SESSION[username]' AND `accepted` = 'yes'";
$resultF=mysql_query($queryF);
while($array=mysql_fetch_assoc($resultF)){
$poster=$array['friend'];

$limit = 5;


if(empty($bpage)){    // Checks if the $page variable is empty (not set)
        $bpage = 1;      // If it is empty, we're on page 1
    }

    $limitvalue = $bpage * $limit - ($limit); 
    // Ex: (2 * 25) - 25 = 25 <- data starts at 25


$queryB="SELECT count(*) FROM `bulletins` WHERE `from` = '$poster' ORDER by 'id' DESC LIMIT $limitvalue, $limit";

$resultB=mysql_query($queryB);

$totalrows = mysql_num_rows($resultB);  

    if(mysql_num_rows($resultB) == 0){
        echo("No Bulletins have been posted!");
    }
    
while($row = mysql_fetch_array($resultB)){ 
if($bpage != 1){ 
        $pageprev = $bpage--;
        // Fancy way of subtracting 1 from $page
        
        echo("<a href=\"$PHP_SELF&page=$pageprev\">PREV".$limit."</a> ");  
        /* Tip: It is a good idea NOT to use $PHP_SELF in this link. It may work, 
but to be 99.9% sure that it will, be sure to use the actual name of the file 
this script will be running on. Also, the   adds a space to the end of 
PREV, and gives some room between the numbers. */
    }else{
        echo("PREV".$limit." "); 
        // If we're on page 1, PREV is not a link

    $numofpages = $totalrows / $limit; 
    /* We divide our total amount of rows (for example 102) by the limit (25). This 

will yield 4.08, which we can round down to 4. In the next few lines, we'll 
create 4 pages, and then check to see if we have extra rows remaining for a 5th 
page. */
    
    for($i = 1; $i <= $numofpages; $i++){
    /* This for loop will add 1 to $i at the end of each pass until $i is greater 
than $numofpages (4.08). */
    
        if($i == $bpage){
            echo($i." ");
        }else{
            echo("<a href=\"$PHP_SELF&bpage=$i\">$i</a> "); 
        } 

if(($totalrows % $limit) != 0){
    /* The above statement is the key to knowing if there are remainders, and it's 
all because of the %. In PHP, C++, and other languages, the % is known as a 
Modulus. It returns the remainder after dividing two numbers. If there is no 
remainder, it returns zero. In our example, it will return 0.8 */
     
        if($i == $bpage){
            echo($i." ");
        }else{
            echo("<a href=\"$PHP_SELF&bpage=$i\">$i</a> ");
        }
        /* This is the exact statement that turns pages into link form that is used 

above */ 
    }   // Ends the if statement
     


    if(($totalrows - ($limit * $bpage)) > 0){
    /* This statement checks to see if there are more rows remaining, meaning there 
are pages in front of the current one. */
    
        $pagenext   = $bpage++;
        // Fancy way of adding 1 to page
         
        echo("<a href=\"$PHP_SELF?bpage=$pagenext\">NEXT".$limit."</a>");
        /* Since there are pages remaining, this outputs NEXT in link form. */ 
    }else{
        echo("NEXT".$limit); 
        /* If we're on the last page possible, NEXT will NOT be displayed in link 
form. */
    }
    
    mysql_free_result($result);
    /* This line is not required, since MySQL will free the result after all 
scripts have finished executing; however, it's a nice little backup. */ 

echo "<table bgcolor=#99CCFF width=200><tr bgcolor=#548099><td height=28><b><font color=white>From: <a href='getInfo.php?user=" . $row['from'] . "'>" . $row['from'] . "</a></b><br><b>Date: </b>" .$row['date'];
 echo "</b></font></td></tr></table>";
 echo "<table bgcolor=#99CCFF width=200><tr bgcolor=#356B8B><td height=25><center><a href=\"showBulletin.php?id=".$row['id']."\">Subject:  ".$row['subject']."</a></center>";
  echo "</td></tr></table><hr>";
 }
}
?>
</div>
</td>
</tr>
</table>

Link shortener with advanced, detailed statistics:

http://tyny.us/

#2 Jenk

Jenk
  • Members
  • PipPipPip
  • Advanced Member
  • 778 posts

Posted 12 September 2006 - 08:15 AM

$user = $_SESSION[username];
should be
$user = $_SESSION['username'];
for a start.

as for the error message.. please, it's not hard to fix those..

#3 techiefreak05

techiefreak05
  • Members
  • PipPipPip
  • Advanced Member
  • 494 posts
  • LocationER, MN

Posted 12 September 2006 - 08:21 AM

that cant be the problem .. thats NEVER caused me problems in the past
Link shortener with advanced, detailed statistics:

http://tyny.us/

#4 Jenk

Jenk
  • Members
  • PipPipPip
  • Advanced Member
  • 778 posts

Posted 12 September 2006 - 08:27 AM

It's invalid syntax, so it needs fixing. I never said it was anything to do with the problem.

Don't argue with me about it, argue with PHP ;) Turn E_NOTICE on and wait for the "Notice: Use of undefined constant username - assumed 'username'" error ;)

#5 radalin

radalin
  • Members
  • PipPipPip
  • Advanced Member
  • 179 posts

Posted 12 September 2006 - 09:43 AM

did you tried to open this with a php editor? It will probably highlight the error code. This looks like a missing dot or semi colon problem.
Roy Simkes
Yet Another Parkyeri Developer




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users