Σύνδεση  


Ευρετήριο Δ. Συζήτησης » Web design » PHP
Νέο θέμα Απάντηση



Σελίδα 1 από 1 | [ 2 Δημοσιεύσεις ]
Προηγούμενο | Επόμενο

Συγγραφέας

Μήνυμα




Jane
Θέμα δημοσίευσης: Πρόβλημα κατά το compile
  Δημοσιεύτηκε: 31 Αύγ 2013 13:08


User image


Χωρίς σύνδεση

Εγγραφή
29 Αύγ 2013 11:43

Δημοσιεύσεις
8

 
Κατά το compile του κώδικά μου λαμβάνω απάντηση για συντακτικό λάθος σε γραμμή που εγώ δε βλέπω κάτι τετοιο. Γενικά έχω ελέγξει τον κωδικά μου πολλές φορές αλλα δυστυχώς στο συγκεκτιμένο αρχείο δεν εντόπισα τίποτα. Ο κώδικας είναι ο ακόλουθος

Κώδικας:
<?php

function do_html_header($title = '') {
  // print an HTML header

  // declare the session variables we want access to inside the function
  if (!$_SESSION['items']) {
    $_SESSION['items'] = '0';
  }
  if (!$_SESSION['total_price']) {
    $_SESSION['total_price'] = '0.00';
  }
?>


  <html>
  <head>
    <title><?php echo $title; ?></title>
    <style>
      h2 { font-family: Arial, Helvetica, sans-serif; font-size: 22px; color: red; margin: 6px }
      body { font-family: Arial, Helvetica, sans-serif; font-size: 13px }
      li, td { font-family: Arial, Helvetica, sans-serif; font-size: 13px }
      hr { color: #FF0000; width=70%; text-align=center}
      a { color: #000000 }
    </style>
  </head>
  <body>
  <table width="100%" border="0" cellspacing="0" bgcolor="#cccccc">
  <tr>
  <td rowspan="2">
  <a href="index.php"><img src="images/Mycafe.gif" alt="MyCafe" border="0"
       align="left" valign="bottom" height="55" width="325"/></a>
  </td>
  <td align="right" valign="bottom">
  <?php
     if(isset($_SESSION['manager'])) {
       echo "&nbsp;";
     } else {
       echo "Total Items = ".$_SESSION['items'];
     }
  ?>
  </td>
  <td align="right" rowspan="2" width="135">
  <?php
     if(isset($_SESSION['member'])) {
       display_button('logout.php', 'log-out', 'Log Out');
     } else {
       display_button('show_ordelist.php', 'view-orderlist', 'View Your Orderlist');
     }
  ?>
  </tr>
  <tr>
  <td align="right" valign="top">
  <?php
     if(isset($_SESSION['manager'])) {
       echo "&nbsp;";
     } else {
       echo "Total Price = $".number_format($_SESSION['total_price'],2);
     }
  ?>
  </td>
  </tr>
  </table>
<?php
  if($title) {
    do_html_heading($title);
  }
}





function do_html_footer() {
  // print an HTML footer
?>
  </body>
  </html>
<?php
}

function do_html_heading($heading) {
  // print heading
?>
  <h2><?php echo $heading; ?></h2>
<?php
}

function do_html_URL($url, $name) {
  // output URL as link and br
?>
  <a href="<?php echo $url; ?>"><?php echo $name; ?></a><br />
<?php
}

function display_categories($cat_array) {
  if (!is_array($cat_array)) {
     echo "<p>No categories currently available</p>";
     return;
  }
  echo "<ul>";
  foreach ($cat_array as $row)  {
    $url = "show_cat.php?cid=".$row['cid'];
    $title = $row['cname'];
    echo "<li>";
    do_html_url($url, $title);
    echo "</li>";
  }
  echo "</ul>";
  echo "<hr />";
}

function display_products($product_array) {
  //display all books in the array passed in
  if (!is_array($product_array)) {
    echo "<p>No products currently available in this category</p>";
  } else {
    //create table
    echo "<table width=\"100%\" border=\"0\">";

    //create a table row for each book
    foreach ($product_array as $row) {
      $url = "show_product.php?pid=".$row['pid'];
      echo "<tr><td>";
      if (@file_exists("images/".$row['pid'].".jpg")) {
        $title = "<img src=\"images/".$row['pid'].".jpg\"
                  style=\"border: 1px solid black\"/>";
        do_html_url($url, $title);
      } else {
        echo "&nbsp;";
      }
      echo "</td><td>";
      $title = $row['title']." by ".$row['cid'];
      do_html_url($url, $title);
      echo "</td></tr>";
    }

    echo "</table>";
  }

  echo "<hr />";
}

function display_product_details($product) {
  // display all details about this product
  if (is_array($product)) {
    echo "<table><tr>";
    //display the picture if there is one
    if (@file_exists("images/".$product['pid'].".jpg"))  {
      $size = GetImageSize("images/".$product['pid'].".jpg");
      if(($size[0] > 0) && ($size[1] > 0)) {
        echo "<td><img src=\"images/".$product['pid'].".jpg\"
              style=\"border: 1px solid black\"/></td>";
      }
    }
    echo "<td><ul>";
    echo "<li><strong>Title:</strong> ";
    echo $product['title'];
    echo "</li><li><strong>Category:</strong> ";
    echo $product['cid'];
    echo "</li><li><strong>Our Price:</strong> ";
    echo number_format($product['price'], 2);
    echo "</li><li><strong>Description:</strong> ";
    echo $product['descr'];
    echo "</li></ul></td></tr></table>";
  } else {
    echo "<p>The details of this product cannot be displayed at this time.</p>";
  }
  echo "<hr />";
}

function display_checkout_form() {
  //display the form that asks for name and address
?>
  <br />
  <table border="0" width="100%" cellspacing="0">
  <form action="complete.php" method="post">
  <tr><th colspan="2" bgcolor="#cccccc">Your Details</th></tr>
  <tr>
    <td>Title</td>
    <td><input type="text" name="title" value="" maxlength="40" size="40"/></td>
   <?php $query = "SELECT title FROM products";
            $result = mysql_query($sql);
         ?>
   <select name='title'>;
         <?php while ($row = mysql_fetch_array($result)) {
         ?>
    <option value="<?php echo $row['title']; ?>">
         <?php echo $row['title']; ?>
         </option>;
         <?php   }
         ?></select>
   <br /><br />
  </tr>

 <tr>
  <td>Quantity</td>
    <td><input type="text" name="quantity" value="" maxlength="20" size="40"/></td>
   <?php
          for ($i=1; $i<=20; $i++)
          {
     ?>
    <option value="<?php echo $i;?>"><?php echo $i;?></option>
  </tr>
 
 
 
 
  <tr>
 <td colspan="2" align="center"><p><strong>Please press Complete Ordering to confirm
         your purchase, or Continue Ordering to add or remove items.</strong></p>
     <?php display_form_button("complete", "Complete Ordering"); ?>
    </td>
  </tr>
  </form>
  </table><hr />
<?php
}


function display_orderlist($orderlist, $change = true, $images = 1) {
// display items in ordering list
  // optionally allow changes (true or false)
  // optionally include images (1 - yes, 0 - no)

   echo "<table border=\"0\" width=\"100%\" cellspacing=\"0\">
         <form action=\"show_orderlist.php\" method=\"post\">
         <tr><th colspan=\"".(1 + $images)."\" bgcolor=\"#cccccc\">Item</th>
         <th bgcolor=\"#cccccc\">Price</th>
         <th bgcolor=\"#cccccc\">Quantity</th>
         <th bgcolor=\"#cccccc\">Total Price</th>
         </tr>";

  //display each item as a table row
  foreach ($orderlist as $pid => $qty)  {
    $book = get_product_details($pid);
    echo "<tr>";
    if($images == true) {
      echo "<td align=\"left\">";
      if (file_exists("images/".$pid.".jpg")) {
         $size = GetImageSize("images/".$pid.".jpg");
         if(($size[0] > 0) && ($size[1] > 0)) {
           echo "<img src=\"images/".$pid.".jpg\"
                  style=\"border: 1px solid black\"
                  width=\"".($size[0]/3)."\"
                  height=\"".($size[1]/3)."\"/>";
         }
      } else {
         echo "&nbsp;";
      }
      echo "</td>";
    }
    echo "<td align=\"left\">
          <a href=\"show_product.php?pid=".$pid."\">".$product['title']."</a>
          by ".$product['cid']."</td>
          <td align=\"center\">\$".number_format($product['price'], 2)."</td>
          <td align=\"center\">";

    // if we allow changes, quantities are in text boxes
    if ($change == true) {
      echo "<input type=\"text\" name=\"".$pid."\" value=\"".$qty."\" size=\"3\">";
    } else {
      echo $qty;
    }
    echo "</td><td align=\"center\">\$".number_format($product['price']*$qty,2)."</td></tr>\n";
  }
  // display total row
  echo "<tr>
        <th colspan=\"".(2+$images)."\" bgcolor=\"#cccccc\">&nbsp;</td>
        <th align=\"center\" bgcolor=\"#cccccc\">".$_SESSION['items']."</th>
        <th align=\"center\" bgcolor=\"#cccccc\">
            \$".number_format($_SESSION['total_price'], 2)."
        </th>
        </tr>";

  // display save change button
  if($change == true) {
    echo "<tr>
          <td colspan=\"".(2+$images)."\">&nbsp;</td>
          <td align=\"center\">
             <input type=\"hidden\" name=\"save\" value=\"true\"/>
             <input type=\"image\" src=\"images/save-changes.gif\"
                    border=\"0\" alt=\"Save Changes\"/>
          </td>
          <td>&nbsp;</td>
          </tr>";
  }
  echo "</form></table>";
}


function display_login_form() {
  // dispaly form asking for name and password
?>
 <form method="post" action="member.php">
 <table bgcolor="#cccccc">
   <tr>
     <td>Username:</td>
     <td><input type="text" name="username"/></td></tr>
   <tr>
     <td>Password:</td>
     <td><input type="password" name="password"/></td></tr>
   <tr>
     <td colspan="2" align="center">
     <input type="submit" value="Log in"/></td></tr>
   <tr>
 </table></form>
<?php
}


function display_manager_menu() {
?>
<br />
<a href="index.php">Go to main site</a><br />
<a href="insert_category_form.php">Add a new category</a><br />
<a href="insert_product_form.php">Add a new product</a><br />
<a href="insert_servers_form.php">Add a new server</a><br />
<?php
}

function display_button($target, $image, $alt) {
  echo "<div align=\"center\"><a href=\"".$target."\">
          <img src=\"images/".$image.".gif\"
           alt=\"".$alt."\" border=\"0\" height=\"50\"
           width=\"135\"/></a></div>";
}

function display_form_button($image, $alt) {
  echo "<div align=\"center\"><input type=\"image\"
           src=\"images/".$image.".gif\"
           alt=\"".$alt."\" border=\"0\" height=\"50\"
           width=\"135\"/></div>";
}

?>


Το σφάλμα τοποθετείται από τον compiler στην τελευταία γραμμή του κώδικα:
Parse error: syntax error, unexpected end of file in C:\wamp\www\output_fns.php on line 337
Κάποια ιδέα;


 


 




merianos
Θέμα δημοσίευσης: Re: Πρόβλημα κατά το compile
  Δημοσιεύτηκε: 02 Σεπ 2013 09:34


Άβαταρ μέλους


Χωρίς σύνδεση

Εγγραφή
11 Μαρ 2010 18:46

Δημοσιεύσεις
94

Τοποθεσία
Κέρκυρα

 
Αρχικά να σε ενημερώσω πως η PHP δεν κάνει compile τον κώδικα της, αλλά τον κάνει Interpretation. Compilation γίνεται όταν μετατρέπεις των πηγαίο κώδικα από εντολές σε δυαδικά αρχεία τα οποία εκτελούνται αργότερα χωρίς τη βοήθεια του μεταγλωτιστή.

Το πρόβλημα στην περίπτωση σου, πρέπει να είναι ο κακογραμμένος κώδικας σου, από άποψη κενών χαρακτήρων, tabs, και νέες γραμμές. Προσπάθησε να διορθώσεις αυτό το πρόβλημα και ίσως να είναι ποιο εύκολη η αποσφαλμάτωση.

Σε σχετικό άρθρο που είδα, ένα χρήστης είχε ακριβώς το ίδιο πρόβλημα, και στην περίπτωσή του είχε κώδικα που έμοιαζε με τον ακόλουθο:

Κώδικας:
<?php

for($i = 1; $i < 5; ++$i)
{?>
Hello <br/ >
<?php}


Η λύση που του δόθηκε, ήταν να αφήσει τουλάχιστον ένα καινό μεταξύ των αγκυλών της for και τον php tags. Έτσι που ο κώδικας του να μοιάζει με τον ακόλουθο:

Κώδικας:
<?php

for($i = 1; $i < 5; ++$i)
{ ?>
Hello <br/ >
<?php }


Οπότε, βάση της παραπάνω λύσης, νομίζω πως η καλύτερη συγγραφή κώδικα, θα σου λύσει το πρόβλημα, ή τουλάχιστον θα είναι ποιο φανερό το σημείο στο οποίο υπάρχει το πρόβλημα.



Web Design Blog


 


 


Νέο θέμα Απάντηση



Σελίδα 1 από 1 | [ 2 Δημοσιεύσεις ]
Προηγούμενο | Επόμενο


Μέλη σε σύνδεση

Μέλη σε αυτή την Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες  

Κανόνες

Δεν μπορείτε να δημοσιεύετε νέα θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να απαντάτε σε θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επεξεργάζεστε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να διαγράφετε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επισυνάπτετε αρχεία σε αυτή τη Δ. Συζήτηση


Τελευταίες δημοσιεύσεις:  Ταξινόμηση ανά  
 


Αναζήτηση για: