Κατά το 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'; } ?>
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 " "; } 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>
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 }
Το σφάλμα τοποθετείται από τον 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. Έτσι που ο κώδικας του να μοιάζει με τον ακόλουθο:
Οπότε, βάση της παραπάνω λύσης, νομίζω πως η καλύτερη συγγραφή κώδικα, θα σου λύσει το πρόβλημα, ή τουλάχιστον θα είναι ποιο φανερό το σημείο στο οποίο υπάρχει το πρόβλημα.
Μέλη σε αυτή την Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες
Κανόνες
Δεν μπορείτε να δημοσιεύετε νέα θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να απαντάτε σε θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επεξεργάζεστε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να διαγράφετε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επισυνάπτετε αρχεία σε αυτή τη Δ. Συζήτηση