Πρόβλημα με include

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Lefteris33
Δημοσιεύσεις: 93
Εγγραφή: 18 Μαρ 2010 15:10
Τοποθεσία: Δαφνη
Επικοινωνία:

Πρόβλημα με include

Δημοσίευση από Lefteris33 » 24 Μάιος 2010 16:05

Έχω μία σελίδα (indeχ.php). Με ένα[ include("user_online.php")] στο footer της σελίδας προσθέτω πληροφορίες για τους oline users.

Στο μέσο της σελίδας προσθέτω ένα php οπου προβάλει τα άρθρα.

Φτιάχνω άλλο ένα script (showcategory.php) και το δίνω με include για να μου φέρνει απο την βάση τίς κατηγορίες κάνοντας link, και δίνει το id σε κάποιο άλλο script(showkartes.php) για να προβάλει τις εγγραφές.

Δουλεύει κανονικά ο μηχανισμός με την διαφορά, οτι δεν εμφανίζονται όλα τα δεδομένα κάτω απο την εισαγωγή του include ("showcategory.php").
Όταν απενεργοποιώ το include ("showcategory.php") εμφανίζονται πάλι τα δεδομένα.
Ο κώδικας είναι ο αυτός :

************** showcategory.php****************************
<?PHP

//Connext to Database.
include("ch20_include.php");
doDB();

//Συλλογή απο τον πίνακα category.

$result = mysql_query("SELECT id, cat_name FROM category ORDER BY id ");

while ($recs = mysql_fetch_array($result, MYSQLI_ASSOC)) {
$id= $recs['id'];
$name=$recs['cat_name'];

//Add to display
$display_block1.= "
<li class=\"title-box\">-&nbsp;<a href=\"showkartes.php?id=$id\">$name</a></li>";
}
echo $display_block1;

?>
***********************************************************************
***********************************************************************

To index.php είναι έτσι:

