PDA

View Full Version : مشکل در شی گرایی



mohammadreza0123
یک شنبه 06 مهر 1393, 08:15 صبح
سلام دوستان

من تازه دیروز با مفهوم شی گرایی آشنا شدم

یه کلاس تعریف کردم در فایلی به نام database.class.php به صورت زیر




<?php

class database
{

protected $link,$result,$numRows;
public function construct($server,$username,$password,$db)
{
$this->link=mysql_connect($server,$username,$password);
mysql_select_db($db,$this->link);
}
}
?>



از این کلاس انتظار دارم که با استفاده از این بشه به دیتا بیس متصل شد

بعد یه فایل config.php دارم که توش اتصال به دیتابیس رو نوشتم با استفاده از کلاس که به صورت زیر است:



<?php


require_once('database.class.php');
$server_name="localhost";
$server_username="root";
$server_password="";
$database_name="cms";
$db=new database($server_name,$server_username,$server_pas sword,$database_name);

mysql_query("set names utf8");
mysql_query("set charset utf8");
?>



حالا یه صفحه که از قبل داشتم و بدون استفاده از کلاس قبلا به دیتابیس وصل بود به صورت زیره:




<table cellspacing="0" align="center" style="border:1px solid #C00; margin-top:30px; margin-bottom:10px;">
<tr class="tanzim_tbl_menu_header">
<td width="80">ردیف</td>
<td width="300">عنوان منو</td>
<td width="100">جا به جایی</td>
<td width="130">مشاهده زیر منو</td>
<td width="100">عملیات</td>
</tr>

<?php
require_once('database.class.php');
include '../config.php';
$q=mysql_query("select * from tblmenu order by position");

$i=0;
while($row=mysql_fetch_assoc($q))
{

$i++;
?>
<tr class="tanzim_tbl_menu_content">
<td style="text-align:center;"><?php echo $i; ?></td>
<td><?php echo $row["menu_name"]; ?></td>
<td style="text-align:center"><a onclick="changePosition(<?php echo $row['menu_id']?>,<?php echo $row['position']?>)"><img src="../images/3.gif" style="cursor:pointer"/></a></td>
<td style="text-align:center"><a onclick="zir_menu(<?php echo $row["menu_id"]; ?>)"><img src="../images/5.png" style="cursor:pointer" /></a></td>
<td style="text-align:center"><a onclick="edit_menu(<?php echo $row["menu_id"]?>)"><img src="../images/6.gif" title="ویرایش" style="cursor:pointer" /></a>&nbsp;&nbsp;<a onclick="del_cat(<?php echo $row['menu_id']?>,<?php echo $row['position']?>)"><img src="../images/7.gif" title="حذف" style="cursor:pointer;"/></a></td>
</tr>

<?php
}
?>
</table>



من فقط فایل config که قبلا کدش به صورت زیر بود:




$server_name="localhost";
$server_username="root";
$server_password="";
$database_name="cms";
$connect_server=mysql_connect($server_name,$server _username,$server_password) or exit("error in connet to server");
if($connect_server)
{
mysql_select_db($database_name,$connect_server);
}
else
{
echo "error in connet to database";
}
mysql_query("set names utf8");
mysql_query("set charset utf8")



رو به همون حالت که گفتم تغییر دادم
و انتظار دارم توو اون صفحه که از قبل یه سری اطلاعات رو نشون میداد بازم نشون بده

اما ارور میده به صورت زیر


Warning: require_once(database.class.php) [function.require-once (http://localhost:8081/novinpardaz/categories/function.require-once)]: failed to open stream: No such file or directory in C:\wamp\www\novinpardaz\categories\categories.php on line 2

Fatal error: require_once() [function.require (http://localhost:8081/novinpardaz/categories/function.require)]: Failed opening required 'database.class.php' (include_path='.;C:\php5\pear') in C:\wamp\www\novinpardaz\categories\categories.php on line 2

alireza.stack
یک شنبه 06 مهر 1393, 08:33 صبح
سلام دوستان

اما ارور میده به صورت زیر


Warning: require_once(database.class.php) [function.require-once (http://localhost:8081/novinpardaz/categories/function.require-once)]: failed to open stream: No such file or directory in C:\wamp\www\novinpardaz\categories\categories.php on line 2

Fatal error: require_once() [function.require (http://localhost:8081/novinpardaz/categories/function.require)]: Failed opening required 'database.class.php' (include_path='.;C:\php5\pear') in C:\wamp\www\novinpardaz\categories\categories.php on line 2

فایل کانفیگ و فایل database.class.php در یک مسیر قرار ندارند! احتمالا یک پوشه بالاتر و یا پایین تر قرار دارند و موقع include نمی تواند فایل را پیدا کند. ربطی به کد شما ندارد چون کلاس رو درست تعریف کرده اید.