*********************index.php******************************************

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta name="google-site-verification" content="7sJ_B0fsg1XyB7orgsAebpsBI6IF_qbdQyoo5towz-I" />
<title>Estiasis</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link href="style.css" rel="stylesheet" type="text/css" />
<link href="layout.css" rel="stylesheet" type="text/css" />
<script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="js/cufon-yui.js" type="text/javascript"></script>
<script src="js/cufon-replace.js" type="text/javascript"></script>
<script src="js/Myriad_Pro_900.font.js" type="text/javascript"></script>
<script src="js/Swis721_Cn_BT_700.font.js" type="text/javascript"></script>
<script src="js/Swis721_Cn_BT_400.font.js" type="text/javascript"></script>
<script src="/Scripts/swfobject_modified.js" type="text/javascript"></script>
<meta name="Keywords" content="estiasis, εστιαση, cafe, restaurante,bar,delivery, news, καφετεριες, εστιατορια, σουβλακια, πιτσα, κρεπες, εστίαση, εστιασι" />
<style type="text/css">
<!--
a:link {
color: #000;
text-decoration: none;
}
a:visited {
text-decoration: none;
}
a:hover {
text-decoration: underline;
color: #00f;
}
a:active {
text-decoration: none;
}
-->
</style></head>
<body id="page1">
<div id="main">
<!-- header -->
<div id="header">
<div>
<!--Valid flash version 8.0-->
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shoc ... n=8,0,0,24"
width="979" height="329">
<param name="movie" value="flash/header_v8.swf?" />
<param name="quality" value="high" />
<param name="menu" value="false" />
<!--[if !IE]> <-->
<object data="flash/header_v8.swf?button=1"
width="979" height="329" type="application/x-shockwave-flash">
<param name="quality" value="high" />
<param name="menu" value="false" />
<param name="pluginurl" value="http://www.macromedia.com/go/getflashplayer" />
FAIL (the browser should render some flash content, not this).
</object>
<!--> <![endif]-->
</object>
</div>
</div>
<p>
<!-- content -->
</p>
<p>
<div id="banner">
<div>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="905" height="83" id="FlashID" title="OrderPro">
<param name="movie" value="/flash/order.swf" />
<param name="quality" value="high" />
<param name="wmode" value="opaque" />
<param name="swfversion" value="6.0.65.0" />
<!-- This param tag prompts users with Flash Player 6.0 r65 and higher to download the latest version of Flash Player. Delete it if you don&#8217;t want users to see the prompt. -->
<param name="expressinstall" value="/Scripts/expressInstall.swf" />
<!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. -->
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="/flash/order.swf" width="905" height="83">
<!--<![endif]-->
<param name="quality" value="high" />
<param name="wmode" value="opaque" />
<param name="swfversion" value="6.0.65.0" />
<param name="expressinstall" value="/Scripts/expressInstall.swf" />
<!-- The browser displays the following alternative content for users with Flash Player 6.0 and older. -->
<div>
<h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/down ... player.gif" alt="Get Adobe Flash player" width="112" height="33" /></a></p>
</div>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
<!--<![endif]-->
</object>
</p>
<div id="content">
<div class="row-1">
<div class="wrapper">
<div class="col-1" id="leftmenu">
<div class="box">
<div class="border-top">
<div class="border-right">
<div class="border-bot">
<div class="border-left">
<div class="inner">
<p>ΚΑΤΗΓΟΡΙΕΣ</p>
<ul class="list">
<?php include ("showcategory.php"); ?>
<li class="title-box">-&nbsp;<a href="showkartes.php?id=1">Καφετέριες</a></li>
<li class="title-box">-&nbsp;<a href="#">Εξοπλισμοί</a></li>
<li class="title-box">-&nbsp;<a href="#">Εταιρίες καφέ</a></li>
<li class="title-box">-&nbsp;<a href="#">catering</a></li>
<li class="title-box">-&nbsp;<a href="#">Επίπλα</a></li>
<li class="title-box">-&nbsp;<a href="#">Σύμβουλοι</a></li>
<li class="title-box">-&nbsp;<a href="#">Ποτά</a></li>
<li class="title-box">-&nbsp;<a href="#">Ήχος - Εικόνα</a></li>
<li class="title-box">-&nbsp;<a href="#">Τρόφιμα</a></li>
<li class="title-box">-&nbsp;<a href="#">Είδη υγιεινής</a></li>
<li class="title-box">-&nbsp;<a href="#">Πληροφορική</a></li>
<li class="title-box">-&nbsp;<a href="#">Φωτισμός</a></li>
<li class="title-box">-&nbsp;<a href="#">Διακόσμηση</a></li>
<li class="title-box">-&nbsp;<a href="#">Κατασκευές</a></li>
<li class="title-box">-&nbsp;<a href="#">φοροτεχνικά</a></li>
<li class="title-box">-&nbsp;<a href="#">Μουσική</a></li>
<li class="title-box">-&nbsp;<a href="#">Πλανήτης</a></li>
<li class="title-box">-&nbsp;<a href="#">Promotion</a></li>
<li class="title-box">-&nbsp;<a href="#">Ζαχαροπλαστική</a></li>
<li class="title-box">-&nbsp;<a href="#">Συνταγές</a></li>
<li class="title-box">-&nbsp;<a href="#">Επιδότηση</a></li>
<li class="title-box">-&nbsp;<a href="#">Yellow Pages</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-2 indent">
<div class="indent1">
<h2> <span> Estiassis</span></h2>
<p>Καλωσήρθατε στο Estiassis Portal.
Μια διαδικτυακή πύλη που σκοπό έχει να αναδείξει τα πάντα γύρω από τους χώρους εστίασης. Μέσα από ένα καταιγισμό πληροφοριών στο διαδίκτυο, από θέματα που αφορούν τους χώρους μαζικής εστίασης, σκεφτήκαμε να συγκεντρώσουμε τις περισσότερες από αυτές τις πληροφορίες οργανωμένα, ώστε να παρέχουμε στους επισκέπτες ένα απλό και εύκολο τρόπο πλοήγησης στα θέματα που τους ενδιαφέρουν.
</p>
<p>
<?php
include("ch20_include.php");
doDB();

//Συλλογή απο τον πίνακα άρθρων.
$result = mysql_query("SELECT arthro_id, arthro_title, arthro_name, arthro_date,
arthro_photo, arthro_text , arthro_active, arthro_sort, arthro_page FROM
arthra WHERE arthro_active=1 AND arthro_page=1 ORDER BY arthro_date desc");

while ($recs = mysql_fetch_array($result, MYSQLI_ASSOC)) {
$id=$recs['arthro_id'];
$name= $recs['arthro_name'];
$photo=$recs['arthro_photo'];
$title=$recs['arthro_title'];
$text= $recs['arthro_text'];
$hmera= $recs['arthro_date'];

//Αλλαγή της substr για να αναγνωρίζει τα λληνικά.
mb_internal_encoding("UTF-8");
$sort_text= substr($text, 0, 190);

//add to display
$display_block.= "
<br>
<h3>$title</h3>
<br><img src=$photo width\=120\" height=\"120\" align=\"center\"></br>
<p><a href=showindex.php?id=$id>$sort_text ...Περισσότερα </a></p>
<h5>Ημερομηνία :$hmera<h5>
<hr/>
</br>";
}
echo $display_block;
?>
</p>
</div>
</div>
<div class="col-3">
<div class="form-box">
<div class="border-top">
<div class="border-left">
<div class="left-top-corner">
<div class="inner">
<h3>Members</h3>
<form action="userlogin.php " method="post" id="form1">
<ul class="list2">
<li></li>
<li><label><input name="username" type="text" id="username" value="username" /><br /></label></li>
<li><label><input name="password" type="password" id="password" maxlength="8" /></label></li>
</ul>
<p><label><input type="submit" name="submit" id="submit" value="Σύνδεση" /></label></p>
<ul class="list2">
<li><span><a href="register.php">Register here</a></span></li>
<li><span><a href="#" onclick="document.getElementById('form1').submit()">Forgot your password?</a></span></li>
<li></li>
</ul>
</form>
</div>
</div>
</div>
</div>
</div>
<div><a href="#"><img src="images/test.jpg" alt="" /></a></div>
<div class="box1">
<div class="inner">
<h3>Funny Corner</h3>

</p>
<p><a href="voting/index.php">Ψηφοφορία Online</a></p>
<p><a href="voting/index.php">Ψηφίστε για τα νέα μέτρα</a> </p>
<p>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="167" height="249" align="middle" id="FlashID2" title="Breeze">
<param name="movie" value="/flash/breeze.swf" />
<param name="quality" value="high" />
<param name="wmode" value="opaque" />
<param name="swfversion" value="6.0.65.0" />
<!-- This param tag prompts users with Flash Player 6.0 r65 and higher to download the latest version of Flash Player. Delete it if you don&#8217;t want users to see the prompt. -->
<param name="expressinstall" value="/Scripts/expressInstall.swf" />
<!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. -->
<!--[if !IE]>-->
<object data="/flash/breeze.swf" type="application/x-shockwave-flash" width="167" height="249" align="middle">
<!--<![endif]-->
<param name="quality" value="high" />
<param name="wmode" value="opaque" />
<param name="swfversion" value="6.0.65.0" />
<param name="expressinstall" value="/Scripts/expressInstall.swf" />
<!-- The browser displays the following alternative content for users with Flash Player 6.0 and older. -->
<div>
<h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/down ... player.gif" alt="Get Adobe Flash player" width="112" height="33" /></a></p>
</div>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</p>
<p>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="174" height="168" id="FlashID3" title="XENIA">
<param name="movie" value="/flash/xenia.swf" />
<param name="quality" value="high" />
<param name="wmode" value="opaque" />
<param name="swfversion" value="6.0.65.0" />
<!-- This param tag prompts users with Flash Player 6.0 r65 and higher to download the latest version of Flash Player. Delete it if you don&#8217;t want users to see the prompt. -->
<param name="expressinstall" value="/Scripts/expressInstall.swf" />
<!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. -->
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="/flash/xenia.swf" width="174" height="168">
<!--<![endif]-->
<param name="quality" value="high" />
<param name="wmode" value="opaque" />
<param name="swfversion" value="6.0.65.0" />
<param name="expressinstall" value="/Scripts/expressInstall.swf" />
<!-- The browser displays the following alternative content for users with Flash Player 6.0 and older. -->
<div>
<h4>Content on this page requires a newer version of Adobe Flash Player.</h4>
<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/down ... player.gif" alt="Get Adobe Flash player" width="112" height="33" /></a></p>
</div>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</p>
</div>
</div>
</div>
</div>
</div>
<div class="line-hor"></div>
<div class="row-2">
<div class="wrapper">
<div class="col-1">
<div class="title-box">
<h4>Cinema - Theatre<strong>Everything about art</strong></h4>
<div class="img-box"><img src="images/1page-img4.jpg" alt="" /> </div>
</div>
</div>
<div class="col-2">
<div class="title-box1">
<h4>Cafe<strong>All Around coffee</strong></h4>
<div class="img-box"><img src="images/10rest.jpg" alt="" /> </div>
</div>
</div>
<div class="col-3">
<div class="title-box2">
<h4>Restaurants<strong>where are you going</strong></h4>
<div class="img-box"><img src="images/restauranttable.jpg" alt="" /> </div>
</div>
</div>
<div class="col-4">
<div class="title-box3">
<h4>Bar - Club<strong>Entertainment </strong></h4>
<div class="img-box"><img src="images/1page-img7.jpg" alt="" /> </div>
</div>
</div>
</div>
</div>
</div>
<!-- footer -->
<div id="footer">
<div class="indent">
<ul class="footer-nav">
<li><a href="index.php">Κεντρική</a></li>
<li><a href="index-1.php">Κουζίνα - Bar</a></li>
<li><a href="index-2.php">Κοσμική Στήλη</a></li>
<li><a href="index-3.php">Παρουσιάσεις</a></li>
<li><a href="index-4.php">Τουρισμός</a></li>
<li><a href="index-5.php">Ειδήσεις</a></li>
<li><a href="index-6.php">Franchise</a></li>
<li class="index-7.html"><a href="index-7.php">Επικοινωνία</a></li>
</ul>
<p>Estiassis portal &copy; 2010 &nbsp; | &nbsp; <a href="index.html">Privacy policy</a></p>

<?php include ("user_online.php");?>

</p>
</div>
</div>
</div>
<script type="text/javascript">
Cufon.now();
swfobject.registerObject("FlashID2");
swfobject.registerObject("FlashID3");
swfobject.registerObject("FlashID");
</script>
</body>
</html>
**************************************************************************
Βοήθεια!!!

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Πρόβλημα με include

Δημοσίευση από vassilism » 24 Μάιος 2010 16:44

Δεν το έψαξα καλά αλλά είδα οτι καλέις 2 φορές την include("ch20_include.php");
Ίσως απο εκεί να ξεκινάει το πρόβλημα.

Lefteris33
Δημοσιεύσεις: 93
Εγγραφή: 18 Μαρ 2010 15:10
Τοποθεσία: Δαφνη
Επικοινωνία:

Πρόβλημα με include

Δημοσίευση από Lefteris33 » 24 Μάιος 2010 18:12

Δέν την καλώ 2 φορέςε σε ενα script, εκτός αν ενοείς οτι τα include εμπεριέχουν ένα άλλο include για την σύνδεση με την βάση δεδομένων.
Δέν νομίζω να είναι αυτό το πρόβλημα.
Lefteris Toumanidis websitepro

Lefteris33
Δημοσιεύσεις: 93
Εγγραφή: 18 Μαρ 2010 15:10
Τοποθεσία: Δαφνη
Επικοινωνία:

Πρόβλημα με include

Δημοσίευση από Lefteris33 » 24 Μάιος 2010 18:13

Θα προσπαθήσω να το αλλάξω.
Lefteris Toumanidis websitepro

Lefteris33
Δημοσιεύσεις: 93
Εγγραφή: 18 Μαρ 2010 15:10
Τοποθεσία: Δαφνη
Επικοινωνία:

Πρόβλημα με include

Δημοσίευση από Lefteris33 » 24 Μάιος 2010 18:19

Και όμως φίλε μου είχες απόλυτο δίκιο.
Έκανα αυτήν την αλλαγή στο script (showcategory.php) :
****************************************
<?PHP

//Connext to Database.
//Σύνδεση με τον server και επιλογή βάσης δεδομένων
$con = mysql_connect("localhost","user","password")
or die( 'Could not connect to DB: ' . mysql_error() );
mysql_select_db("my_db", $con) or die( mysql_error() );
mysql_query("SET NAMES 'utf8'", $con);

//Συλλογή απο τον πίνακα άρθρων.
$result = mysql_query("SELECT id, cat_name FROM category ORDER BY id ", $con) or die( mysql_error() );

while ($recs = mysql_fetch_array($result, MYSQLI_ASSOC)) {
$id= $recs['id'];
$name=$recs['cat_name'];

//Add to display
$display_block1.= "
<li class=\"title-box\">-&nbsp;<a href=\"showkartes.php?id=$id\">$name</a></li>";
}
echo $display_block1;

?>
******************************************
Lefteris Toumanidis websitepro

Lefteris33
Δημοσιεύσεις: 93
Εγγραφή: 18 Μαρ 2010 15:10
Τοποθεσία: Δαφνη
Επικοινωνία:

Πρόβλημα με include

Δημοσίευση από Lefteris33 » 24 Μάιος 2010 18:29

Ευχαριστώ πολύ!
Lefteris Toumanidis websitepro

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Πρόβλημα με include

Δημοσίευση από dva_dev » 24 Μάιος 2010 21:30

Υπάρχουν 3 τρόποι να ξεπεράσεις αυτά τα προβλήματα:
1) Προσέχεις τι κάνεις.

2) Αντί του include χρησιμοποιείς include_once

3) Χρησιμοποιείς guard definitions. π.χ.

Κώδικας: Επιλογή όλων

<?php
if &#40;!defined&#40;__FILE__&#41;&#41;
&#123;
    define &#40;__FILE__,''&#41;;

    //safe to include code here
&#125;
?>
[edit]
Και ένας 4ος που ξέχασα: Ρωτάς στο freestuff :D
[/edit]

Lefteris33
Δημοσιεύσεις: 93
Εγγραφή: 18 Μαρ 2010 15:10
Τοποθεσία: Δαφνη
Επικοινωνία:

Πρόβλημα με include

Δημοσίευση από Lefteris33 » 24 Μάιος 2010 21:48

Υπάρχουν 3 τρόποι να βοηθήσεις κάποιον.
1)Να του πείς μία λύση.
2)Να σκεφτείς μαζί του.
3)Να του πείς μία λύση και να ειρωνευτείς.

Όλα είναι θέμα παιδείας.
Όπως και να'χει το Freestuff είναι λύση!
Lefteris Toumanidis websitepro

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Πρόβλημα με include

Δημοσίευση από vassilism » 24 Μάιος 2010 21:59

Αν υπονωείς πως η απάντηση του dva_dev ήταν ειρωνική τότε σε διαβεβαιώ πως κάνεις λάθος.

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Πρόβλημα με include

Δημοσίευση από dva_dev » 24 Μάιος 2010 23:00

Φίλε Lefteris33 προτιμώ να μην απαντάω καν παρά να ειρωνεύομαι κάποιον, ή όταν απαντάω να υπάρχει κάποια ουσία. Οταν δεν κρατιέμαι να μην ειρωνευτώ και το κάνω, φαίνεται από χιλιόμετρα, δεν χρειάζεται και πολύ ψάξιμο.

Δίνοντας μια απάντηση, όσο μπορώ, προσπαθώ να αποκομίσει κάτι και ο επόμενος που θα έχει ένα αντίστοιχο πρόβλημα.
Το πρόβλημα που είχες με τη βοήθεια που σου έδωσαν τα υπόλοιπα μέλη το είχες λύσει ούτως ή άλλως, οπότε δεν υπήρχε κάτι για να σε βοηθήσει άμεσα στο συγκεκριμένο πρόβλημα. Σε κάποιο επόμενο παρόμοιο όμως;
Από την απάντηση που έδωσα, όταν τη διάβασες είναι κάτι που σου έμεινε ώστε να λύσεις το ίδιο πρόβλημα την επόμενη φορά που θα σου παρουσιαστεί; Υπάρχει κάτι που δεν το ήξερες που δεν το είχες σκεφτεί και σου έμεινε σαν γνώση ώστε να μπορείς να βρείς που είναι το πρόβλημα και όχι απλώς να το ξεπεράσεις;
Αν όχι, τότε απλώς η απάντηση μου σου είναι άχρηστη. Ισως όμως να χρειαστεί στον επόμενο που θα έχει αντίστοιχο πρόβλημα και θα ξέρει κάτι λιγότερο από αυτά που γνωρίζεις εσύ ή αυτά που γνωρίζουν όλοι όσοι απάντησαν.

Καλή συνέχεια.

Lefteris33
Δημοσιεύσεις: 93
Εγγραφή: 18 Μαρ 2010 15:10
Τοποθεσία: Δαφνη
Επικοινωνία:

Πρόβλημα με include

Δημοσίευση από Lefteris33 » 24 Μάιος 2010 23:30

...
Lefteris Toumanidis websitepro

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

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

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